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%是圖形卡驅動程序)
定義「奇怪」 - 運行時錯誤?視覺不正確? – 2011-12-17 06:57:46