现在的位置: 首页 > 综合 > 正文

恶搞的NVIDIA驱动

2013年04月18日 ⁄ 综合 ⁄ 共 841字 ⁄ 字号 评论关闭
昨天做水波,遇到一个十分可恶的bug。
程序在笔记本的84.xx驱动下十分正常。
在台式机的6600显卡,84.xx驱动下工作基本正常,但是水波还是能看到的,但是如果shader所在路径不是很深的话,同一个VS链接到不同的PS会报错(这个错误只在通过expoler来启动release版才会碰到,调试器里启动不会。Debug版本也不会)。
如果把driver升级到91.47。则什么都没有了。glGetProgramiv去取link后的错误信息则取不到任何东西。很是奇怪。

 

弄了我一天一夜。没明白怎么回事。
最后检查了一下两个shader,发现代码如下:
VS: file name (Simple1.vs) 
content: (copyed from RenderMonkey)

varying vec2 Texcoord;
void main( void )
{
       gl_Position = ftransform();
       gl_FrontColor = gl_Color;
       Texcoord = gl_MultiTexCoord0.xy; 
}

================
PS: file name (wavespread.ps)
Content: (write myself to calculate the water wave.

uniform sampler2D Texture0;
uniform vec4 pixel_dim;
uniform float fFrameTime;
varying vec2 texCoord;
void main(void)
{
         ...... 
}

注意两个varying vec2 texCoord;
这样两个shader在84.xx的驱动上竟然能正常工作。。。真是faint...... 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1329547

抱歉!评论已关闭.