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

延遲貼花技術(shù)

2016-09-23 01:26:25李京娓
現(xiàn)代計算機(jī) 2016年2期
關(guān)鍵詞:效果方法

李京娓

(四川大學(xué)計算機(jī)學(xué)院,成都 610065)

延遲貼花技術(shù)

李京娓

(四川大學(xué)計算機(jī)學(xué)院,成都610065)

1 研究背景

貼花渲染是一種用來向3D場景中添加額外的細(xì)節(jié)并且保持原場景不變的常用方法[1]。該技術(shù)目前主要應(yīng)用在3D游戲中以實(shí)現(xiàn)一些視覺特效。如射擊類游戲中的子彈痕跡、場景中的爆炸痕跡等。貼花一般并非原始場景的一部分,而是在游戲過程中動態(tài)產(chǎn)生的。通常情況下,這些效果都是通過創(chuàng)造一個新的貼花對象來實(shí)現(xiàn)的。

傳統(tǒng)的貼花渲染方法中存在一些缺陷,難以滿足對圖像真實(shí)感日益增高的要求。延遲貼花技術(shù)基于延遲渲染管線對現(xiàn)有的紋理投影技術(shù)進(jìn)行擴(kuò)展。該技術(shù)實(shí)現(xiàn)更加簡便,并且可以較好地提高貼花渲染的效果,使其在多數(shù)情況下看起來更加真實(shí)。同時,延遲貼花技術(shù)允許更加靈活的使用貼花,不必像基于前向渲染的傳統(tǒng)貼花方法那樣局限于使用漫反射紋理貼花。

2 傳統(tǒng)貼花渲染方法

傳統(tǒng)貼花渲染方法基于前向渲染管線實(shí)現(xiàn),其通常采用的方案是:緊貼著現(xiàn)有的幾何體表面渲染貼花多邊形,再通過使用某種方法,將被貼花覆蓋的場景表面的像素顏色與貼花的顏色進(jìn)行融合。雖然,在通常情況下,傳統(tǒng)方法一般具有不錯的渲染效果。但是,不可否認(rèn),它仍存在如光照不一致、深度沖突、貼花紋理變形等諸多缺陷[2]。在游戲引擎中,對使用傳統(tǒng)方法的貼花系統(tǒng)的實(shí)現(xiàn)與支持是非常昂貴的,同時也是十分困難的。

就基本原理而言,傳統(tǒng)貼花渲染方法可以分為兩類:使用紋理投影實(shí)現(xiàn)和使用網(wǎng)格投影實(shí)現(xiàn)。

紋理投影技術(shù)出現(xiàn)較早,其基本思路非常簡單:對場景進(jìn)行兩遍渲染。使用紋理投影技術(shù)渲染貼花的基本實(shí)現(xiàn)過程如下:首先,渲染場景并獲取場景信息;然后,使用投影的紋理進(jìn)行渲染;最后,使用某種方法將兩遍渲染的結(jié)果進(jìn)行融合。

當(dāng)場景較為簡單且貼花數(shù)量較少時,紋理投影具有較好的性能。但是,當(dāng)場景比較復(fù)雜且需要渲染大量的貼花時,這種方法性能很差[3-4]。

網(wǎng)格投影技術(shù)的基本思路主要是:首先將貼花處理為能夠附著到場景幾何體表面的幾何網(wǎng)格,然后把得到的幾何網(wǎng)格當(dāng)做多邊形列表進(jìn)行渲染[5-6]。

就目前的資料來說,對網(wǎng)格投影這一方法的使用要比紋理投影更普遍些。例如,在早期的Source Engine中,應(yīng)該就是使用的這一方法渲染貼花;Wolfire開發(fā)的Overgrowth中也使用到這一技術(shù)。

在網(wǎng)格投影中所得到的幾何網(wǎng)格,實(shí)際就是一些三角形。這些三角形就是一些普通的幾何圖形,因而即使在場景中大量使用這種貼花,也不會影響其渲染性能。使用網(wǎng)格投影技術(shù)的關(guān)鍵在于三角形分割,因此該方法對生成三角形這一過程的算法要求較高,但這一過程的計算代價,通常都是非常昂貴的。

