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

基于GPU紋理查找的彩虹實時渲染技術*

2016-09-21 06:59:14覃海寧

覃海寧

(廣西經貿職業技術學院 信息工程系,廣西 南寧 530021)

?

基于GPU紋理查找的彩虹實時渲染技術*

覃海寧

(廣西經貿職業技術學院 信息工程系,廣西 南寧 530021)

在實時應用中渲染彩虹不容易,要適應環境變化又要有合理的真實感.文章在Lee圖紋理查找表方法的基礎上,通過GPU加速彩虹渲染效率,避免了直接應用空氣中光的散射方程計算彩虹像素值,取得實時逼真的效果,同時將該方法應用于副虹生成、霧虹生成、潮濕空氣等,拓展了它的應用范圍.

GPU編程;彩虹生成;Lee圖;紋理查找

0 引文

彩虹的實時真實感模擬在動漫游戲、自然災害預防和救援、科學計算可視化、虛擬現實等領域均有應用.這種大氣光學現象是由大量雨滴同時對太陽光的折射及散射生成的.圖形學光線傳播過程模擬方法中,最重要的是光線跟蹤和輻射度方法[1].但這些方法不適合彩虹模擬,因為雨滴顆粒對光能傳輸的特殊影響沒有考慮進去,也就是說傳統的圖形學建模和繪制方法難以對其逼真模擬.Musgrave在光的折射與色散理論基礎上,提出了適合利用光線跟蹤及 Z-Buffer 技術繪制的彩虹生成模型,但計算量巨大、生成速度慢[2].Walter根據彩虹光線散射角度,利用Mie散射查找表方法進行采樣,繪制出逼真的彩虹,但仍達不到實時繪制的要求[3].Brewer等根據空氣中的光學理論,計算出適應不同半徑水滴的Lee圖作為查找表,生成了真實感較強的彩虹場景,這種方法大量用于游戲開發中[4].筆者則在Lee圖紋理查找表技術[4]的基礎上,利用GPU編程進一步加速彩虹渲染,并討論該方法如何與場景進一步結合,考慮副虹生成、霧虹生成、潮濕空氣等問題,拓展其應用范圍.

1 彩虹的光學原理

當陽光照射到半空中的雨點,光線被折射及反射,在天空上形成拱形的七彩光譜,這種光學現象稱為彩虹.如圖1所示,陽光進入和退出球形水滴時,不同波長的光(紅、橙、黃、綠、藍和紫)經過不同角度折射、反射、再折射進入觀察者眼睛.紫色光折射角度最小從底部出來, 紅色光則從彩虹頂部出來.即使同一個彩虹,不同位置看到效果也不同,可將其看作以眼睛為焦點的錐形光.

圖1 彩虹成因

2 紋理查找確定彩虹顏色

觀察者眼中的色彩取決于哪種顏色被恰好折射到達觀察者的眼睛,這依賴于:進入水滴的光線位置和角度、觀察者的位置、水滴的半徑和位置.如圖2所示,觀察者眼中的顏色可以通過進入水滴光線與視線兩者夾角和水滴半徑為變量的方程式來確定,散射角度θ為光線被向后彎曲到觀察者眼睛的角度.

圖2 光線與視線的夾角

以散射角度θ與水滴半徑為變量的函數就是RaymondLee提出空氣中光的散射方程[6].以之為基礎,使用PhillipLavin創建的MiePlot開源程序[4],可以預計算光散射方程生成Lee圖(見圖3).Lee圖X軸表示水滴半徑,Y軸表示光線向后彎曲的夾角即散射角度θ,二者共同索引一幅二維圖像,圖像中像素顏色可以作為查找紋理描述彩虹任意狀態下的顏色.

圖3 MiePlot生成Lee圖

3 GPU加速彩虹像素顏色計算

渲染彩虹的實質是將其繪制在與屏幕平行四邊形上,關鍵是彩虹像素點的顏色如何確定.分析Lee圖紋理查找法,Lee圖X軸代表的水滴半徑由程序直接指定,Y軸代表的散射角度θ,一條邊太陽光是平行垂直于地面入射角保持不變不難取得,另一條邊視向量的計算是難點.彩虹渲染過程涉及GPU頂點著色器與像素著色器編程.

