0

许多关卡编辑器,如 Quake 或 Source 游戏,使用隐式平面方程来表示刷边(3 个点)而不是简单的(nx ny nz d)。

 {
     ...
     ( 256 0 0 ) ( 256 0 1 ) ( 256 1 0 ) GROUND1_6 0 0 0 1.0 1.0
     ( 0 128 0 ) ( 0 128 1 ) ( 1 128 0 ) GROUND1_6 0 0 0 1.0 1.0
     ...
 }

这有什么原因吗?我知道它可以很容易地转换为任何形式,只是想知道他们为什么使用这种形式。它是一些浮点精度的东西吗?

4

1 回答 1

2

Quake广泛使用平面方程和平面边度测试,因此,如果您只是想渲染地图几何图形,这看起来很尴尬或烦人,但使用这种表示可能是一个非常容易的决定。如上所述,它允许地图格式使用整数坐标作为平面边。这意味着格式本身是“无损的”并且不受浮点舍入问题的影响。顶点坐标可以以浮点或全双精度计算。事实上,较新的 BSP 编译器(q3map2、quemap 等)确实使用双精度进行一些人脸分割计算。

于 2015-04-20T15:54:31.573 回答