El otro día me puse a intentar optimizar mi render de BSP, quería probar que tal le iban los VBOs.
Antes de renderizarlo le hago el frustum culling y determino si el cluster es visible. Supuestamente llegan "pocos" triángulos al procedimiento final. Allí los paso con un glDrawArrays.
El caso es que después de meterle los VBO me renderiza más lento la escena. Y mi duda es ¿Son realmente útiles los VBO aquí? ¿El grado de optimización depende sobre todo del número de triángulos enviados (si son pocos es contraproducente)?... o he tenido que hacer algo mal...
Muchas gracias.
Un saludo.
El grado de optimización depende del número de triángulos, sí.
De todas formas, ¿cómo creas los VBOs? Supongo que cada frame "recoges" los triángulos a pintar y luego los ordenas por textura/lightmap y despues los copias al VBO. ¿Has creado VBOs con flags WRITE_ONLY y DYNAMIC?
Mira aquí:
nvidia vbo
Sólo los creo una vez, al cargar todos los vértices. No los reordeno
porque sólo estaba probando a pasarle los vértices. Los vbos que creo son
estáticos.
Un saludo.
Ok, pero ¿copias los vertices en cada frame? Si es así, no hay que usar VBOs estáticos. Además, crealos WRITEONLY.
No, no, sólo 1 vez, cuando cargo el BSP.
Gracias por el documento y la ayuda.
Un saludo.