999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于立即輻射度的實時全局光照算法

2018-04-02 08:25:10袁璐
現代計算機 2018年2期

袁璐

(四川大學計算機學院,成都 610065)

0 引言

隨著計算機硬件處理能力的不斷提升,計算機圖形學也迎來了嶄新的局面。全局光照模擬作為計算機圖形學中活躍的研究方向,在增強圖像渲染的真實感上扮演者不可或缺的角色。全局光照的模擬一直以來被廣泛的應用在不同的領域,如卡通片繪制、電影制作以及游戲渲染等。然而由于全局光照計算量耗費巨大很難達到實時渲染,因此快速渲染成為了全局光照的重要研究方向之一。

立即輻射度算法作為全局光照算法中的一種,減少了預計算部分,使全局光照實時化成了可能。然而由于為達到真實的渲染效果,目前大部分基于立即輻射度的算法都是離線渲染的。因此為提升渲染效率,本文立將即輻射度算法應用到GPU上,同時通過Lightcuts算法進行進一步的加速計算。

1 相關工作

Keller在1997年提出立即輻射度算法,該算法的核心思想是利用光照輻射度的特性,在場景中被直接光照照亮的地方生成二次光源,即虛擬點光源。并用這些虛擬點光源進行直接光照計算,從而代替復雜光照計算,模擬出真實的全局光照效果。雖然該算法的提出讓全局光照的研究方向有了很大發展,但該算法即使在對僅有402個面片的場景進行渲染時,也需要花費24秒的時間。

因此Walter等人于2005年在立即輻射度算法基礎上提出的Lightcuts算法,通過對場景中生成的虛擬點光源進行聚類,并用二叉樹將相似的光源進行合并以減少場景中虛擬點光源的數量,渲染效率有了很大的提升。

2 算法概述

本文通過用OpenGL渲染管線計算立即輻射度算法中光線跟蹤和虛擬點光源生成的過程,再結合Lightcuts算法減少虛擬點光源的數量,最后通過延遲著色(deferred shading)進一步加速光照計算。

2.1 立即輻射度算法

立即輻射度算法計算主要分為兩部分:虛擬點光源創建和光照計算。

在虛擬點光源創建部分,首先對場景中的原始光源隨機選取方向生成初始光線,再跟蹤初始光線并判斷光線是否與場景有交點,若有交點則在得到的交點上創建虛擬點光源。虛擬點光源的位置信息和法線信息與得到的交點相同。與基于物理的方法不同,為提升渲染效率,本文中虛擬點光源的貢獻度不通過貢獻度計算公式計算,而是直接將交點處的漫反射材質屬性作為虛擬點光源的貢獻度。同時本文只考慮一次間接光照,即虛擬點光源只生成一次,只考慮原始光源生成的初始光線與場景相交,不考慮虛擬點光源再次生成光線與場景相交。

在虛擬點光源間接光照計算部分,對每個著色點計算每個光源對其光照貢獻度,并將光照貢獻度進行累加,作為著色點最后的光照值。

2.2 Lightcut算法

Lightcuts算法提高場景渲染速率的本質是對場景中光源的數量進行簡化。通常來說,場景中的光源數量減少由此會導致渲染結果嚴重失真。然而由于人眼察覺變化的能力有限,所以只需把減弱后的光源亮度控制在人眼不能察覺的范圍內,就可達到減少光源數目而渲染結果亦不失真的目的。根據韋伯定律,在最壞的情況下,人眼能夠察覺的亮度的變化通常僅僅在原始亮度的1%之下。但通過實驗表明,將誤差閾值控制在2%也能得到較好的渲染結果。算法實現步驟如下。

(1)構建光源樹

光源樹是一棵二叉樹,葉節點為原始虛擬點光源,內部節點為代表性光源。光源樹的構建需要比較兩個光源的相似度,相似度的計算如公式(1)所示:

對于點光源常量c恒為0,公式(1)可變為:

其中Ic為兩個光源的亮度之和,αc表示兩個光源軸對齊包圍盒的對角線長度。權值W越小,則兩個光源的相似度越高。

根據公式(2)光源樹構造的具體步驟為:

1)選取原始光源中的一個光源作為起始光源a,遍歷剩余光源,查找與光源a相似度最高,即公式中W最小的光源b。

