0

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

对于我的通用顶点着色器:

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);

生成的截图如下:

在此处输入图像描述

在此处输入图像描述

4

0 回答 0