vertex shader和fragment shader其实基本上是用网上现成的代码,只是修改了fragment shader的部分代码。但debug这个程序时碰到好多问题,可能是因为用到了好多Cg Runtime的函数,最开始时没有显示输出,现在都应该调试好了。
简单总结一下:
- 下载的shader代码有些问题,后来通过添加error callback函数查到了错误;
- Cg toolkit document可能有些问题,arbvp1部分写了glstate.matrix.mvp,而实际用的时候应该是state.matrix.mvp。就这个问题让我荒废了10个小时以上,最后找到了其他人的代码才知道是这个错误了。这个document真是害死人了。(难道是我没有领会document的精神?)
- 单独运行编译好的prog3.exe(debug)时,出现莫名其妙的问题。在不同的机子上显示不同的颜色,发现原来是读数据出错了,但是在VS的IDE里debug运行却没有问题,不知道怎么回事?最后编译release version的代码,在各个机子上运行就正常了,无语。。。
- 编译时出现link error,选择multi-threaded就好了
- 在我的nvidia 7900GTX运行很慢,慢的难以理解;但在我的laptop的ati x1300上却运行的没一点问题,怀疑是驱动问题,明天到lab去升级一下驱动试试。。
刚才升级驱动后,屏幕的resolution乱掉了,想添加新的resolution一直都报错,折腾了1个多小时。只好又downgrade,重新升级,要求重起时我没理它,这时添加新的resolution,重起花瓶,再重起就好了,程序也ok了。
strtok()实在是不怎么好用,一直出错,有的时候会把0.8读成0.0,有时碰到‘h’就停掉,实在无法理解。最后还是用其他函数代替这个。