視向量從觀察者指向水滴,由GPU頂點著色器計算,只要確定了與屏幕平行的四邊形中各頂點的視向量,像素視向量就可以由網絡三角形頂點均勻夾取來獲得.頂點視向量計算必須把屏幕空間轉換到性質相同的視裁減空間中.具體是用逆投影矩陣變換,找到視空間中平行四邊形的頂點位置,視空間觀察點位置為(0,0,0),兩點相減即可得每個頂點的非標準化視向量,再對其歸一化.同樣,用視圖矩陣可以計算垂直于場景的光線向量在視空間的值.四邊形中每個像素都得到歸一化的視向量和光線向量后,就可以點積求散射角θ的余弦值.

平行屏幕四邊形中像素顏色在GPU像素著色器計算.圖形學中紋理貼圖必須將絕對紋理坐標轉換成相對紋理坐標,其值范圍為[0,1].頂點著色器計算的散射角θ的余弦值,值范圍為[1, -1],當角度在0到90度之間時,值范圍剛好為[1,0],當角度在90度和180度之間時,余弦值范圍為[0, -1],需鏡像映射余弦值則剛好和紋理坐標范圍一致.再通過設置硬件紋理夾取索引Lee圖,就可以查詢彩虹任意點紋理顏色了.

4 拓展紋理查找彩虹生成方法

4.1副虹渲染

自然界有時會生成雙彩虹,其副虹是光線在水滴內部進行兩次反射產生的,如圖4所示.本文方法同樣適用于雙彩虹的效果,只要用MiePlot開源程序重新生成副虹Lee圖,與主虹Lee圖同時應用即可.圖5為瀑布水霧雙彩虹效果展示,可見副虹比主虹顏色淺,色彩與主虹相反,紫色在頂部,而紅色在底部,與真實效果一致.

圖4 副虹成因

圖5 瀑布水霧中的雙彩虹

4.2霧虹生成

不同天氣,生成虹的水滴半徑各不相同,比如霧虹的水滴半徑就比彩虹的大.本文方法同樣適用于渲染霧虹,為了實現更鮮亮的顏色,將MiePlot開源程序生成的查找紋理Lee圖手工修飾成圖6,使Y軸散射角范圍為[180,90],X軸水滴半徑范圍為[5,800]微米,色彩具有了更廣泛的頻帶,能夠產生逼真霧虹效果.

圖6 霧虹的增強Lee圖

4.3可控空氣濕度

空氣中的水分含量也決定著彩虹的質量.水分含量高則有更多的水滴折射和反射,更多的彩色進入到觀者眼睛產生明亮的彩虹,反之則產生暗淡的彩虹.渲染時,準備單獨的濕潤感紋理,使用紅色分量表示水分含量.潮濕因子范圍為[0,1],彩虹像素顏色與潮濕因子相乘,alpha分量可將水分呈現于主天空盒,濕度就可以影響彩虹淡入淡出.

5 結語

圖7為本文實驗結果,左上角圖展示平行于屏幕四邊形的原彩虹;頂部中間圖展示潮濕紋理,場景物體為黑色,云層以灰階呈現;右上角圖展示潮濕紋理疊加彩虹的顏色;底部左圖顯示沒有彩虹場景;底部中圖場景結合了彩虹.以往游戲中渲染彩虹,1600×1200分辨率屏幕彩虹不難被實時生成.筆者依據Mie理論與光散射方程,通過GPU編程實現Lee圖查找紋理法彩虹生成,實驗結果執行花費很低,能保持在每秒80幀以上的渲染效率,再通過進一步討論的副虹、霧虹和潮濕空氣中彩虹的應用拓展了方法的應用場合,證明本文彩虹渲染方法的有效性,有很高的實用價值.如果場景變化不大,可進一步預先計算彩虹紋理優化程序,將其渲染成立方體貼圖,運行時簡單地映射彩虹立方體紋理到天空盒,與潮濕紋理混合即可.這種方式只要水滴半徑不改變,立方體貼圖就不需要改變.當陽光方向變化時,可以旋轉的彩虹天空盒,使彩虹仍然保持在逆光位置的中間.

圖7 彩虹渲染結果

[1]彭群生,鮑虎軍,金小剛.計算機真實感圖形的算法基礎[M].科學出版社,1999.

[2] Musgrave F K. Prisms and rainbows: A dispersion model for computer graphics. Proceedings of Graphics Interface '89[J]. London, 1989: 227-234 .

[3] Walter B. Simulation and visualization of atmospheric light phenomena induced by light scattering[J].Systems Analysis Modeling Simulation, 2000, 42(2):289-298 .

