2011-12-17 76 views
1

我嘗試將值發送給GLSL,int正好,但浮動出來奇怪。無法將浮點值傳遞給GLSL?

Ubuntu的10.04LTS

顯卡:G105M

這裏是我的頂點着色器:

#version 110 

attribute vec4 a_vertex; 
attribute vec3 a_texCoord; 

varying vec2 v_texCoord; 

uniform float u_time; 

void main() 
{ 
    gl_Position=vec4(a_vertex.x+u_time,a_vertex.y,a_vertex.z,1); 
    v_texCoord=a_texCoord.xy; 
} 

這裏是我的C代碼:

GLint timeLoc=glGetUniformLocation(splash_screen.proHandle,"u_time"); 
glUniform1f(timeLoc,1.0); 

這裏是奇怪的事情:如果我將u_time更改爲int類型,則它可以正常工作。但是如果我帶着一個浮球走,這很奇怪。

如果我使用int,頂點x將+1,但是如果我使用float,頂點x不會改變。

我想我找到了。

我將我的程序移植到Android上,它運行良好。

這是我電腦的問題(90%是圖形卡驅動程序)

+2

定義「奇怪」 - 運行時錯誤?視覺不正確? – 2011-12-17 06:57:46

回答

1

我finall發現它。

我端口我的程序到Android,它做工精良

這是我電腦的問題(90%是圖形卡驅動程序)