模型的阴影随模型旋转

时间:2014-05-11 02:22:06

标签: c++ opengl lighting shadow-mapping

在我的场景中,我有一些在定向光下渲染的模型。我目前有一个模型旋转它自己的轴和平移,但我遇到的问题是该模型上的阴影没有正确投影。只有不旋转的型号才能在正确位置产生阴影。我如何更新灯光才能正确投影?

对于我的一般顶点着色器:

gl_Position = MVP * vec4(Translation + (Rotate * vec4(Position, 1.0)).xyz, 1.0);

表示我的阴影顶点着色器:

gl_Position = gWVP * vec4(Position, 1.0);
TexCoordOut = TexCoord;

在我的构造函数中,我按原样初始化定向光:

m_directionalLight.Color = COLOR_DAY_CLEARBLUE; // Light color
m_directionalLight.AmbientIntensity = 0.1f;
m_directionalLight.DiffuseIntensity = 1.005f;
m_directionalLight.Direction = glm::vec3(-1.0f, 1.0, 0.0);

生成的屏幕截图如下:

enter image description here

enter image description here

0 个答案:

没有答案