不了解顶点着色器翻译

时间:2012-07-07 14:09:09

标签: java c++ opengl glsl

我需要通过X和Y值转换顶点。我已尝试使用我想要的翻译统一代码,但它不起作用。

translationXtranslationY被分配给制服,代码类似于:

int my_value_loc = glGetUniformLocation(shader, "translationX");
glUniform1f(my_value_loc, 10.0f);

这是我的着色器:

#version 330
uniform float translationX;
uniform float translationY;
void main(){
    gl_Position=vec4(vVertex.x+translationX, vVertex.y+translationY, 0.0,
}

1 个答案:

答案 0 :(得分:2)

我更愿意发送翻译矩阵。

着色器代码:

uniform mat4 trans;
attribute vec3 vertex;

void main()
{
    gl_Position = trans * vec4(vertex, 1.0);
}