亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2018-04-02 08:25:10袁璐
        現(xiàn)代計算機 2018年2期

        袁璐

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

        0 引言

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

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

        1 相關工作

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

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

        2 算法概述

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

        2.1 立即輻射度算法

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

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

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

        2.2 Lightcut算法

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

        (1)構建光源樹

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

        對于點光源常量c恒為0,公式(1)可變?yōu)椋?/p>

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

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

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

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

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

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

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

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

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

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

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

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

        圖1 

        (3)裁剪光源樹

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

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

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

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

        2.3 實現(xiàn)流程

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

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

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

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

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

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

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

        3 實驗及分析

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

        圖2 

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

        4 結語

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

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

        參考文獻:

        [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.

        强开少妇嫩苞又嫩又紧九色 | 视频精品熟女一区二区三区| aa日韩免费精品视频一| 新婚少妇无套内谢国语播放| 国产sm调教视频在线观看| 国产精品免费久久久免费| 日产精品一区二区在线| 中文字幕一区二区中出后入 | 国模无码人体一区二区| 亚洲成精品动漫久久精久| 日本高清一区二区不卡| 中文字幕在线日亚州9| 欧美性videos高清精品| 99久久亚洲国产高清观看| 国产一区二区熟女精品免费| 亚洲av中文无码乱人伦下载| 婷婷五月综合缴情在线视频| 成年视频网站在线观看777| 日本一区二区三级在线| 欧美精品videosex极品| 欧美三级不卡视频| 亚洲一区二区三区综合网| 国内自拍情侣露脸高清在线| 男女性高爱潮免费网站| 狠狠丁香激情久久综合| 亚洲精品一区二在线观看| 成人爽a毛片免费视频| 99久久久无码国产aaa精品| 激情内射亚洲一区二区| 视频在线国产一区二区| 国产精品丝袜久久久久久不卡| 国产欧美另类精品久久久| 在线观看一区二区三区国产| 国产欧美va欧美va香蕉在| 国产人妖视频一区二区| 中文字幕无线精品亚洲乱码一区 | 成年女人免费v片| 日本乱人伦在线观看| 制服丝袜人妻中出第一页| 亚洲av毛片在线免费看| 亚洲va无码手机在线电影|