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