0

我正在尝试渲染一个相当大的(三角形计数和跨度Viewport3DModelVisual3D,如果最后一个三角形(在模型中)离开屏幕,它就会消失MeshGeometry3D,尽管模型的其他部分仍在屏幕上。特定问题三角形在下图中以红色圈出。我说它是一个大型模型,但是当它正确渲染时,它不会降低帧速率。然而,大约有 150 个绿色拱门,都在同一个网格中。有趣的是,蓝线没有表现出同样的问题。

我可以通过将模型分解成更小的部分来解决这个问题。但是,这并不理想。

不起作用的事情:

  • 设置Viewport3D.ClipToBoundsfalse
  • 修改 FarPlaneDistanceNearPlaneDistance

值得注意的是,这是托管在WinForms.

在此处输入图像描述

编辑:我收回它,即使我分解模型,问题仍然存在,只是规模较小(每个模型的最后一个三角形必须保留在屏幕上)。

4

1 回答 1

0

我已经修复了它,但我不明白它起作用的原因。

看起来角落周围的点间距太小导致了问题。我将间距减小到 0.1 单位,这似乎可行。

如果有人知道这可能是一个问题的原因,我很想听听。

于 2017-10-27T18:15:08.437 回答