许多级别的编辑器,如Quake或Source游戏,使用隐式平面方程进行刷侧表示(3点)而非简单(n.x n.y n.z 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
...
}
这有什么理由吗?我知道它可以很容易地转换成任何形式,只是想知道为什么他们使用这种形式。它是一些浮点精度的东西吗?
答案 0 :(得分:1)
Quake使用平面方程和平面侧面测试,广泛,等等,如果您只是想要渲染地图几何图像看起来很尴尬或烦人,那么它很可能很容易决定使用这种表示。如上所述,它允许地图格式使用平面边的整数坐标。这意味着格式本身是无损的"并且不受浮点舍入问题的影响。顶点坐标可以浮点或全双精度计算。事实上,较新的BSP编译器(q3map2,quemap等)确实使用双精度进行一些面部分割计算。