• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Flash的聚光燈光照算法

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

      徐訓(xùn)嘉

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

      0 引言

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

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

      1 算法

      1.1 算法流程

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

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

      1.2 保存場景幾何信息

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

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

      1.3 渲染物體表面反射

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

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

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

      1.4 渲染體積光照效果

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

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

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

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

      2 算法效果分析

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

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

      3 結(jié)論

      本文提出了一種基于極坐標采樣的聚光燈體積光照的計算方法,適用于復(fù)雜和動態(tài)的環(huán)境,在光源數(shù)量較多時也能達到具有真實感的實時渲染效果。為了能渲染大量光照,出于性能方面的考慮,沒有引入陰影的機制,因此在某些情況下會造成失真的現(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
      機遇
      科技連載:LED 引領(lǐng)第三次照明革命——與傳統(tǒng)照明的對比(一)
      蓬莱市| 伊金霍洛旗| 天水市| 平罗县| 云阳县| 赤峰市| 商水县| 宣威市| 张北县| 太康县| 交口县| 桑植县| 陇川县| 囊谦县| 西城区| 尤溪县| 东兴市| 大邑县| 桑日县| 保德县| 晋江市| 随州市| 鹤庆县| 沁源县| 东兴市| 金秀| 昂仁县| 安顺市| 鹤山市| 双牌县| 保康县| 肥城市| 濉溪县| 扎鲁特旗| 呼伦贝尔市| 勐海县| 湘潭县| 兰溪市| 灵丘县| 甘泉县| 繁昌县|