反射(計算機圖形學)
編輯計算機圖形中的反射用于模擬反射物體,如鏡子和光亮的表面。
可以實現準確的反射,例如 通過光線跟蹤渲染器跟蹤從眼睛到鏡子的光線,然后計算它從何處反彈,并繼續該過程,直到找不到表面或找到非反射表面。 通常可以使用環境映射等方法更快地計算近似反射。 在木材或瓷磚等光亮表面上的反射可以增加 3D 渲染的照片級真實感效果。
反射渲染的方法
編輯對于渲染環境反射,存在許多在精度、計算和實現復雜性方面不同的技術。 這些技術的組合也是可能的。
基于追蹤光線的圖像順序渲染算法,例如光線追蹤或路徑追蹤,通常計算一般表面上的準確反射,包括多次反射和自反射。 然而,這些算法對于實時渲染來說通常計算成本太高(即使存在專門的硬件,例如 Nvidia RTX)并且需要與通常使用的光柵化不同的渲染方法。
平面反射,例如平面鏡或水面,可以通過兩次渲染簡單而準確地實時計算——一次用于觀察者,一次用于鏡子中的視圖,通常在模板緩沖區的幫助下。 一些較舊的視頻游戲使用了一種技巧,通過將整個鏡像場景放在代表鏡子的透明平面后面,通過一次渲染來實現這種效果。
非平面(彎曲)表面上的反射對于實時渲染更具挑戰性。 使用的主要方法包括:
- 環境映射(例如立方體映射):一種已被廣泛使用的技術,例如 在視頻游戲中,提供對眼睛來說基本足夠的反射近似,但缺乏自我反射并且需要預渲染環境貼圖。 通過使用環境貼圖的空間陣列而不是僅使用一個,可以提高精度。
- 屏幕空間反射 (SSR):一種更昂貴的技術,可在屏幕空間(與光線追蹤等世界空間相對)中追蹤反射光線。 這是為反射表面的每個渲染像素完成的,使用表面法線和場景深度。 缺點是未在渲染幀中捕獲的對象無法出現在反射中,這導致未解決的交叉點和不完整的反射圖像隨后導致反射邊緣出現偽影。 SSR 最初是作為實時局部反射引入的,后來發生了變化。
反射類型
編輯- 拋光反射是一種不受干擾的反射,如鏡子或鍍鉻表面。
模糊
- 模糊反射意味著材料表面上的微小隨機凸起導致反射模糊。
金屬的
- 如果高光和反射保留反射物體的顏色,則反射是金屬的。
光滑
- 這個術語可能被誤用:有時,它是一種與模糊相反的設置(例如,當光澤度值較低時,反射是模糊的)。 有時該術語用作模糊反射的同義詞。 在此上下文中使用的光澤意味著反射實際上是模糊的。
拋光或鏡面反射
鏡子通常幾乎 xxx 反射。
金屬反射
普通(非金屬)物體以被反射物體的原始顏色反射光和顏色。金屬物體反射由金屬物體本身的顏色改變的光和顏色。
模糊反射
許多材料是不完美的反射器,由于表面粗糙度會散射反射光線,反射會在不同程度上變得模糊。
光澤反射
完全光澤反射,顯示來自光源的高光,但不顯示來自物體的清晰反射。
反射的例子
編輯濕地板反射
濕地板效果是一種與 Web 2.0 樣式頁面結合使用的圖形效果技術,特別是在徽標中。 效果可以手動完成,也可以使用可以安裝的輔助工具來自動創建效果。 與標準的計算機反射(以及xxx代網絡圖形中流行的 Java 水效果)不同,濕地板效果涉及漸變,并且通常在反射中傾斜,因此鏡像圖像看起來像是懸停在濕地上或停留在濕地上 地面。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/198001/