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

基于光照探針的全局光照技術的研究與實現

2020-04-08 07:52:32張宏偉
現代計算機 2020年7期
關鍵詞:方向

張宏偉

(四川大學視覺合成圖形圖像技術國防重點學科實驗室,成都 610065)

0 引言

隨著計算機圖形圖像技術的普及,人們對計算機生成圖形的逼真性要求越來越高,計算機圖形學正融入于包括電影制作、醫療影像,以及3D建模建筑等各行各業。光照效果的計算是生成逼真圖形圖像的基礎,而全局光照則是計算機圖形學中最有前景以及最活躍的研究方向之一。傳統的全局光照需要光線跟蹤,因而會導致計算量較大從而達不到實時渲染的目的。而對于靜態場景來說,對場景進行預計算則是一種可以大大減少實時渲染時間開銷,有效提高效率的方法。

光照探針技術是在實時渲染中一種快速的近似光照技術。它的優勢是將光照傳輸過程中的一些計算預先存儲在光照探針中,在實時渲染時便可以發揮性能優勢。通常的光照探針需要手動在場景中進行放置,而且存在漏光等情況。本文實現的算法可以較好的解決手動調整探針位置及漏光缺陷,達到實時渲染的目的。

1 相關工作

由于實時渲染的要求,利用預計算進行全局光照的計算是一種常用方式。Greene[1]在1986年提出了Cube Mapping,將周圍環境存儲在一張立方體貼圖的六個面上。Sloan[2]在2002年提出PRT(Pre-computed Radiance Transfer)方法,該方法將全局光照中復雜的光照計算利用一個光線傳輸函數作為輸入,運用球諧函數及預計算,將光照的多次反射的計算轉變為簡單的內積計算。Crassin[3]在2011年提出了著名的圓錐體素光線追蹤算法(Voxel Cone Tracing),該方法將場景中的網格數據編碼成一個多層次的體素八叉樹結構,采用圓錐體光線跟蹤,該結構可以大大加速光照及可見性的計算。Mcguire[4]在2017年提出利用新編碼的光照探針數據結構來進行預計算,從而將光線跟蹤轉變為類似深度比較的快速計算方法。

Cigolle[5]在2014年的八面體映射是一種對本文算法比較友好的映射方式,即擁有像球面映射一樣的將整個球面映射到一張紋理的能力,又可以擁有立方體映射的線性映射。用八面體映射存儲球面分布,畸變程度較小,而且比立方體映射擁有更好的邊界處理。

2 相關算法概述

本節內容首先介紹全局光照的理論基礎渲染方程,以及本文實現過程中所采用的IBL及PBR算法,最后介紹了本文采用算法的實現細節。

2.1 渲染方程

在計算機圖形學中,渲染方程描述光能在場景中的流動,是一切全局光照的理論基礎。渲染方程如下:

渲染方程考慮了物體的自發光,也就是式(1)中的Le(p ,v)項,描述的是物體表面p處在方向v上的輻射亮度。L0(r(p ,l),-l)這一項代表的是點 p處l方向的入射輻射亮度,在點p處l方向的入射輻射亮度等于反方向-l處其它點的出射輻射亮度,該點由光線投射函數r(p ,l)確定,該函數會計算從點p出發在l方向上光線擊中的第一個表面的點的位置。

渲染方程可以實現完美且逼真的全局光照效果,但由于計算復雜度較高,對于需要實時計算的場景來說成本極高。

2.2 基于物理的渲染

基于物理的渲染(Physically Based Rendering),是指基于現實世界物理理論來對真實世界進行模擬的一類技術的集合,使得渲染更具有真實感。

一般來說,基于物理的渲染需要滿足以下的三個條件:

(1)微平面表面模型

(2)能量守恒

(3)基于物理的BRDF模型

微平面表面模型是指所有的表面在接近于微觀之后都存在著各種各樣粗糙程度不同的細小鏡面。根據粗糙程度的不同,光線的反射也就不同。一個平面越是粗糙,其表面的微平面排序就越混亂,反射光線也就更發散;一個表面越是光滑,其反射光線也就越集中,形成比較銳利的反射效果。

能量守恒是指出射光線的能量永遠不能超過入射光線的能量。當一束光線碰到平面時,會形成一個反射和一個折射,被平面反射開來不會進入平面的那部分稱為鏡面反射光照,而進入平面被平面吸收的那部分被稱為漫反射光照。由于光在傳播過程中存在能量損失,所以鏡面反射加漫反射的能量總和永遠不會超過入射光線的總能量。

