不明白顶点着色器转换

Don't understand Vertex Shader Translation

本文关键字:转换 明白 顶点      更新时间:2023-10-16

我需要通过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,
}

我更喜欢发送一个翻译矩阵。

着色器代码:

uniform mat4 trans;
attribute vec3 vertex;
void main()
{
    gl_Position = trans * vec4(vertex, 1.0);
}