3 延遲貼花技術(shù)

延遲貼花技術(shù)是基于延遲渲染管線實(shí)現(xiàn)的,并使用貼花幾何體代替?zhèn)鹘y(tǒng)方法中渲染的貼花多邊形[7-8]。其具體實(shí)現(xiàn)主要分為三步:渲染 G-buffer(Geometry Buffer,幾何緩沖區(qū)),渲染貼花幾何體,后處理過程。

這一步主要是將場景的幾何信息存儲在中間緩沖區(qū)G-buffer中,為之后的逐像素渲染做準(zhǔn)備。由于在deferred階段只渲染離屏幕最近的那個像素,因而在延遲渲染管線中無法處理透明或半透明物體。因此延遲貼花在建立G-buffer時,需要使用額外的通道存儲透明度。具體操作如下:在建立G-Buffer時將透明物體與背景逐像素交織,并將透明度存放在一個單獨(dú)的通道中,然后與通常情況一樣地進(jìn)行光照計算,然后再根據(jù)透明度將透明物體與背景逐像素混合。

成功地建立G-buffer后,可以得到之后計算時所需的一些信息:場景的法線與深度。本文在這里使用了一個名為normal_depth buffer的中間緩沖區(qū)存儲這些信息。

本文使用特殊的著色器對貼花的包圍幾何體進(jìn)行渲染,以此取代傳統(tǒng)方法中緊貼著場景幾何體表面渲染貼花多邊形的過程。

(1)貼花包圍幾何體

這里所說的貼花包圍幾何體,可以看作一種近似碰撞檢測物體。使用貼花包圍幾何體的目的是為了標(biāo)記被貼花影響到的場景表面。

在傳統(tǒng)方法中通常選擇緊貼著場景表面繪制一個與貼花尺寸相同、位置一致的四邊形。但是,在延遲貼花技術(shù)中,為了得到更好的渲染效果,一般選擇渲染貼花的一個包圍幾何體。使用貼花的包圍幾何體,允許從任意方向觀察到貼花的效果,并且能夠?qū)崿F(xiàn)貼花角落環(huán)繞。

如果不計開銷的話,貼花的包圍幾何體何以使用任意形狀,一般選擇球或者立方體。使用貼花包圍球與使用貼花立方體時最主要的不同之處在于:如何將片段的屏幕坐標(biāo)變換為貼花空間坐標(biāo)。其實(shí),使用貼花包圍球要更容易些。因為,使用包圍球時可以直接將片段的世界坐標(biāo)變換到局部球體坐標(biāo),再根據(jù)對應(yīng)的體積貼花或二維紋理進(jìn)行一次映射,然后訪問紋理即可,并不需要用到貼花變換矩陣。本文選擇立方體作為貼花的包圍幾何體,如圖1所示。

圖1 貼花的包圍立方體

(2)貼花變換矩陣

渲染貼花時,自然就需要在貼花空間中工作。為了達(dá)到這一目的,便需要得到貼花局部坐標(biāo)系的一個變換矩陣。本文使用貼花的位置及朝向信息重建貼花局部坐標(biāo)系,從而計算出一個貼花變換矩陣。

算法1展示了貼花局部坐標(biāo)系的具體構(gòu)造方法,這與構(gòu)造切線空間時使用的方法是一致的。其中DTM (Decal Transformation Matrix,貼花變換矩陣)為所求變換矩陣的最終形式。

算法1:重建貼花局部坐標(biāo)系及貼花變換矩陣

(3)頂點(diǎn)著色器

在頂點(diǎn)著色器中通過使用貼花的尺寸與之前得到的貼花變換矩將渲染的單位貼花立方體縮放至貼花的大小,并在世界空間定位縮放后的貼花立方體。

