在我的场景中,我有一些在定向光下渲染的模型。我目前有一个模型旋转它自己的轴和平移,但我遇到的问题是该模型上的阴影没有正确投影。只有不旋转的型号才能在正确位置产生阴影。我如何更新灯光才能正确投影?
对于我的一般顶点着色器:
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);
生成的屏幕截图如下: