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