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

主站蜘蛛池模板: 欧美三级视频网站| 视频一区视频二区日韩专区| 亚洲无限乱码一二三四区| 亚洲无码电影| 午夜性刺激在线观看免费| 欧美国产另类| 日本免费新一区视频| 久久性妇女精品免费| 亚洲a级毛片| 一区二区影院| 亚洲人成在线精品| 免费人成在线观看成人片| 97一区二区在线播放| 一区二区影院| 亚洲清纯自偷自拍另类专区| 亚洲精品国偷自产在线91正片| 亚洲视频二| 91成人在线观看| 毛片a级毛片免费观看免下载| 亚洲美女一级毛片| 国产欧美日韩综合一区在线播放| 国产精品女人呻吟在线观看| 无码在线激情片| 亚洲性影院| 看你懂的巨臀中文字幕一区二区| 色综合天天操| 国产精品视频猛进猛出| 狠狠色噜噜狠狠狠狠奇米777| 最新痴汉在线无码AV| jizz国产视频| 成人永久免费A∨一级在线播放| 久久国产高潮流白浆免费观看| 五月婷婷亚洲综合| 免费国产不卡午夜福在线观看| 欧美午夜在线观看| 国产欧美日韩18| 狠狠亚洲婷婷综合色香| 亚洲色图狠狠干| 青青草国产一区二区三区| 91免费国产高清观看| 真人免费一级毛片一区二区| 亚洲婷婷丁香| 国产精品人莉莉成在线播放| 一级一级特黄女人精品毛片| 欧美成人一级| 免费女人18毛片a级毛片视频| 91成人在线观看| 欧美色99| 亚洲天堂网2014| 国产成人精品男人的天堂| 三上悠亚在线精品二区| 精品亚洲麻豆1区2区3区| 久热中文字幕在线| 国产午夜无码专区喷水| 中文字幕亚洲无线码一区女同| 亚洲国产精品美女| 特级精品毛片免费观看| 欧美人人干| 人妻精品全国免费视频| 亚洲天堂伊人| 亚洲国产成人久久77| 久久精品嫩草研究院| 国内精品一区二区在线观看 | 97青草最新免费精品视频| 亚洲日产2021三区在线| 国产高颜值露脸在线观看| 国产制服丝袜无码视频| 日韩免费视频播播| 老司机久久精品视频| 国模视频一区二区| 久操中文在线| 久久青草精品一区二区三区| 国内精品小视频在线| 国产精品真实对白精彩久久 | 国产自无码视频在线观看| 国产精品区视频中文字幕| 国产超薄肉色丝袜网站| 国产门事件在线| 丝袜国产一区| 欧美一级99在线观看国产| 2048国产精品原创综合在线| 波多野结衣在线se|