算法2對這一過程進(jìn)行了描述:首先使用貼花的尺寸對單位立方體進(jìn)行縮放,使其與實(shí)際渲染的貼花大小一致,然后將縮放后的貼花立方體變換到世界坐標(biāo)系中。

算法2:縮放單位立方體并在世界空間定位

(4)片段著色器

在片段著色器中,主要進(jìn)行了一些坐標(biāo)系間的變換:首先,從之前渲染G-buffer得到的normal_depth buffer中,獲取所渲染的片段的深度信息,并利用其構(gòu)造當(dāng)前片段的三維坐標(biāo);隨后,將屏幕坐標(biāo)轉(zhuǎn)換為世界坐標(biāo),使用貼花變換矩陣的逆矩陣將世界坐標(biāo)轉(zhuǎn)換為貼花空間坐標(biāo);最后對貼花坐標(biāo)進(jìn)行變換從而得到紋理坐標(biāo),并將其用于之后的紋理查找。算法3描述了這一過程。

算法3:片段著色器中的坐標(biāo)變換

在后處理過程中的進(jìn)行的基本操作是:將貼花沿著貼花空間的高度軸(即通常情況下的Z軸)投影到其下方的場景幾何體的表面。由于該基本操作僅使用了貼花坐標(biāo)中的橫、縱坐標(biāo) (即通常情況下坐標(biāo)中的x、y),所以貼花沿貼花空間高度軸的投影是無限的,這便導(dǎo)致延遲貼花渲染在某些場景下會出現(xiàn)拖尾效應(yīng)。因此需要在后處理過程中添加其他操作以解決這一問題,獲得更好的渲染效果。可以通過設(shè)置淡出參數(shù)或者貼花角落環(huán)繞解決這一問題。

使用淡出方法解決拖尾效應(yīng)的基本思路是:用貼花的尺寸來縮放片段與貼花平面間的距離,并將縮放結(jié)果作為淡出參數(shù),對紋理采樣的結(jié)果進(jìn)行修正。只有在貼花是平面的并且場景表面較為平坦時,淡出才有較好的效果。并且求取淡出參數(shù)沒有固定的公式,因為求取該參數(shù)的式子可能會因貼花的改變而改變。

通過使貼花角落環(huán)繞,可以使其適應(yīng)較為復(fù)雜的場景表面曲率。算法4展示了使貼花角落環(huán)繞解決拖尾效應(yīng)的具體過程:首先,由normal_depth buffer中獲取當(dāng)前渲染片段對應(yīng)的表面法線;然后,將表面法線變換至貼花空間,這時其x、y的值便構(gòu)成了表面相對于貼花平面的梯度;最后,計算紋理坐標(biāo),并使用獲得的梯度對紋理坐標(biāo)進(jìn)行修正,用修正后的坐標(biāo)進(jìn)行紋理查找。

算法4:使貼花角落環(huán)繞

圖2中展示了通過設(shè)置淡出參數(shù)和使貼花角落環(huán)繞修正拖尾效應(yīng)前后的效果,通過對比可以得出以下結(jié)論:在具有較大斜率的表面上渲染貼花時,使貼花角落環(huán)繞與淡出相比,能夠更加可靠地解決拖尾效應(yīng)。

圖2 使用淡出參數(shù)與使貼花角落環(huán)繞的修正效果

4 實(shí)驗結(jié)果

圖3分別展示了傳統(tǒng)貼花渲染與延遲貼花渲染的效果。實(shí)驗可知,使用傳統(tǒng)方法進(jìn)行貼花渲染時,由于光照不一致、深度沖突等原因,會造成貼花閃爍。而延遲貼花技術(shù)相對于傳統(tǒng)貼花渲染具有更好的渲染效果。這是因為,延遲貼花技術(shù)是基于延遲渲染管線實(shí)現(xiàn)的,因此能夠很好地解決光照一致性問題。同時延遲貼花也是紋理投影技術(shù)的一種擴(kuò)展,具有紋理投影的特點(diǎn),完美地消除了深度沖突問題。此外由于使用立方體作為貼花幾何,我們能夠從任意角度觀察到貼花。