BRDF模型(雙向反射分布函數)描述了入射光與反射光的關系,用于定義入射方向的輻射照度(irradiance)如何影響出射方向的輻射度(radiance),常用的BRDF模型為Cook-Torrance模型,將反射分為漫反射與鏡面反射兩部分,如式(2)所示:

2.3 基于圖像的光照技術

基于圖像的光照(Image-Based Lighting,IBL)技術,主要是指以圖像格式存儲某種形式的光照度量(例如輻射照度或輻射亮度),在渲染時將相應部分的光照計算轉變為紋理數據的查詢讀取,可以大大加快光照計算的速度,可以廣泛應用于離線或實時渲染。

為簡化復雜的蒙特卡洛積分計算,通過將渲染方程分為兩部分,我們可以單獨對漫反射與鏡面反射的積分值做預計算,將結果保存供后續實時渲染使用。

(1)Diffuse IBL

觀察漫反射部分的積分,其中Lambertian漫反射項是常數,如式(3)所示,將積分項中的Lambertian漫反射項移出,假設 p在原點(環境貼圖中心),那么對于每一個半球空間中的采樣方向,該積分項只與wi有關。我們可以預計算立方體環境貼圖,在每個采樣方向上存儲由卷積得到的漫反射積分結果。

如圖1所示,對于每個輸出采樣方向w0,通過對半球Ω上的大量方向ωi進行離散采樣并對其輻射度取平均值來解輸出采樣方向w0的積分。

圖1半球空間輻射度采樣

圖2所示是一個環境貼圖以及通過對它采樣輻射度取均值得到的立方體貼圖,這樣的立方體貼圖稱為輻照度圖(Irradiance Map)。

(2)Specular IBL

接下來解決鏡面反射的積分預計算,如式(4)所示:

其中,被積函數中的 fr( )p,wi,w0是BRDF函數。從式子中可以發現,鏡面反射積分取決于觀察方向w0與法線方向n兩個變量,與漫反射積分項不同??梢詫⒃瓉淼姆e分拆成兩項,將這兩項分別保存在兩張紋理中。

圖2環境立方體貼圖及生成的輻照度圖

第一部分的預計算得到的紋理為預過濾環境貼圖。當給定一個物體表面,若其表面的粗糙程度越高,則反射的內容越模糊。因此,考慮加入物體的粗糙度,將物體的粗糙度劃分成幾個等級,每個等級預計算一遍積分,并存儲到立方體貼圖中的一個多級漸變紋理(Mipmap)中。我們為生成的預過濾環境貼圖構建mipmap,越粗糙則存儲到mipmap的等級越高。后一部分為BRDF函數積分,可以構建一個二維查找表,橫坐標取值為法向量與入射光線方向的點積,縱坐標為粗糙度。遍歷橫縱坐標。計算公式中兩項積分的結果,存儲為紋理的像素值,最后渲染時使用紋理坐標去索引像素值。

2.4 本文算法思路

首先將光照探針以一種均勻的網格均勻放置在空間中(本文所用的為2×2×2探針網格),將探針編碼為一個存儲以下信息的數據結構,如圖3所示:

圖3一個光照探針中的數據

(1)該光照探針的入射輻射亮度radiance

(2)每個入射光照所在表面的法線normal

(3)光照探針中心到每個入射光照方向上的最近表面的距離distance

有了上述信息,便可以進行光線跟蹤計算,在這里,普通算法與場景求交的光線跟蹤運算可以轉變為在光照探針中進行,由于光照探針中存儲的深度貼圖中包含了場景的幾何信息及幾何表面的漫反射顏色值,所以只需在光照探針中找到光線與每個光照探針的深度貼圖相交的位置,便能取得該光線的入射光照。

之后采用八面體投影,將立方體貼圖映射到八面體貼圖上,投影的結果是一個分段的線性直線線段,因此光線跟蹤就轉變為在八面體貼圖中進行像素遍歷,在探針中用該線段經過的紋素與探針中心的距離與之前預存儲的徑向距離信息(distance)進行比較,判斷得到交點。

對于整個場景,第一步是選擇一個光照探針進行光線追蹤,如果在該光照探針中沒有找到相交點,那么則繼續按照一定的方式尋找下一個光照探針繼續執行之前的操作,如果光線在某個光照探針中找到相交點,那么則讀取對應位置的輻射亮度值。

該算法在渲染時,采用八個光照探針插值的方式來計算漫反射光照,為了避免光泄露問題,在渲染時,一般的三線性插值是不夠的,需要增加一個背面檢測的插值方式以及切比雪夫可見性判斷的插值方式,將對當前渲染點貢獻的探針的權重降低。

3 實驗及分析

