Estoy escribiendo un motor de juego, y cuando uso una cámara de perspectiva me sale una pantalla negra. No voy a preguntar exactamente por qué esto se debe a que habría mucho código para compartir y, francamente, creo que es una pregunta un tanto mezquina incluso para molestarlos a todos.
El problema es que no sé cómo depurarlo. Todo lo que cambia es mi matriz de proyección, y si mi matriz de proyección se ve bien, no sé por qué no funciona. Lo ideal sería imprimir los valores de varias cosas a medida que el sombreador hizo sus cálculos, pero GLSL no tiene la función printf ().
Entonces mi pregunta es: ¿cómo depuro mi problema? Lo único que se me ocurre es verificar tantos valores como pueda del lado del cliente y luego programar por permutación, pero lo hice y no llegué a ninguna parte. ¿Hay alguna manera de ver lo que sucede en la tarjeta de video? ¿Existe una técnica completamente diferente que podría estar usando?
Estoy usando GLSL versión 420 (y características específicas de esa versión), por lo que no creo que glslDevil sea una opción, teniendo en cuenta que se actualizó por última vez en 2010.
EDITAR
Logré resolver mi problema a través de una depuración completamente no relacionada.