WPF多边形消失,闪烁,Z战斗?

时间:2016-12-12 13:33:00

标签: c# wpf polygon

我正在使用3D-WPF应用程序,它同时包含非常大的3D对象。 (卫星模拟)

要同时显示它们,我必须将NearPlaneDistance设置为比FarPlaneDistance低得多的值(因子小10 ^ 9倍),这似乎是问题的根源

现在我遇到的问题是某些多边形在某些相机设置(看方向等)上消失(例如未绘制) - >当相机移动时,它会闪烁。 (Example Picture of an MWE i coded只是一个非常大的立方体和一个非常小的立方体)

我怀疑这是由Z-fighting引起的,但我不确定,因为有时候整个对象都会消失,并且对象 ModelVisual3D 之间也存在很大差异

我尝试过Near和FarPlaneDistances的各种组合,但总会遇到一些问题。

有没有办法增加z-Buffer精度或使其成为对数?

我知道维基百科建议作弊有关距离(使对象变小以模拟距离),但我想在进入之前我会问这里:)

1 个答案:

答案 0 :(得分:0)

由于这些高尺寸的浮点舍入误差,它可能是z-fighting。浮点数越大,精度越低。

您可以尝试将所有内容缩小一个数量级,以获得更高的浮点精度。只要您将所有内容均等地缩放以匹配,例如相机,位置和实体移动,这不会影响您的模拟或任何视觉效果。