Ho imparato OpenGL per un paio di giorni ormai, seguendo alcuni tutorial e codifica alcuni esperimenti della mia. Ma c'è una cosa che davvero non capisco e che mi impedisce di continuare. Sono stato su Google per un paio d'ore e non ho ancora trovato una risposta alla mia domanda.OpenGLES 2.0 buffer separati per i vertici, i colori e texture coordinate
Dove devo specificare ogni valore di colore separato e coordinata della texture per ogni vertice individuo? Dovrebbero quelle proprietà sempre essere incluso nello stesso array (struct) le posizioni dei vertici? Così:
const Vertex Vertices[] = {
// Front
{{1, -1, 0}, {1, 0, 0, 1}, {TEX_COORD_MAX, 0}},
{{1, 1, 0}, {0, 1, 0, 1}, {TEX_COORD_MAX, TEX_COORD_MAX}},
{{-1, 1, 0}, {0, 0, 1, 1}, {0, TEX_COORD_MAX}},
{{-1, -1, 0}, {0, 0, 0, 1}, {0, 0}},
...
Oppure esiste un modo per inserire valori di colore e coordinate di trama in array separati? Ma allora sorge la domanda: Come chiamo glDrawElements
con gli array separati?
Nel caso ti stia chiedendo perché voglio separare questi valori: attualmente sto creando il mio parser .obj in obj-c e mi chiedevo: cosa succede se carichi un modello senza una trama e vuoi solo mostrare un colore sull'oggetto? Oppure: cosa succede se vuoi caricare un modello con solo una trama mappata ad esso ma nessun colore separato per vertice? E: non sta mettendo i valori del colore e le coordinate delle texture gonfiano la struttura del vertice con troppi dati.
cristallino! ;) – polyclick