[4] Brewer C. How to render a real rainbow. In: NVIDIA Technical Report[R]. Santa Clara, 2004: 88-102.

[5]Laven, P. The Optics of a Water Drop: Mie Scattering and the Debye Series[EB/OL]. Retrieved July 19, 2004. http://www.philiplaven.com/index1.html.

[6] Lee, Raymond L. Mie theory airy theory and the natural rainbow[J].Applied Optics, 37(9) .

[責任編輯蘇琴]

[責任校對黃祖賓]

Based GPU Acceleration Texture Lookup Real-time Rendering Techniques of Rainbow

QIN Hai-ning

(InformationEngineeringDepartmentofGuangxiEconomic&TradePolytechnic,Nanning530021,China)

Rendering rainbow in real-time applications is not easy, it is necessary to adapt environmental changes and have a reasonable sense of reality, but also to satisfy real-time requirements. In this paper, based on Mie scattering lookup table, using texture lookup method rainbow rendering efficiency by GPU-accelerating, avoiding the direct application of airy light scattering equation to calculate the screen pixel values obtained in real-time realism. The method can also adapt deputy Secondary rainbow, fogbow, moist air problems.

GPU Programming; Rainbow Generation; Lee Diagram; Texture Lookup Table

2016-03-10.

2015年度廣西高校科學技術研究項目(項目編號KY2015YB446).

覃海寧(1979-),女,廣西桂平人,廣西經貿職業技術學院副教授、工程師,研究方向:實時圖形學.

TN911. 3

A

1673-8462(2016)02-0077-04

主站蜘蛛池模板: 无码中字出轨中文人妻中文中| 亚洲综合香蕉| 中文字幕无码制服中字| 亚洲成AV人手机在线观看网站| 在线a网站| 美女免费精品高清毛片在线视| 嫩草影院在线观看精品视频| 91精品国产自产在线老师啪l| 精品一区二区三区中文字幕| 国模私拍一区二区三区| 亚卅精品无码久久毛片乌克兰| 伊大人香蕉久久网欧美| 亚洲AV无码不卡无码 | 亚洲欧洲美色一区二区三区| 亚洲国产欧美自拍| 国产精品熟女亚洲AV麻豆| 国产一区二区影院| 久久久久亚洲av成人网人人软件| 欧美19综合中文字幕| 97色伦色在线综合视频| 欧美日韩精品综合在线一区| 亚洲视频免费在线看| 狠狠综合久久| 亚洲色大成网站www国产| 亚洲天堂视频网站| 免费观看成人久久网免费观看| 国产精品一老牛影视频| 国产视频一二三区| 中文字幕亚洲综久久2021| 国产成人资源| 婷婷亚洲最大| 国产极品美女在线播放| 一级毛片免费的| 白浆免费视频国产精品视频| 亚洲男人的天堂久久精品| 一区二区三区在线不卡免费| 毛片网站在线播放| 久久亚洲美女精品国产精品| 久久精品最新免费国产成人| 亚洲人妖在线| 国产欧美精品专区一区二区| 毛片一区二区在线看| 精品视频一区在线观看| 日韩欧美中文在线| 国产成人精品在线1区| 国产波多野结衣中文在线播放 | 午夜a级毛片| 97国产在线观看| 999福利激情视频| 国产视频你懂得| 国产精品私拍在线爆乳| 天堂av高清一区二区三区| 国产精品丝袜在线| 亚洲综合精品香蕉久久网| 天堂网亚洲系列亚洲系列| 国产手机在线小视频免费观看| 97无码免费人妻超级碰碰碰| 一区二区午夜| 无码国产伊人| 欧美在线综合视频| 亚洲黄网视频| 日本91在线| 国产精品久久自在自2021| 免费一级大毛片a一观看不卡| 久久精品一卡日本电影 | 午夜不卡视频| 久久香蕉国产线看精品| 免费又黄又爽又猛大片午夜| 久久久久亚洲精品成人网| 91精品国产91久无码网站| 亚洲小视频网站| 久久黄色一级视频| 国产亚洲精品自在久久不卡| 免费观看三级毛片| 免费国产在线精品一区| 女人18毛片一级毛片在线| 亚洲av无码牛牛影视在线二区| 尤物特级无码毛片免费| 无码内射在线| a国产精品| 老色鬼欧美精品| 国产性爱网站|