/ / Non ho capito il file .obj [chiuso] - c ++, opengl

Non ho capito il file .obj [chiuso] - c ++, opengl

v 0.437500 0.164063 0.765625
...
vn 0.664993 -0.200752 0.719363
...
f 47//1 1//1 3//1
...
f 1//7 11//7 9//7
f 1//7 9//7 3//7

Ecco come appare il mio file obj. Potresti per favore aiutarmi a capire questo file .obj. Cosa significa ogni riga e colonna? Come lo visualizzo. Sto provando a caricare un modello usando l'API Java3D.

Link al caricamento del file .obj

glNormal3f(normals[it->norm_indices[0] -1 ].x,
normals[it->norm_indices[0] -1 ].y,
normals[it->norm_indices[0] -1 ].z);

Quindi, non potevo capire il codice di cui sopra. Voglio sapere che cosa fa esattamente il codice.

risposte:

2 per risposta № 1

normals è un std::vector contenente una struttura con x, y e z galleggianti. Questi sono gli stessi di quelli in vn linee nel file .obj. Questi sono indicizzati con indici basati su 0.

it è un iteratore di un vettore contenente strutture con vert_indices e norm_indices, questi sono gli stessi che vedrai nel f Linee. Questi sono 1 indici basati.

In questo modo è possibile ottenere la normalità di un punto ottenendo le norm_indices del viso e sottraendo 1.