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 に答える