0

我需要通过 X 和 Y 值来平移顶点。我已经用我想要的统一翻译尝试了下面的代码,但它不起作用。

translationX并被translationY分配到具有类似代码的制服:

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,
}
4

1 回答 1

2

我更喜欢发送翻译矩阵。

着色器代码:

uniform mat4 trans;
attribute vec3 vertex;

void main()
{
    gl_Position = trans * vec4(vertex, 1.0);
}
于 2012-07-07T14:21:40.463 回答