a fini di apprendimento ho decidere di elaborare una sfera con 3 metodiIBO peggio di GL_TRIANGLE_STRIP?
- Visualizza la lista
- Voa VBO (GL_TRIANGLE_STRIPE)
- Vao VBO e Ibo (GL_TRIANGLES)
ho letto che l'uso ibo rende il programma più veloce, ma è proprio vero? Per una sfera di 100 fette e 100 pile il 2 ° metodo produce 40400 vertici mentre il terzo "solo" 19802.Fatto questo, salvo 20598vertices ogni 32 byte = 659136 byte.
verticesSize = (slices * 4) * (stack + 1);
IBO vertici Dimensione = (fette * 2) * (pile-1) +2;
Tuttavia ho bisogno di fare serie di indici che in questo caso è una dimensione di 118.800 (numero di indici necessari per creare tutte le facce) * 4 (dimensione unsigned int) = 475200 byte! Mentre 2nd metodi rende 1000 sfere con 15 fps, il 3 ° rende 1000 con malapena 6pfs
- Vuol conversione indici matrice da GL_TRIANGLES a GL_TRIANGLE_STRIP fornirà più efficiente metodo poi 2a metodo?
- Il rendering di sfera utilizzando ibo è una cattiva idea?
- Perché è più lento? L'ordine nell'array degli indici ha qualche problema?
O forse ho scritto il mio codice completamente sbagliato e che per questo si fa fatica così tanto :( Se qualcuno è interessato, ecco il mio codice http://pastebin.com/raw.php?i=74jLKV5M
L'ordine degli indici può e ha importanza, ha a che fare con la cache di recupero dei vertici. Ma potrebbe non essere così, fammi controllare il tuo codice e tornare da te – Hannesh