今天在做opengl中的阴影的时候,感觉貌似发现了OSX+NVIDIA上的opengl的一个bug。。。
事情是这样的,由于阴影需要两个pass渲染,因此想在shader中使用subroutine,但奇怪的是在C++代码里用glUniformSubroutinesuiv没有用。怀疑了很久是自己的问题,但跟红宝书对了很多遍代码,还是发现不了问题,于是偶然发现了这个帖子:
http://www.geeks3d.com/forums/index.php?topic=3730.0
这位老兄遇到了跟我类似的问题,简单来说就是在其他电脑上都能跑对的程序,在NVIDIA GeForce GT 650M OS X 10.9就是没法设置subroutine。
这就意味着,这是个
硬件错误。但硬件错误是非常严重的吧,怎么会到现在都没有修复呢?有其他人遇到同样的情况吗?