OpenGL 4 Shader Subroutines - NVIDIA/OSX bug?

妈妈说女孩子要自立自强 上海交大 学生  2014-11-23 11:28:32
今天在做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。

这就意味着,这是个硬件错误。但硬件错误是非常严重的吧,怎么会到现在都没有修复呢?有其他人遇到同样的情况吗?
...全文
678 点赞 收藏 4
写回复
4 条回复
彩阳 2015年01月22日
听说GTX6XX系列并不好。换GT7XX系列吧。
回复 点赞
kagada 2015年01月15日
你是苹果电脑啊,那我不知道行不行,我在windows下用Aida64看我的显卡对opengl的支持,opengl4.0是100%,opengl4.1是85%,我的显卡是gtx660m,比你这个要好一点,你这个打印出来的信息是不是不完整或者有误啊。
回复 点赞
引用 1 楼 I_believe328 的回复:
glUniformSubroutinesuiv 需要Opengl版本最低4.0,可能是N650M显卡驱动支持的版本<4.0
额,竟然有人回复了,好感动~不过应该不是版本的问题,我输出了显卡和GL的相关信息: GL Vendor : NVIDIA Corporation GL Renderer : NVIDIA GeForce GT 650M OpenGL Engine GL Version : 4.1 NVIDIA-8.26.28 310.40.55b01 GL Version : 4.1 GLSL Version : 4.10 应该是支持的
回复 点赞
I_believe328 2014年12月31日
glUniformSubroutinesuiv 需要Opengl版本最低4.0,可能是N650M显卡驱动支持的版本<4.0
回复 点赞
发动态
发帖子
游戏开发
创建于2007-08-27

7267

社区成员

2.3w+

社区内容

游戏开发相关内容讨论专区
社区公告
暂无公告