2011-11-04 10 views
7

Quancomm Augmented Reality (QCAR) per iOS, che utilizza OpenGL ES, per visualizzare il modello 3D. Si legge diversi file:Converti il ​​modello 3D Studio Max (3DS/MAX) in QCAR SDK per il formato compatibile iOS/OpenGL ES?

  1. vertici, coordinate di texture, indici & lista normali (in formato da un file di intestazione .h, ad esempio Teapot.h)
  2. file di texture (in formato PNG)
  3. di file dello shader (di FSH e formato VSH)

la mia domanda è, come convertire un 3D Studio Max (3ds/max) file al vertices, texture coordinates, indices & normals list? Inoltre, durante il processo di conversione, il file shader può essere generato anche in base alle impostazioni nel file 3DS?

I file vengono utilizzati in QCAR SDK per iOS, versione 1.0.

A titolo di esempio, il contenuto del file è il seguente:

#ifndef _QCAR_TEAPOT_OBJECT_H_ 
#define _QCAR_TEAPOT_OBJECT_H_ 


#define NUM_TEAPOT_OBJECT_VERTEX 824 
#define NUM_TEAPOT_OBJECT_INDEX 1024 * 3 


static const float teapotVertices[NUM_TEAPOT_OBJECT_VERTEX * 3] = 
{ 
// vertices here 
}; 
static const float teapotTexCoords[NUM_TEAPOT_OBJECT_VERTEX * 2] = 
{ 
// texture coordinates here 
}; 
static const float teapotNormals[NUM_TEAPOT_OBJECT_VERTEX * 3] = 
{ 
// normals here 
}; 
static const unsigned short teapotIndices[NUM_TEAPOT_OBJECT_INDEX] = 
{ 
// indices here 
}; 

#endif 
+1

Perché file ".3ds"? ".3ds" è un formato obsoleto. La risposta può comprendere l'uso di 3dsmax stesso o è necessario che funzioni sui file dati senza l'uso di 3dsmax? –

+0

si. I file .3ds o .max vanno bene. Solo perché sono ancora disponibili molti modelli 3D gratuiti per il download online in formato .3ds. – Raptor

+0

Non hai ancora risposto se è possibile utilizzare il software 3dsmax. 3dsmax ha diversi metodi per gestire i dati di mesh, quindi ha senso sfruttare quel codice di base. –

risposta

2

credo che quello che stai cercando, è qui: 3DS to Header utility.

In risposta alla seconda domanda, le impostazioni del materiale 3DS potrebbero essere in teoria convertite in shader se qualcuno ha scritto tutti i possibili shader che 3DS può utilizzare e programmato del codice per selezionare e configurare lo shader, in base alle proprietà del materiale. Ma no, non esiste un modo diretto/semplice come farlo. Anche se, se ricordo bene, 3DS non ha troppe scelte di materiale quindi non ci dovrebbero essere troppi shader richiesti per farlo.

Problemi correlati