2)為光源a與光源b構建父節點,在兩個光源之中隨機選取一個光源作為代表性光源。對于光源a,有Ia/(Ia+Ib)的概率被選中為代表性光源。

3)將代表性光源加入光源集合中,并在光源集合中刪除光源a和光源b。

4)重復步驟1-3,直至光源集合中只剩一個光源,即所建光源樹的根節點,至此建樹完成。

(2)計算光照估算值及其上界

Walter等給出的每個像素上光照貢獻度計算公式為(3)所示:

其中,S為所有原始虛擬點光源的點集,i為其中一個光源,x為像素上一點,ω為視點方向,M為光源i的材質因子,G為光源i的幾何因子,V代表光源i的可見性,I表示光源i的亮度。

為簡化運算,可用光源樹上代表性光源k的材質項、幾何項、可見項來近似代替所有葉節點原始光源。則公式(3)變換為:

其中,C為一簇光源點集,C?S,k為代表性光源。

Walter給出估算LC(x,ω )上界的方法,如公式(5)所示:

圖1 

(3)裁剪光源樹

光源樹裁剪的最終目的是得到一系列可代替原始光源的光源節點的集合,即一條光源割(lightcut)。由韋伯定律,人眼能感知的亮度變化為原始亮度的1%,而Walter等用實驗證明原始亮度的2%作為誤差閾值就能得到很好的渲染結果。因此上界與估算值的誤差只要小于原始光源亮度估算值的2%,則估算值便可作為精確值的近似,并且可認為是人眼不易察覺的誤差。

依據韋伯定律,光源樹的裁剪過程如下:

1)對于每個像素點,從光源樹的根節點開始,將根節點壓入備選池中,并計算其上界值Lˉ()x,ω 與估算值L(x,ω)。

最后剩余在備選池中的點即為對應像素點的一條光源割。對于每個像素點都有一條光源割,在渲染時用這條光源割上的光源取代原始光源進行計算。

2.3 實現流程

本文虛擬點光源的生成和光照計算都是在GPU上實現的。為了存儲在計算著色器(Compute Shader)中計算得到的虛擬點光源,同時在CPU與GPU中進行數據傳遞,在OpenGL4.3版本的支持下,本文采用著色器存儲緩沖區對象(Shader Storage Buffer Object,SSBO)作為光源的存儲結構。為增加物體的層次感和深度感,本文對每個光源都做了一次陰影映射(Shadow Mapping)以產生直接陰影和間接陰影。

本文算法主要流程如圖1所示。

首先在CPU端將場景和原始光源載入,同時對場景建立坐標軸對稱包圍盒(Axis-Aligned Bounding Box,AABB),該包圍盒用作后續的光線求交。

然后在GPU端對場景先渲染一次,獲得場景的位置、法線和顏色信息,并存在叫做G緩沖(G-Buffer)的紋理中。

再對原始光源隨機選取N個方向,作為初始光線。跟蹤光線,判斷光線與場景包圍盒是否有交,若光線與場景包圍盒有交點,則生成一個虛擬點光源,且將交點處的位置、法線和漫反射紋理信息賦值給該虛擬點光源,然后把該虛擬點光源存入SSBO中。

接著在CPU端對得到的虛擬點光源根據公式建立光源二叉樹,將該光源二叉樹轉換成二維數組,存入一張紋理中傳入GPU端。

最后結合第一遍渲染管線得到的場景幾何信息,為每個片元選擇合適的光源割,將光源割用作延遲著色光照計算。

3 實驗及分析

本文實驗采用配置為Intel Core i3 4160的CPU,NVIDIA GeForce GTX 960的顯卡,DDR3 8G的內存。在1個初始光源的康奈爾盒中,產生100個VPL的渲染效果如圖2所示。

圖2 

本文在相同的硬件環境和場景下,對使用了Lightcuts算法和未使用Lightcuts算法的進行了對比。實驗場景中初始光源為1個,未使用Lightcuts產生了400個虛擬點光源,幀率為34fps。而使用Lightcuts裁剪后虛擬點光源數量變為182個,幀率為59fps,渲染效果對比如圖3所示。

4 結語

立即輻射度算法是一種不需要預處理的近似全局光照算法,通過在直接光照照射點上產生虛擬點光源,進而模擬出間接光照的效果。因此特別適合用作實時全局光照計算。由于目前大部分基于立即輻射度的算法都是非實時渲染,因此本文基于GPU渲染管線的支持,提出了一種實時的立即輻射度實現的方法,并得到較好的渲染效果。