圖3 傳統(tǒng)貼花渲染(上)與延遲貼花渲染(下)的渲染效果

圖4展示了向凹凸的場景表面渲染含有法線紋理的貼花,并通過改變貼花的透明度模擬隨時間變化的侵蝕效果。場景的漫反射顏色紋理與法線紋理以及貼花的漫反射顏色紋理與法線紋理如圖5所示。

該實(shí)驗結(jié)果能夠較好的體現(xiàn)出延遲貼花技術(shù)的一些優(yōu)點(diǎn)。使用延遲貼花技術(shù),允許更加靈活地使用貼花。因為在進(jìn)行渲染計算之前貼花就已經(jīng)被添加到G-buffer中了,所以我們可以對貼花的法線、反射系數(shù)等任意屬性進(jìn)行更改,而不必像傳統(tǒng)方法那樣局限于對漫反射顏色進(jìn)行處理,并且這些更改也不會增加系統(tǒng)開銷。由于貼花紋理帶有alpha通道,延遲貼花還能夠?qū)ν该骰虬胪该鞯馁N花進(jìn)行處理。因此,可以通過改變貼花的透明度來模擬隨時間變化的侵蝕等效果。

圖4 改變貼花的alpha值模擬侵蝕效果

圖5 場景與貼花的顏色及法線紋理

5 結(jié)語

延遲貼花技術(shù)基于延遲渲染管線對現(xiàn)有的紋理投影技術(shù)進(jìn)行擴(kuò)展。該技術(shù)完全基于GPU實(shí)現(xiàn),繼承了延遲渲染在光照處理方面的所有優(yōu)勢,無需進(jìn)行額外的光照計算,開銷較低。另外,由于延遲貼花技術(shù)渲染了貼花的包圍幾何體,因此能夠從任意角度觀察到貼花的作用效果。實(shí)驗證明,該技術(shù)實(shí)現(xiàn)較簡單,并且相對于傳統(tǒng)貼花渲染技術(shù)可以更加靈活地使用貼花,同時能夠較好地提高貼花渲染的效果,使其在多數(shù)情況下看起來更加真實(shí)。

[1]Krassnigg J.A Deferred Decal Rendering Technique[J].Game Engine Gems,Volume One,2010,1:271.

[2]Kim P.Screen Space Decals in Warhammer 40,000:Space Marine[C].ACM SIGGRAPH 2012 Posters.ACM,2012:6.

[3]Everitt C.Projective texture mapping[J].White paper,NVidia Corporation,2001,4.

[4]1 Kamburelis M.Shadow Maps and Projective Texturing in X3D[C].Proceedings of the 15th International Conference on Web 3D Technology.ACM,2010:17-26.

[5]Ohlarik D,Cozzi I P.A Screen-Space Approach to Rendering Polylines on Terrain[C].ACM SIGGRAPH 2011 Posters.ACM,2011:68.

[6]Qian G,Wang Y U E.Mesh Geometric Editing Approach Based on Gpu Texture[J].2012.

[7]Persson E.Volume Decals[J].GPU Pro,2011,2:115-120.

[8]Mans J,Andreev D.An Advanced Decal System[J].Game Programming Gems,2008,7:423-434.

Decal;Deferred Rendering;OpenGL;Texture Projection;Deferred Decal

Deferred Decal Rendering Technique

LI Jing-wei
(College of Computer Science,Sichuan University,Chengdu 610065)

1007-1423(2016)02-0076-05

10.3969/j.issn.1007-1423.2016.02.018

李京娓(1990-),女,山東,碩士研究生,研究方向為信息處理技術(shù)、計算機(jī)圖形學(xué)

2015-11-24

2015-12-24

