从 Viewport3D 捕获位图时出现伪影?

Artifacts when capturing bitmap from Viewport3D?

我正在尝试从 WPF 应用程序中的 Viewport3D 元素捕获图像。当视口中的 3D 模型相对靠近相机时效果很好,但如果我缩小,就会开始出现伪影。这似乎是某种透视的东西,但我不确定为什么。模型似乎越放大越扁平。

我使用 Helix Toolkit 作为包装 3D 内容的框架,所以我的第一次尝试是使用 Viewport3DHelper.SaveBitmap() 进行捕捉,之后我尝试使用更通用的 UIElement 方法使用 RenderTargetBitmap 并通过 PngBitmapEncoder 将其写入磁盘。这些产生了相同的结果。

我的相机是 PerspectiveCamera,我在其中设置位置、观察方向、向上方向和远平面距离(在尝试解决此问题之前我没有更改)。

如有任何想法或建议,我们将不胜感激。

编辑:请注意,使用 OrthographicCamera.

时不会出现此问题

尽量减少远平面距离或增加近平面距离