Debugging 你们是如何调试GLSL的?
我最近试图编写一些GLSL着色器代码,但当着色器没有绘制出我所期望的内容(基本上,屏幕上的所有内容都是黑色的)时,我运气不好。以下是我尝试过的工具:Debugging 你们是如何调试GLSL的?,debugging,opengl,glsl,Debugging,Opengl,Glsl,我最近试图编写一些GLSL着色器代码,但当着色器没有绘制出我所期望的内容(基本上,屏幕上的所有内容都是黑色的)时,我运气不好。以下是我尝试过的工具: Nvidia NSight VS integration-当我启动应用程序时,它立即崩溃,尝试将其他应用程序与简单的三角形绘图结合起来,但仍然没有运气。通过互联网和Nvidia论坛搜索,似乎这是一个常见的问题,似乎没有找到任何解决方案 glslDevil-它可以启动应用程序,但在任何渲染发生之前,程序会一直退出,GL跟踪是 wglMakeCurre
wglMakeCurrent(0, 0)
wglDeleteContext(00010000)
ChildProcess exited
调用后运行另一个应用程序时发生另一次崩溃
glDeleteTexture(10314EF74)
子进程已退出
我不知道发生了什么事- 英伟达GFX 460v2
- Visual Studio 2008和2010
- 格洛
- OpenGL 2.0
printf
)
但是,当图元位于绘图区域之外时,这不会修复任何内容
否则,这是通过纯粹的推理和心理调试进行的老式编程。经过几个小时的努力,我终于让我的NSight在我的机器上工作了,我在这里写下了这个过程,希望它能帮助有类似问题的人
glTexImage2D()
glTexEnvf()
还有更多。图形调试器告诉我,我可以调用名为Nav.Launcher.exe的工具来查找应用程序中不兼容函数的列表。但是,我在硬盘中找不到该工具
希望这有帮助。你的意思是在Windows下?从一开始就正确地编写它们更容易。。。我的建议是,使用一些明显的视觉测试来检查计算是否按照他们应该修复NSight安装的方式进行。请确保在端口NSight-listens上没有任何其他侦听内容(我安装了一个名为freemake studio的东西,阻止了NSight)。更好的是,查看Nsight的日志文件,找出它崩溃的原因“屏幕上的一切都是黑色的”…您是否检查了着色器编译/链接状态/日志<代码>ARB_调试_输出?不幸的是,glslDevil已经坏了很多年了。如果您足够幸运,有一个足够老的代码库/驱动程序,它可能适合您,但由于它没有得到维护,所以很难找到完美的组合。许多总账工具都处于类似的情况,包括一些特定于供应商的工具。只要您不使用最新版本的Visual Studio(它仍然不支持VS 2013),NSight的维护就相当好。