隨著延遲渲染技術(shù)的廣泛應(yīng)用,基于延遲渲染管線實(shí)現(xiàn)的貼花渲染方法也在近幾年流行開來。延遲貼花技術(shù)對現(xiàn)有的紋理投影技術(shù)進(jìn)行擴(kuò)展,完全基于GPU實(shí)現(xiàn)。延遲貼花技術(shù)因?qū)崿F(xiàn)較簡單并且性能良好,而成為目前極為流行的一種貼花渲染技術(shù),被廣泛應(yīng)用于游戲中實(shí)現(xiàn)一些視覺特效。結(jié)合OpenGL基于GPU實(shí)現(xiàn)延遲貼花,并展示部分實(shí)驗結(jié)果。

貼花;延遲渲染;OpenGL;紋理投影;延遲貼花

With the development of deferred rendering technique,decal rendering techniques based on deferred rendering pipeline become popular. Deferred decal rendering technique is based on deferred rendering pipeline and extends existing texture projection technique.This technique is entirely GPU based.As deferred decal rendering technique is easy to realize and can improve the rendering effects,it's widely used in 3D games to realize visual effects.Realizes deferred decal rendering technique with OpenGL,demonstrates some results of experiments.

猜你喜歡
效果方法
按摩效果確有理論依據(jù)
學(xué)習(xí)方法
迅速制造慢門虛化效果
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
3D—DSA與3D—CTA成像在顱內(nèi)動脈瘤早期診斷中的應(yīng)用效果比較
主站蜘蛛池模板: 色婷婷在线影院| 波多野吉衣一区二区三区av| 久久这里只有精品23| 91美女在线| 国产精品视频3p| 欧美亚洲一二三区| 国产美女久久久久不卡| 亚洲无码A视频在线| 亚洲人成网18禁| 九九热在线视频| 亚洲精品视频在线观看视频| 精品一区国产精品| 日韩国产另类| 男人的天堂久久精品激情| 成年A级毛片| 久热精品免费| 欧美成人精品一级在线观看| 91综合色区亚洲熟妇p| 99热线精品大全在线观看| 91国内在线视频| 色欲国产一区二区日韩欧美| 午夜在线不卡| 国内精品小视频福利网址| 精品乱码久久久久久久| 91久久夜色精品国产网站 | 精品少妇人妻无码久久| 国产在线自在拍91精品黑人| 72种姿势欧美久久久大黄蕉| 国产精品香蕉在线| 亚洲国产成熟视频在线多多| 精品视频一区在线观看| 国产成人久久综合777777麻豆| 中文字幕人成乱码熟女免费| 99在线视频免费| 亚洲无码在线午夜电影| 国产微拍一区二区三区四区| 无码'专区第一页| 国产精品自在线天天看片| 国产日本欧美在线观看| 中文国产成人久久精品小说| 国产真实乱子伦视频播放| 欧美三级自拍| 亚洲美女一级毛片| 亚洲侵犯无码网址在线观看| 青青草欧美| 欧美一级黄片一区2区| 日韩毛片免费视频| www精品久久| 国产在线一二三区| 伊人久热这里只有精品视频99| 国产在线啪| 国国产a国产片免费麻豆| 日本草草视频在线观看| 亚洲色无码专线精品观看| 日本高清在线看免费观看| 免费看久久精品99| 久久精品免费国产大片| 91在线无码精品秘九色APP| 国产在线拍偷自揄观看视频网站| 国产人碰人摸人爱免费视频| 欧美一级黄色影院| 亚洲精品成人7777在线观看| 国产精品va免费视频| 激情午夜婷婷| 国产91久久久久久| 伊人91在线| 超碰aⅴ人人做人人爽欧美 | 国产91无码福利在线| 精品一区二区三区无码视频无码| 欧美成a人片在线观看| 五月激情综合网| 欧美黑人欧美精品刺激| 亚洲综合色区在线播放2019| 2021最新国产精品网站| 久久午夜夜伦鲁鲁片无码免费| 欧美国产中文| 国产成人综合日韩精品无码首页 | A级毛片高清免费视频就| 国产在线视频二区| 国产精品久久久久鬼色| 国产你懂得| 91在线一9|永久视频在线|