dsoft20
XD:I
Messaggi: 888
Registrato: Nov 2008
Offline
|
Sto tentando di leggere un file .fbx in binario, è un cubo.
I vertices li carico come (in pseudo codice) NumeroVertici/3 (24/3 fanno 8 vertici)
E visualizzandoli i punti sono corretti
Codice con cui parso il file
Codice:
public static void loadModel(string file)
{
TextReader f = new StreamReader("aa.fbx");
string line = "";
string[] d;
while (line != null)
{
if (line.Contains("Vertices: "))
{
gLog.addLog("Vertices list found!", 0, 255, 0);
gLog.addLog(line, 255, 255, 0);
vertex = getFArray(line);
prova = new VertexPositionColor[vertex.Length / 3];
for (int i = 0; i < prova.Length; i++)
{
prova[i].Position = new Vector3(vertex[i * 3 + 0], vertex[i * 3 + 1], vertex[i * 3 + 2]);
prova[i].Color = new Color(255, 255, 0);
}
gLog.addLog("Verex loaded!", 0, 255, 0);
}
if (line.Contains("PolygonVertexIndex: "))
{
gLog.addLog("Index list found!",0,255,0);
gLog.addLog(line,255,255,0);
indicies = getIArray(line);
}
line = f.ReadLine();
}
f.Close();
}
Citazione:Vertices: -1,-1,1,-1,1,1,1,1,1,1,-1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1
Normals: -0.577350269189626,-0.577350269189626,0.577350269189626,-0.577350269189626,0.577350269189626,0.577350269189626,0.577350269189626
,0.577350269189626,0.577350269189626,0.577350269189626,-0.577350269189626,0.577350269189626,-0.577350269189626,-0.577350269189626
,-0.577350269189626,-0.577350269189626,0.577350269189626,-0.577350269189626,0.577350269189626,0.577350269189626,-0.577350269189626
,0.577350269189626,-0.577350269189626,-0.577350269189626
MaterialAssignation: "ByPolygon"
Materials: 0,0,0,0,0,0
PolygonVertexIndex: 0,3,2,-2,3,7,6,-3,0,4,7,-4,2,6,5,-2,5,6,7,-5,1,5,4,-1
Ora gli indici sono quelli dell'ultima linea, però dandoli in pasto ad XNA così come sono creano cose idiote tipo (ho provato qualsiasi tipo di rendering, dai triangle list ecc)
![[Immagine: 14obxow.jpg]](http://i54.tinypic.com/14obxow.jpg)
Quello che mi sembra strano è che ci sono indici negativi, sono sicuro che il mio errore è nel trattare gli indici.
Ho provato a cercare documentazioni su formato .fbx ma trovo praticamente niente.
Qualcuno che ha lavorato con questo formato mi potrebbe indicare fonti o dove sta l'errore?
Grazie anticipatamente
Dsoft Venti
|
|