OpenGL尝试翻译对象,但相机也翻译,我不需要

时间:2016-01-17 14:11:31

标签: c++ opengl matrix translation

我正在尝试翻译云纹理。然而,相机也翻译了这种方式,我不想要的。所以只是移动云,没有别的动作。

我如何翻译云:

MatrixID = glGetUniformLocation(programID, "MVP");
transID = glGetUniformLocation(programID, "transformation");

glm::mat4 translate = glm::translate(glm::mat4(1.f), glm::vec3(cloudTranslation, 0.0f, 0.0f));
glUniformMatrix4fv(transID, 1, GL_FALSE, 
glm::value_ptr(translate));
cloudTranslation += 1.0f;

顶点着色器:

#version 330 core

layout(location = 0) in vec3 position;
layout(location = 1) in vec2 uvVerts;

out vec2 uv;

uniform mat4 MVP;
uniform mat4 transformation;

void main(){
    gl_Position =  MVP * transformation * vec4(position,1);
    uv = uvVerts;
}

我希望任何人都能看到问题。

注意: 是的,我将MVP(模型视图投影矩阵)与变换矩阵相乘,因为否则我甚至不知道如何移动云。

我希望我足够清楚。

1 个答案:

答案 0 :(得分:2)

好的我修好了,我忘了将MVP矩阵的矩阵相乘......