(Definir una macro para) facilitar la depuración de comandos OpenGL?
A veces se tarda mucho tiempo en insertar impresiones condicionales y cheques paraglGetError()
para restringir usando una forma de búsqueda binaria donde la primera llamada a la función es que OpenGL notifica un error por primera vez.
Creo que sería genial si hubiera una manera de construir una macro que pueda envolver alrededor de todas las llamadas GL que puedan fallar y que conduzcan de manera condicionalglGetError
inmediatamente despues. Al compilar para un objetivo especial puedo hacer que compruebeglGetError
con una granularidad muy alta, mientras que la compilación de una versión o depuración típica no se habilitaría (lo verificaría solo una vez por fotograma).
¿Tiene sentido hacer esto? Buscando esto un poco encuentro algunas personas que recomiendan llamarglGetError
después de cada gl-call que no sea de sorteo, que es básicamente lo mismo que estoy describiendo.
Entonces, en este caso, ¿hay algo inteligente que pueda hacer (contexto: uso GLEW) para simplificar el proceso de instrumentación de mis llamadas gl de esta manera? Sería una cantidad significativa de trabajo en este punto convertir mi código para envolver una macro alrededor de cada llamada a la función OpenGL. Lo que sería genial es si puedo hacer algo inteligente y hacer todo esto sin determinar manualmente cuáles son las secciones de código a instrumento (aunque eso también tiene ventajas potenciales ... pero no realmente. IDe Verdad no me importa el rendimiento en el momento en que estoy depurando la fuente de un error).