Estoy intentando optimizar mi render de meshes así que he decidido usar algun tipo de buffer con todo indexado.
Ahora mismo mi clase mesh tiene un array con todos los vertices, otro con todas las normales y luego uno que dice cada cara qué vertices tiene y qué normales.
He probado usando Vertex Arrays pero he descubierto que los vertex arrays obligan a que haya el mismo numero de vertices que de normales (corregidme si me equivoco), lo que significa que tengo que replicar datos, lo que para mi es una chapuza.
A mi me gustaría pasarle a opengl el array de vertices, de normales y despues uno en el que estan los indices para que los vaya sacando de los arrays. Es eso posible?
He estado mirando los VBOs pero por lo que veo la unica diferencia es que en lugar de enviar los arrays en cada iteración se suben y se dejan en memoria, con lo cual te ahorras esa transferencia cada vez. Tienen alguna mejora adicional?
¿Hay más alternativas que esten suficientemente extendidas?
Gracias.
Ahora mismo mi clase mesh tiene un array con todos los vertices, otro con todas las normales y luego uno que dice cada cara qué vertices tiene y qué normales.
He probado usando Vertex Arrays pero he descubierto que los vertex arrays obligan a que haya el mismo numero de vertices que de normales (corregidme si me equivoco), lo que significa que tengo que replicar datos, lo que para mi es una chapuza.
A mi me gustaría pasarle a opengl el array de vertices, de normales y despues uno en el que estan los indices para que los vaya sacando de los arrays. Es eso posible?
He estado mirando los VBOs pero por lo que veo la unica diferencia es que en lugar de enviar los arrays en cada iteración se suben y se dejan en memoria, con lo cual te ahorras esa transferencia cada vez. Tienen alguna mejora adicional?
¿Hay más alternativas que esten suficientemente extendidas?
Gracias.