OpenGL 4 Shader Subroutines - NVIDIA/OSX bug?

今天在做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。

这就意味着,这是个硬件错误。但硬件错误是非常严重的吧,怎么会到现在都没有修复呢?有其他人遇到同样的情况吗?
...全文
788 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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
C8051F410定时器程序 //----------------------------------------------------------------------------- // F41x_Timer0_16bitTimer.c //----------------------------------------------------------------------------- // Copyright 2006 Silicon Laboratories, Inc. // http://www.silabs.com // // Program Description: // // This program presents an example of use of the Timer0 of the C8051F41x's in // 16-bit counter/timer mode. It uses the 'F410DK as HW platform. // In this example the LED is toggled at a rate defined by the // LED_TOGGLE_RATE constant.(in milliseconds) // // The timer is set with this values and counts until an overflow when it // generates an interrupt. This interrupt reloads the timer values and toggles // the LED. // // Pinout: // // P2.1 -> LED // // all other port pins unused // // How To Test: // // 1) Open the F41x_Timer0_16bitTimer.c file in the Silicon Labs IDE. // 2) If another rate is required change LED_TOGGLE_RATE (in msec) // 3) Compile the project and download to the device. // 4) Verify the LED pins of J5 are populated on the 'F41x TB. // 5) Run the code. // 6) Check that the LED is blinking at a constant rate . // // // FID: 41X000046 // Target: C8051F41x // Tool chain: KEIL C51 7.20 / KEIL EVAL C51 // Command Line: None // // Release 1.0 // -Initial Revision (CG) // -08 Mar 2006 // //----------------------------------------------------------------------------- // Includes //----------------------------------------------------------------------------- #include // SFR declarations //----------------------------------------------------------------------------- // Global Constants //----------------------------------------------------------------------------- #define SYSCLK 24500000/8 // SYSCLK in Hz (24.5 MHz internal // oscillator / 8) // the internal oscillator has a

8,325

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