典型的反射映射
標準環境映射
標準環境映射更加常用的名稱是
球形環境映射,是反射無限遠環境物體的紋理球面的套用。使用
魚眼鏡頭、預渲染或者光探頭生成球形紋理,然後將這個紋理映射到空球表面,通過計算物體上個點的光向量到達環境圖上的紋素從而確定紋素的顏色。這項技術類似於
光線跟蹤,但是由於所需物體各點的所有顏色
圖形處理單元已經預先知道,所以所需做的就是計算入射與反射角度。
1982年 Gene Miller 在 MAGI Synthavision 首次試驗了球形環境映射。在 Christine Chang 的幫助下,他在 MAGI 的停車場拍攝了一幅聖誕裝飾照片。通過將球體的照片裁減到直徑大小,他將照片映射到空球表面(參見上面的過程)。然後,他將這幅紋理用到 Ken Perlin 創建的一個
斑點狗模型上,並且將環境映射模型添加到停車場照片上。這種環境映射的技術最後在真實的環境
高動態範圍成像中的基於圖像的照明中得到了套用。
球形映射有一些明顯的限制,其中之一是,由於紋理屬性的原因,在球形映射物體的後面有一個突變點。下面的立方映射就是為了解決這個問題而開發出來的,如果能夠正確地生成與濾波,立方映射就沒有明顯的接縫,所以很顯然它是舊的球形映射的替代者,目前球形環境映射在當今的圖形套用中幾乎已經銷聲匿跡了。
立方環境映射
立方反射映射是用立方映射使得物體看起來如同在反射周圍環境的一項技術。通常,這通常使用戶外渲染中使用的skybox完成。儘管由於反射物周圍的物體無法在結果中看到,所以這並不是一個真正的反射,但是通常仍然可以達到所期望的效果。
通過確定觀察物體的
向量就可以進行立方映射反射,
照相機光線在照相機向量與物體相交的位置按照曲面法線方向進行反射,這樣傳到立方圖(cube map)取得
紋素(texel)的
反射光線在照相機看來好像位於物體表面,這樣就得到了物體的反射效果。
在實時三維計算機圖形中的套用
標準環境映射
標準環境映射是一種用來模擬光滑表面對周圍環境的反射的技術,常見的如鏡子、光亮漆面的金屬等等。這種技術的實現主要通過將一張帶有周圍環境的貼圖附在所需要表現的多邊形表面來實現的。目前在實時3D遊戲畫面渲染中經常使用的有兩種環境映射。
球形環境映射是模擬在球體表面產生環境映射的技術,通過對普通貼圖的UV坐標進行調整計算來產生在球體表面應產生的扭曲。UV的計算利用球體表面的法線來計算。
立方環境映射
如果能夠正確使用,立方映射反射或許是渲染反射表面最快的方法。為了提高渲染的速度,每個定點都要計算反射光線的位置,然後,在於這些定點相關的多邊形中對位置進行插值,這樣就可取消對每個像素的反射進行計算。