DirectX 11 对象越靠近窗口边缘,它们就越会拉伸

DirectX 11 objects stretch the closer they are to the edge of the window

提问人: 提问时间:10/18/2023 更新时间:10/18/2023 访问量:45

问:

这是视频的链接。 有一个简单的立方体,带有旋转相机,我发现了这个问题。

所以我使用 glm 创建矩阵(也尝试了 directx 数学),对于纵横比,我使用了窗口 1920 x 1080 和他的分辨率,没有标题栏。我在UE和Unity等游戏引擎上测试了这个场景,但一切都很好。我不知道该怎么办,有什么解决办法吗?

有视图和投影矩阵(FMatrix4 是 glm::mat4x4 的 typedef):

FMatrix4 Camera::GetViewMatrix()
{
    CameraForward = Orientation;
    return glm::lookAt(CameraPosition, CameraPosition + CameraForward, CameraUp);
    //CameraPosition = FVector(-3, 0, -2);
    //return glm::lookAt(CameraPosition, FVector(0.1f,0.01f, 0.1f), CameraUp);
}

FMatrix4 Camera::GetPerspectiveMatrix()
{
    //WinProc->GetAspectRatio()
    return glm::perspective(glm::radians(CameraFOV), WinProc->GetAspectRatio(), 0.1f, 100.0f);
}

摄像机 FOV 90 度

C++ 游戏引擎 DirectX-11

评论

2赞 Botje 10/18/2023
这看起来像是将视野设置得太高的伪影。编辑您的问题以显示您如何构建投影矩阵。
1赞 Alan Birtles 10/18/2023
是的,只是普通的透视效果
0赞 10/21/2023
@Botje 已编辑。

答: 暂无答案