同時本文對走樣現象未作處理,且未考慮復雜場景,不能滿足大型動態場景的實時渲染。另外本文實驗場景都是基于漫反射材質,因此喪失了鏡面材質等的全局光照效果。以上缺陷都是本文接下來的研究重點。

參考文獻:

[1]Kajiya J T.The Rendering Equation[J].Acm Siggraph Computer Graphics,1986,20(4):143-150.

[2]Keller A.Instant radiosity[C].Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Techniques.1997:49-56.

[3]Segovia B,Iehl J C,Péroche B.Metropolis Instant Radiosity[J].Computer Graphics Forum,2007,26(3):425–434.

[4]Laine S,Saransaari H,Kontkanen J,et al.Incremental Instant Radiosity for Real-Time Indirect Illumination[C].Eurographics Symposium on Rendering Techniques,Grenoble,France.DBLP,2008:277-286.

[5]Dong Z,Grosch T,Ritschel T,et al.Real-time Indirect Illumination with Clustered Visibility[J].Proc Vision Modeling&Visualization,2009.

[6]Walter B,Fernandez S,Arbree A,et al.Lightcuts:A Scalable Approach to Illumination.ACM Transactions on Graphics,2005,24(3):1098-1107.

[7]Walter B,Arbree A,Bala K,et al.Multidimensional lightcuts[C].ACM SIGGRAPH.ACM,2006:1081-1088.

[8]Walter B,Khungurn P,Bala K.Bidirectional lightcuts[J].ACM Transactions on Graphics,2012,31(4):1-11.

主站蜘蛛池模板: 欧美全免费aaaaaa特黄在线| 在线a视频免费观看| 国产丝袜91| a毛片基地免费大全| 一级全免费视频播放| 激情综合激情| 国产欧美在线观看一区| 国产尤物在线播放| 亚洲综合色吧| 国产精品所毛片视频| 一级毛片免费播放视频| 在线日韩一区二区| 99久久精品国产自免费| www精品久久| 免费国产高清视频| 午夜国产不卡在线观看视频| 亚洲国产日韩在线成人蜜芽| 久草视频中文| 欧美中文字幕无线码视频| 伊人AV天堂| 最新日本中文字幕| 亚洲香蕉在线| 亚洲精品大秀视频| 欧美在线视频不卡第一页| 精品国产乱码久久久久久一区二区| 老色鬼久久亚洲AV综合| 在线国产91| 99久久精品免费观看国产| 亚洲男人的天堂视频| 国产成人欧美| 中文字幕天无码久久精品视频免费| a毛片在线播放| 国产欧美在线视频免费| 色综合日本| 小13箩利洗澡无码视频免费网站| 免费中文字幕一级毛片| 99热国产在线精品99| 亚洲日韩国产精品综合在线观看| 全部无卡免费的毛片在线看| 九九久久99精品| 蝴蝶伊人久久中文娱乐网| 91成人在线观看视频| 亚洲天堂首页| 国产免费怡红院视频| 国产AV毛片| 国产精品美人久久久久久AV| 波多野结衣AV无码久久一区| 国产精品久久久久久久伊一| 国产福利在线观看精品| 国产欧美综合在线观看第七页| 26uuu国产精品视频| 国产精品太粉嫩高中在线观看 | 又污又黄又无遮挡网站| 精品国产自在在线在线观看| 香蕉eeww99国产精选播放| 中文字幕无码av专区久久| 九色视频在线免费观看| 亚洲综合九九| 欧美精品高清| 国产精品主播| 99热这里只有精品国产99| 色老二精品视频在线观看| 综合人妻久久一区二区精品| 国产日韩丝袜一二三区| 国产成人艳妇AA视频在线| 国产欧美日韩另类| 国产女人18水真多毛片18精品| 不卡无码h在线观看| 欧美全免费aaaaaa特黄在线| 亚洲国产欧美自拍| 亚洲视频影院| 99久久国产综合精品女同 | 亚洲首页国产精品丝袜| 亚洲精品无码AV电影在线播放| 男人天堂亚洲天堂| 538国产视频| 亚洲国产精品成人久久综合影院| av在线5g无码天天| 欧美日韩国产系列在线观看| 欧美午夜在线观看| 夜夜高潮夜夜爽国产伦精品| 91精品国产综合久久香蕉922|