Estoy tratando de implementar un gráfico de escena y en todos los artículos que he encontrado se habla de la clasificación de objetos. Entonces ordenaría sus objetos por "material", por ejemplo. Hasta que me senté y comencé a implementarlo, lo tomé por sentado, porque tenía sentido. Pero ahora me pregunto qué cambia realmente la clasificación.
En mi motor, tengo un administrador para UBO, los uso para almacenar datos que se compartirán entre programas, en este momento que solo implica tiempo, cámaras y cámaras de proyección y luces (no me preocupa la gestión de las luces que afectan qué objetos ATM).
Ahora, para cada modelo, tengo que cambiar el modelo al uniforme de matriz mundial, ninguna clasificación va a cambiar eso. Entonces, ¿el salto de cambiar esta matriz a establecer también un material para cada objeto es tan malo?
Recuerdo vagamente haber leído en alguna parte que cada vez que cambia algo en la tubería, tiene que enjuagarse y eso puede causar problemas de rendimiento. Pero para cada llamada de dibujo estoy configurando un modelo para la matriz mundial de todos modos, entonces, ¿qué sentido tiene preocuparse por esto?
Por cierto, hay alguna información sobre si cambiar un uniforme y llamar a glBufferSubData es más (o menos) costoso.