在游戲編程中,方向很重要,它們通過(guò)法向量來(lái)定義。你可能聽(tīng)說(shuō)過(guò)法線映射(normal mapping)這個(gè)詞。那是一種紋理,其中每個(gè)像素代表一個(gè)法向量,紋理在3D模型中被拉伸,光照計(jì)算會(huì)考慮到渲染后的模型的每個(gè)像素上的法向量。法線映射使最終模型的表面上可以展現(xiàn)出比沒(méi)有使用法線映射時(shí)多得多的細(xì)節(jié)。
假設(shè)有一個(gè)二維向量,它包含X元素和Y元素。可以分別使用[0,1]、[0,-1]、[-1,0]和[1,0]創(chuàng)建上、下、左、右4個(gè)向量。這創(chuàng)建了一個(gè)類似于十字的形狀。如果在上、下、左、右4個(gè)向量之間再創(chuàng)建4個(gè)法向量,就可以開始模擬圓的過(guò)程了。這是一個(gè)單位圓,即其半徑為1。圖8-11顯示了一個(gè)單位圓。如果使用3元素向量[X,Y,Z],那么就會(huì)創(chuàng)建一個(gè)單位球。如果所有向量的長(zhǎng)度都為2,那么就會(huì)創(chuàng)建半徑為2的球,以此類推。