当我旋转模型视图矩阵时,我的灯光位置是否保留,只有模型会旋转?

时间:2016-12-18 09:59:44

标签: opengl glsl shader glm-math phong

以下是我的代码片段,如何旋转模型视图矩阵:

mat4 modelViewMatrix;
vec3 eyePosition = vec3(0, 0, 6);
vec3 centerPosition = vec3(0, 0, 0);
vec3 upVector = vec3(0, 1, 0);
modelViewMatrix = glm::lookAt(eyePosition, centerPosition, upVector);

vec3 axis = vec3(0, 1, 0);
modelViewMatrix = glm::rotate(modelViewMatrix, rotation, axis);

据我所知,模型视图矩阵是转换矩阵,负责从模型坐标到眼睛/相机坐标系。

所以如果我有两件制服,比如:

vec4 lightPosition = vec4(15.0f, 0.0f, 0.0f, 1.0f);
vec3 lightIntensity = vec3(1.0f, 0.0f, 0.0f);

我使用GLSL计算ADS Phong着色我的模型应该旋转,但光应该保持在同一位置,对吗?

很抱歉这段代码不可编译,但我问的是一般概念,并希望这能为您提供足够的信息以便为我提供建议。谢谢!

0 个答案:

没有答案