2015-04-14 61 views
0

Quake或Source遊戲等許多關卡編輯器都使用隱式平面方程畫筆表示(3點)而不是簡單(n.x n.y n.z d)。Quake MAP畫筆

{ 
    ... 
    (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

'對齊網格'編輯可能?可能避免由於實際(或懶惰)使用浮點例程而可能出現的裂縫。 –

+0

看起來像這樣。在qbsp平面內讀取atoi(..),所以它總是整數。這確保了刷邊與網格對齊。 [鏈接](https://github.com/id-Software/Quake-2-Tools/blob/master/bsp/qbsp3/map.c) – user1188351

回答

1

雷神之錘使用平面方程和平面片面性測試,廣泛,所以雖然看起來笨拙或惱人的,如果你只是希望呈現地圖幾何,它可能是很容易的決定,使用此表示。如上所述,它允許地圖格式對平面邊使用整數座標。這意味着格式本身是「無損」的並且不受浮點舍入問題的影響。頂點座標可以以浮點或全雙精度計算。實際上,較新的BSP編譯器(q3map2,quemap等)在某些面分裂計算中確實使用雙精度。