本文實驗采用的實驗環境為Intel Core i5-4460的CPU,NVIDA GeForce GTX 960的顯卡,DDR3 16G的內存,圖4展示了使用8個光照探針的康奈爾盒的全局光照效果,幀率穩定在60fps。

圖4康奈爾盒效果圖

在相同的硬件環境下,圖5分別展示了使用living-room場景8個光照探針的直接光照與全局光照的效果對比。

圖5

圖6為鏡面反射的細節圖,可以看到該算法可以比較好的渲染出比較真實的效果。

圖6鏡面效果圖

4 結語

傳統的光線跟蹤算法計算量較大,對于大規模場景開銷太大。本文實現了一種利用光照探針預計算實現全局光照的算法,該算法采用預計算的方法,將場景中的信息預先存儲在光照探針中,將傳統的光線跟蹤算法的光線與場景的求交運算轉變為在探針中進行深度比較求交,大大節省了光線跟蹤帶來的開銷,可以做到對靜態場景進行實時渲染。

同時該算法由于是采用預計算方式,所以只能用于靜態場景,不能滿足動態場景的實時渲染。另外該算法在空間中均勻放置探針,若對于大規模場景來說,規則放置的光照探針未考慮場景的光照及幾何信息,信息類似的探針會比較多,難免存在一定的數據冗余。以上的缺陷都是接下來該算法需要優化以及研究的方向。

猜你喜歡
方向
2023年組稿方向
計算機應用(2023年1期)2023-02-03 03:09:28
方向
青年運動的方向(節選)
2022年組稿方向
計算機應用(2022年2期)2022-03-01 12:33:42
2022年組稿方向
計算機應用(2022年1期)2022-02-26 06:57:42
2021年組稿方向
計算機應用(2021年4期)2021-04-20 14:06:36
如何確定位置與方向
2021年組稿方向
計算機應用(2021年3期)2021-03-18 13:44:48
2021年組稿方向
計算機應用(2021年1期)2021-01-21 03:22:38
大自然中的方向
主站蜘蛛池模板: 欧美亚洲日韩不卡在线在线观看| 国产成人精品一区二区| 大陆国产精品视频| 国产va免费精品观看| 91九色国产在线| 亚洲成av人无码综合在线观看| 亚洲天堂日韩在线| 色噜噜久久| 第一页亚洲| 国产永久免费视频m3u8| 国产精品自在在线午夜区app| 福利视频久久| 欧美国产日韩在线播放| 欧美国产日韩一区二区三区精品影视| 亚洲性网站| 久热这里只有精品6| 欧美区在线播放| 91po国产在线精品免费观看| 欧美另类图片视频无弹跳第一页| 午夜福利在线观看成人| 91成人在线观看| 中国一级特黄大片在线观看| 超碰精品无码一区二区| 亚洲成在人线av品善网好看| 亚洲AV无码不卡无码 | 伊人丁香五月天久久综合 | 国产欧美精品午夜在线播放| 午夜视频日本| 色噜噜综合网| 欧洲熟妇精品视频| av免费在线观看美女叉开腿| 国产人前露出系列视频| 国产一区免费在线观看| 亚洲另类国产欧美一区二区| 一本色道久久88| 久草网视频在线| 亚洲国产精品无码AV| 免费国产不卡午夜福在线观看| 亚洲乱亚洲乱妇24p| 亚洲精品无码人妻无码| 国产美女91视频| 国产成人a在线观看视频| 亚洲色图狠狠干| 日韩性网站| 熟妇人妻无乱码中文字幕真矢织江| 日本久久免费| 制服丝袜一区| 亚洲国产亚综合在线区| 中国成人在线视频| 亚洲无码免费黄色网址| 欧美色伊人| 亚洲综合激情另类专区| 欧美黄色网站在线看| 国产理论精品| 亚洲美女操| 中文字幕久久波多野结衣| 自拍偷拍欧美日韩| 91av国产在线| 爱色欧美亚洲综合图区| 久久国产成人精品国产成人亚洲| 久久精品国产91久久综合麻豆自制| 亚洲人成人无码www| 啪啪永久免费av| 日本欧美视频在线观看| 亚洲日本韩在线观看| 又大又硬又爽免费视频| 正在播放久久| 中文字幕欧美日韩高清| 国产精品久久久久久影院| 国产在线八区| 国产欧美日韩视频怡春院| 亚洲欧美一区二区三区蜜芽| 亚洲国产精品成人久久综合影院| 国产成人禁片在线观看| 玖玖精品在线| 成年人久久黄色网站| 欧洲亚洲一区| 香蕉伊思人视频| 日韩国产综合精选| 91在线播放国产| 国产成人综合久久精品下载| 成人小视频网|