GPU Gems2 - 8 使用距离函数的逐像素位移贴图
【章節概覽】
?
距離貼圖(distance map)是一種在像素著色器中給對象添加小范圍位移映射的技術。這章中詳細介紹了使用距離函數的逐像素位移貼圖(Per-Pixel Displacement Mapping with Distance Functions)技術。
?
【核心要點】
?
這章中提出了距離貼圖(Distance Mapping)/距離函數(Distance Functions)的概念,是一種基于隱式曲面光線追蹤的位移映射快速迭代技術(a fast iterative technique for displacement mapping based on ray tracing of implicit surfaces)。實際表明,距離函數中包含的信息,允許我們在光線遠離表面時前進更大的距離,并保證不會跨得太遠以至于在渲染的幾何體上產生縫隙。實現的結果非常高效:會在很少的迭代次數內收斂。
傳統的位移映射是“對于這片幾何體,它最終映射到了圖像中的哪個像素”,我們的算法是“對于圖像中的這個像素,我們可以看到哪片幾何體”。第一個問題利用了光柵化算法,第二個問題利用了光線跟蹤算法。
常見的光線跟蹤算法是以均勻的距離對高度圖采樣,測試視線是否與表面相交,但卻存在下列問題:如果采樣距離遠大于一個紋素,就不能保證在樣本之間沒有錯過一個交點。
均勻步長采樣難以解決的問題本文算法預先計算好空間中任一點到該表面最近的距離,將結果存入3D圖中,在進行光線追蹤計算的時候,選擇該點到表面最近的距離向量作為步長進行迭代,從而避免了均勻步長帶來的問題,并且加速了收斂得到結果
最終,算法在保持實時性能的同時顯著增加了場景的感知幾何復雜度。
【關鍵詞】
?
距離貼圖(Distance Mapping)
距離函數(Distance Functions)
位移貼圖(Displacement Mapping)
?
?
總結
以上是生活随笔為你收集整理的GPU Gems2 - 8 使用距离函数的逐像素位移贴图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌浏览器&360浏览器安装——
- 下一篇: GPU Gems2 - 9 S.T.A.