GPU Gems1 - 21 实时辉光(Real-Time Glow)
這章淺墨的文章講的很細了,這里基本照扒一遍加深印象,原文鏈接:https://zhuanlan.zhihu.com/p/36499291
【章節概覽】
這章講到2D光照效果中的輝光(Glow)和光暈(Halo),展示了如何通過圖像處理方法完全地改善畫面及3D人物的渲染感官。
光源的輝光(Glow)和光暈(Halo)是自然界到處可見的現象,他們提供了亮度和氣氛強烈的視覺信息。
?
給強化后的武器加上Glow效果,該武器顯得更加強力 @TERA在觀看計算機圖形、膠片和印刷品時,到達眼睛的光強度是有限的,因此,辨別光源強度的唯一方法是通過它們周圍產生的輝光(Glow)和光暈(Halo),具體可以參考[Nakamae et al.1990]。這些輝光可以再現強烈光線的視覺效果,并使觀察者感知非常明亮的光源。即使物體周圍的微妙光暈也會讓人覺得它比沒有光輝的物體更亮。
在日常生活中,這些發光和光暈是由大氣中或我們眼中的光散射引起的(Spencer 1995)。使用現代圖形硬件,可以通過幾個簡單的渲染操作來再現這些效果。這使得我們可以使用明亮而有趣的物體來填滿實時渲染的場景,物體會顯得更為逼真或更具表現力,并且這是克服圖形渲染中傳統的低動態范圍圖形過于平庸的優雅手段之一。
有輝光和沒有輝光的一個Tron 2.0中的角色對比?
有幾種方法可以創建場景中的輝光。對于小的類似的點,可以把一個平滑的“輝光”紋理應用到公告牌幾何體上,而讓公告板幾何體在屏幕范圍內跟隨物體運動。
對于大的輝光源或復雜的輝光形狀,要創建輝光,最好對2D場景的渲染進行后處理。這章重點講到了后處理的實時輝光處理方法。如下圖。
場景實時輝光的步驟 (a)正常地渲染場景(b)涂抹所渲染的輝光源,以產生(c)中的一個輝光紋理,將其加到正常的場景畫面中,以產生(d)中最終的輝光效果。渲染后處理輝光的步驟:
Step 1、輝光的指定和渲染(Specifying and Rendering the Sources of Glow)
Step 2、模糊輝光源(Blurring the Glow Sources)
Step 3、適配分步卷積(Adapting the Separable Convolution)
Step 4、在GPU上進行卷積(Convolution on the GPU)
圖 有效地創建模糊的兩步分解法?上圖展示了如何有效地創建模糊的兩步分解法:首先,在一根軸上模糊于(a)中的輝光源的點,產生(b)中所示的中間結果,然后在另一個軸上模糊這個結果,產生顯示在(c)中的最終模糊。
(a)用標準方法渲染3D模型(b)為一個由美術同學創建的輝光源紋理的渲染,目的是指定輝光面積的圖案和強度(c)為將輝光應用到標準的渲染結果后,得到的富有表現力的英雄角色效果。?
另外,在輝光中使用的這個卷積和模糊方法還可以用于多種其他效果。它能用來計算景深效果的不同聚焦度,景深的信息可以用來控制模糊度。它也能用來模糊投影的紋理陰影的邊緣,并且累積深度陰影映射的接近百分比過濾(percentage-closer filtering )結果。
而大面積的卷積能被應用于一個環境映射,以創建一個近似的輻照度映射,從而得到更逼真的場景照明(Ramamoorthi和Hanrahan 2001有相關論述)。用大面積的卷積也可以實現許多非真實感渲染技術和其他的特別效果。其中包括鍍著霜的玻璃、模擬衍射的透鏡搖曳,以及渲染皮膚時用的近似次表面散射。
大片的模糊和卷積能有效地在多種圖像硬件上實時地計算,而處理和創建這些效果的代碼可以容易地封裝成幾個C++類或一個小庫。
總之,屏幕輝光是一種很贊的效果,能夠容易地擴展到幾乎每一種情形,并且變化多端,通過其還夠延伸創建出很多其他的效果。最終的效果雖然細微但卻有張力,值得在各種游戲中采用。
【關鍵詞提煉】
- 實時輝光(Real-Time Glow)
- 光暈(Halo)
- 后處理(Post-Processing)
- 圖像處理(Image Processing)
總結
以上是生活随笔為你收集整理的GPU Gems1 - 21 实时辉光(Real-Time Glow)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 暴雪《争霸艾泽拉斯》*采用自适应 SSA
- 下一篇: IDE介绍之——CLion