|
|

楼主 |
发表于 2004-12-18 21:01:00
|
显示全部楼层
Re:怎么调试Cg????
今天总算可以调试了,在OPENGL下.
不知道的可以借鉴一下.
1.设置参数DEBUG
例如我的一段这样设置的.
........
const char *CgArgs[1][10] = { { "-debug" } };
VProgram = cgCreateProgramFromFile( Context,
CG_SOURCE,
".\\CgPrograms\\VpWaterSurface.cg",
VProfile, "main",
&CgArgs[0][0] );
........
2. 在SHADER程序里写上debug(x),x就是要调试的float4类型.
3. 在渲染一帧的末尾加上读BUFFER语句.
例如我的程序某句
glReadPixels(0, 0, 512, 512, GL_RGBA, GL_FLOAT, ColorBuffer );
在这里加个断点,可以从COLORBUFFER里看到x的值.
4. 在渲染一帧前加
glDisable( GL_DITHER );
这个我认为很重要,因为如果不关闭抖动,我在片段SHADER里输出的常量都有小的变化,
关闭了就OK了.
这样基本可以调试了,但不是很方便.
CG那个参考资料上说调用debug(x)程序会终断,但我试过却没有终断,不知道为什么,所以现在只有加断点. |
|