国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Flash的聚光燈光照算法

2012-10-15 12:39:06徐訓(xùn)嘉
科技傳播 2012年23期
關(guān)鍵詞:聚光燈紋理光源

徐訓(xùn)嘉

同濟(jì)大學(xué)軟件學(xué)院,上海 201804

0 引言

提高場景的光照效果是提升虛擬場景真實感的有效途徑,人們能夠看到物體是因為物體的表面反射了從各種光源發(fā)出的光,最常見的有三種光源:方向光,點光源,聚光燈。方向光是由無窮遠(yuǎn)處射出的平行光線,常用于陽光效果的模擬,點光源可以看作由空間中一個特定位置的點發(fā)出各個方向的光線,聚光燈則是空間中一個特定位置的點發(fā)出的特定方向光線的光源,是本文研究的主要范圍。另一方面,除了物體的表面反射,光線穿越空氣等介質(zhì)時還會產(chǎn)生散射,光在空氣中的散射會使光束所穿越空間發(fā)亮,在整體環(huán)境較暗時,這種現(xiàn)象更加明顯,例如陽光穿越云層或者樹林等時產(chǎn)生的多個光束的效果,體積光照就是在虛擬空間中模擬上述效果。此類效果在虛擬環(huán)境中的應(yīng)用能夠使光照更加具有立體感,有效的提升虛擬場景的真實感。

本文通過渲染聚光燈體積光照效果,利用GPU加速,實現(xiàn)和改進(jìn)了已有的光照算法, 使其更好地在Web3D中運行。

1 算法

1.1 算法流程

為了能有效的在場景多個光源情況下進(jìn)行渲染,本文采用了基于以下的流程,將渲染場景幾何信息和渲染光照效果分段進(jìn)行。

渲染的每個階段都通過vertex shader和pixel shader 利用顯卡的可編程渲染管線進(jìn)行計算,通過控制渲染到紋理和渲染到后臺緩存來進(jìn)行不同階段間所需資源信息的傳遞。通過第一個階段將場景幾何信息保存在紋理中,后續(xù)階段再根據(jù)紋理中的數(shù)據(jù)對光照進(jìn)行渲染。

1.2 保存場景幾何信息

渲染的第一個階段需要使用渲染到紋理技術(shù),從攝像機(jī)的角度,將整個場景的幾何信息像素化保存在紋理中,給接下來的渲染提供必要的信息。只有這個階段會用到3D場景中物體的信息,因此需要將物體的表面位置信息,表面法向量信息,表面顏色信息保存下來。

漫反射顏色信息直接通過3*8bits來存儲RGB值,法向量信息通過對單位法向量進(jìn)行線性處理,將其XYZ分量對應(yīng)至0至1區(qū)間后用進(jìn)行3*8bits存儲,由于直接存儲頂點的XYZ位置信息可能會產(chǎn)生精度不足的問題,這里通過轉(zhuǎn)換,使用24bits存儲頂點的視空間深度信息,范圍在0至1區(qū)間,在后續(xù)渲染階段,再根據(jù)攝像機(jī)的參數(shù)對深度信息進(jìn)行還原,得到原有的位置信息。

1.3 渲染物體表面反射

對于每個像素,本文采用的簡化的光照模型進(jìn)行渲染,只考慮至物體的環(huán)境光與漫反射效果:

為了模擬聚光燈邊緣的光照減弱效果,引入?yún)?shù)fall:

最后根據(jù)公式(1)進(jìn)行疊加,產(chǎn)生物體表面的直接光照效果。

1.4 渲染體積光照效果

在渲染完表面直接光照的基礎(chǔ)上,通過設(shè)置多個采樣面,對各采樣面的像素進(jìn)行混合疊加來模擬均勻空間下的單次散射體積光照效果。對于聚光燈, 由于采用平行平面采樣會導(dǎo)致在光源點附近光照效果的不平滑,此算法沒有根據(jù)深度來設(shè)置平面,而是根據(jù)光照的夾角來設(shè)置采樣平面。

算法根據(jù)可手動設(shè)置的采樣率,將聚光燈的視錐按照相同夾角間隔等分出采樣面,對于每個采樣面像素根據(jù)以下公式計算:

在計算像素時,需要先判斷采樣點的深度值是否小于第一階段深度紋理所存信息,采樣點深度值大于深度紋理保存值,像素值取零,保證視線被物體遮擋的部分不會進(jìn)行疊加。

本文所進(jìn)行的試驗均在Nvidia GT 240的環(huán)境下進(jìn)行測試,屏幕分辨率為1024*768:

2 算法效果分析

圖1 算法改進(jìn)結(jié)果

左圖為根據(jù)深度來設(shè)置采樣面,右圖根據(jù)光照角來設(shè)置采樣面。兩種方式的采樣率均為16次采樣,渲染幀數(shù)能達(dá)到24幀以上。從圖中可以明顯看出,在相同采樣率的情況下,通過平行平面采樣在光源點附近會由于采樣率不足導(dǎo)致光照效果的不平滑,根據(jù)光照角度設(shè)置采樣面就能避免這一現(xiàn)象,在光源點附近產(chǎn)生具有高度真實感的效果。

3 結(jié)論

本文提出了一種基于極坐標(biāo)采樣的聚光燈體積光照的計算方法,適用于復(fù)雜和動態(tài)的環(huán)境,在光源數(shù)量較多時也能達(dá)到具有真實感的實時渲染效果。為了能渲染大量光照,出于性能方面的考慮,沒有引入陰影的機(jī)制,因此在某些情況下會造成失真的現(xiàn)象。在以后的工作中,使用一些輕量陰影技術(shù)避免此類現(xiàn)象的出現(xiàn),并繼續(xù)優(yōu)化算法的瓶頸,將是研究的重點。

[1]Dobashi Y,Nishita T,Yamamoto T.Interactive rendering of atmospheric scattering effects using graphics hardware[J].Proc of the Graphics Hardware.2002.

[2]Baran,Chen,Ragan Kelley,Durand,Lehtinen.A hierarchical volumetric shadow algorithm for single scattering[J].ACM Transactions on Graphics 29,2010.

猜你喜歡
聚光燈紋理光源
趨利與避害:聚光燈式運動員發(fā)展啟示研究
影視聚光燈集合罩的創(chuàng)新性研究
基于BM3D的復(fù)雜紋理區(qū)域圖像去噪
軟件(2020年3期)2020-04-20 01:45:18
《光源與照明》征訂啟事
光源與照明(2019年3期)2019-06-15 09:21:04
使用紋理疊加添加藝術(shù)畫特效
TEXTURE ON TEXTURE質(zhì)地上的紋理
Coco薇(2017年8期)2017-08-03 15:23:38
綠色光源
消除凹凸紋理有妙招!
Coco薇(2015年5期)2016-03-29 23:22:15
機(jī)遇
科技連載:LED 引領(lǐng)第三次照明革命——與傳統(tǒng)照明的對比(一)
和龙市| 台前县| 财经| 连山| 长沙县| 木里| 鄄城县| 綦江县| 察哈| 大连市| 江油市| 施秉县| 科技| 库伦旗| 阿城市| 浦县| 丹寨县| 石棉县| 延津县| 汝南县| 文登市| 虞城县| 永泰县| 阿荣旗| 天峻县| 湖南省| 乌拉特后旗| 灵丘县| 阳西县| 耿马| 郧西县| 基隆市| 浙江省| 开远市| 如东县| 射洪县| 肥乡县| 晋中市| 黎城县| 左云县| 清水河县|