我正在编写一个游戏引擎,当我使用透视相机时,屏幕会黑屏。我不会确切地问这是为什么,因为会有很多代码要共享,并且坦率地说,我认为即使打扰大家,这也是一个小问题。
麻烦在于我不知道如何调试它。所有更改都是我的投影矩阵,如果我的投影矩阵看起来不错,我不知道为什么它不起作用。理想情况下,我将在着色器进行计算时打印出各种东西的值,但是GLSL不方便地没有printf()函数。
所以我的问题是:如何调试我的问题?我唯一想到的就是在客户端检查尽可能多的值,然后通过置换进行编程,但是我这样做并没有成功。有什么方法可以查看视频卡中发生的情况?我可以使用一种完全不同的技术吗?
我使用的是GLSL 420版(以及该版本的特定功能),因此考虑到上次更新是2010年,我不认为glslDevil是一个选项。
编辑
我设法通过一些完全不相关的调试解决了我的问题。