¿Existe alguna manera sencilla de obtener cuantos triángulos se encuentra dibujando OpenGL en una escena? ¿o Debo hacerlo llevar la cuenta yo?
Hay utilidades que sirven para loggear las llamadas a las funciones de OpenGL. Son una dll que suplanta a la corriente de OGL y lo que hace es guardar la información de los parámetros con los que se ha llamado a las diferentes funciones. Tu programa (o cualquier app OGL que quieras testear) sigue operando igual, porque las funciones de la dll de la utilidad llaman tras guardar la info a la 'verdadera' función.
Podrías usar alguna utilidad de estas para analizar el número de llamadas a glVertex o los parámetros de glDrawElements/glDrawArrays.
Saludos.
Otra cosa que yo he pensado alguna vez es usar una especie de "Triangle Manager", es decir, tener un objeto que unicamente se dedique a recibir triángulos enviados por otros métodos, y rasterizarlos. Aparte de esto, pues podria tener otras funcionalidades, como por ejemplo, contar polígonos, ajustar niveles de detalle, etc. etc. etc.
Es algo que he pensado implementar pero como de momento no me ha hecho falta .. pues tira que te va.. pero tengo ganas ! :P a ver si un dia de estos me animo.