摘要:描述了一個新的結合細節(jié)層次算法和基于圖像渲染的森林渲染系統(tǒng),平衡了基于圖像的渲染方法在渲染質量上的不足與幾何渲染方法在效率上的缺陷。提出了一種新的基于四叉樹紋理拼圖的替代物渲染加速算法,有效地提升了替代物創(chuàng)建與渲染速度。最后,在一個實際的室外場景漫游程序中的運行結果表明了該系統(tǒng)可以用較小的渲染代價獲得很高的渲染質量。
關鍵詞:細節(jié)層次;植被渲染;替代物;基于圖像的渲染
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2007)12-0383-03
室外復雜場景的交互式真實感渲染一直是研究的熱點。其中大面積森林植被的實時渲染是最具挑戰(zhàn)性的工作,它對整體渲染效果有著重要影響。筆者描述了一個混合使用多重細節(jié)層次技術與基于圖像的渲染(替代物)技術的森林渲染系統(tǒng),通過運行時動態(tài)地在兩種渲染技術之間切換,在渲染質量和速度上取得了較好的平衡。同時改進了基于布告板的替代物渲染技術,實現(xiàn)了基于紋理拼圖的壓縮算法。實驗證明,該新算法加快了替代物創(chuàng)建并大幅度提高了紋理內(nèi)存的利用率。
1背景介紹
1.1基于圖像的渲染
近年來,基于圖像的渲染已經(jīng)自成一派,發(fā)展成一種重要的渲染方法。圖像是用于渲染的主要數(shù)據(jù)。這種渲染方法最大的好處在于繪制量與所要渲染的像素數(shù)量(而不是幾何模型中的頂點數(shù))成正比。本文用到的替代物就是一種IBR技術。通過將有著復雜幾何屬性的物體替換為簡單的幾何體,降低場景中物體的幾何復雜度,從而達到提高渲染效率的效果。Maciel等人[1]最早提出替代物作為一種渲染加速算法。基本思想是將物體的幾何模型替換為平面布告板,并將物體的快照作為紋理貼到布告板上。產(chǎn)生和渲染這樣的替代物在計算上代價是很小的,所以是動態(tài)生成替代物的理想算法。但是,當視點移動之后,如果沒有及時更新替代物,產(chǎn)生的視差效果會很明顯。因此需要一種衡量替代物有效性的方法。Schaufler等人[2, 3]提出,如果只是改變觀察方向,就不需要更新替代物,只有在視點移動的情況下,才考慮重新生成替代物。Shade等人[4]利用被替代物體的包圍盒上的最大最小點來計算這一錯誤角度。在文獻[5]中,錯誤角度的計算被簡化為當前視點到替代物方向和產(chǎn)生替代物時視點方向之間的角度。另外,由于替代物本質上是一種基于圖像的方法,會占用大量的紋理內(nèi)存,并且大量的紋理會嚴重影響渲染速度。Nvidia[6]的一份技術報告提出了紋理拼圖(texture atlas)的概念,通過將多幅紋理壓縮到一張紋理拼圖內(nèi),有效地提高了渲染管線的效率。
1.2細節(jié)層次算法
離散細節(jié)層次算法 (discrete level of detail,DLOD)是通過預先建立不同精度的模型,在運行時遠距離的、不那么重要的物體就使用低精度的模型來表示。通常模型精度的選擇是依據(jù)物體到視點的距離[7]。這樣可以在不同層次和不同視覺的條件下,采用不同精細程度的模型來表示同一物體,提高場景渲染速度,實現(xiàn)了實時交互。Dobbyn等人[8]提出的群體渲染系統(tǒng)結合DLOD與替代物渲染技術,實現(xiàn)了同時包含1 000人以上的都市場景的實時模擬。
2森林渲染算法
在本文森林漫游系統(tǒng)中,樹木的表現(xiàn)需滿足如下要求:
a)場景中需要包含大面積的森林(大于10 000棵樹木);
b)在視點移動到近距離后需提供較好的樹木渲染效果;
c)在進行物理、AI模擬的情況下,幀速(FPS)不低于15。
基于上面的原則,筆者評估了多種樹木渲染算法。其中最經(jīng)典的算法是L-System算法[9]。這樣建立的樹木模型雖然有很好的視覺效果,但是動輒20萬以上的三角形面數(shù)使其不適合實時應用;另一方面,使用布告板來表現(xiàn)樹木,雖然渲染代價小,但是其視覺效果卻是不可接受的。因此本文采用了一種混合多邊形與視點對齊布告板的渲染方法,樹干采用多級LOD的多邊形模型,而樹葉則采用視點對齊的布告板組來表示,有效地平衡了渲染質量和速度。圖1是本文渲染方法的效果圖。
下面具體介紹樹木資源的準備與渲染:
a)利用開源軟件Arbaro制作樹干模型,并且導出為obj文件;
b)用3DS Max導入obj文件,添加樹葉占位符,并分別輸出多重LOD的樹干和樹葉模型;
c)預處理樹葉模型,將每一個樹葉占位符替換為一個布告板;
d)在運行時根據(jù)距離選取合適的LOD層次模型,并將樹葉布告板組對齊視點;
e)當樹木距離視點足夠遠時,生成其對應的替代物表示,如圖1(b)所示。
對于動態(tài)產(chǎn)生的替代物來說,最大的問題在于由于視點變化,場景中大量的物體替代物需要重新生成時的計算開銷。如果沒有高效的算法會造成FPS的突降,影響交互性。在本文的應用中,場景中通常存在10 000棵左右的樹木組成的森林,而且還有群體AI、物理模擬等系統(tǒng)的額外開銷。因此一種高效的替代物產(chǎn)生算法對場景漫游應用十分重要。以下詳細描述了經(jīng)過優(yōu)化的替代物渲染改進算法。
3加速算法
首先介紹幾個重要的概念。
1)替代物紋理指應用到替代物布告板上的紋理。
2)替代物紋理拼圖大小為N×N(N為2 048或4 096)的紋理,每一張紋理對應一個紋理空間;利用四叉樹結構被劃分為小塊區(qū)域,每一個區(qū)域對應一個替代物紋理。
3)紋理空間負責管理一個四叉樹結構,每一個葉節(jié)點對應一塊替代物紋理拼圖中的區(qū)域。
圖2是替代物渲染算法的總體框架流程圖。其中dmin是一個在幾何表示與替代物表示之間切換的閾值。圖中出現(xiàn)的一些重要步驟將在3.1與3.2節(jié)中詳細描述。
由于動態(tài)替代物的生成需要頻繁地申請紋理內(nèi)存,并進行渲染到紋理(render to texture),加速算法的核心就是生成替代物的RenderImpostor一步。該加速算法是基于紋理拼圖的思想。如圖3所示,將一組替代物紋理壓縮存儲在一張紋理拼圖中,并將其劃分為四叉樹紋理空間。通過動態(tài)改變替代物布告板紋理坐標來對紋理拼圖中的區(qū)域進行索引。這樣壓縮存儲使得紋理內(nèi)存利用率以及生成替代物時紋理查詢速度都有了很大的提升。圖4是一張實際運行中該系統(tǒng)生成的替代物紋理拼圖。
3.1替代物渲染算法步驟
a)根據(jù)視點移動的幅度,判斷替代物的有效性。如果替代物沒有失效,則不用重新生成替代物。跳出。
b)計算替代物紋理分辨率(決定紋理的大?。?。
c)遞歸遍歷替代物四叉樹紋理空間,查找可用的合適大小的紋理空間。如果沒有可用的紋理空間,創(chuàng)建一張新的替代物渲染紋理拼圖,重復b)。
d)根據(jù)申請到的紋理空間,更新替代物布告板紋理坐標。
e)根據(jù)視點位置更新投影矩陣等。
f)渲染到紋理,創(chuàng)建動態(tài)替代物完成。
3.2有效性度量與紋理分辨率的動態(tài)計算
1)替代物有效性的計算很多時候,替代物對當前幾何形狀的近似誤差隨著視點的改變而變得很大。當錯誤超過某個閾值時,替代物就必須重新生成。本文采用了一種比較普遍[3,5]的有效性度量算法,通過定義一個頂角與一個最小距離,如圖5所示,可以獲得一個稱為軸間區(qū)域的替代物有效區(qū)域[10]。
2)動態(tài)計算替代物紋理分辨率替代物紋理分辨率決定了替代物的視覺效果。如果視點距離過近而紋理分辨率不夠,會有明顯的走樣;當視點足夠遠后,可以降低替代物的紋理分辨率,從而提高渲染效率并減少紋理內(nèi)存的占用。
4實驗結果
筆者在如下配置的PC上實現(xiàn)了本系統(tǒng):操作系統(tǒng)是Windows XP Professional(SP2),CPU是Intel Xeno 3.0 GHz,系統(tǒng)內(nèi)存為1 GB,GPU是NVIDIA的Quadro Fx 3400, 顯存為256 MB,顯卡總線為PCI-Express x16,驅動軟件版本為84.26。整個實現(xiàn)基于電子科技大學數(shù)字媒體研究所開發(fā)的三維圖形引擎完成。圖6是筆者模擬夏天的森林渲染效果圖。圖中的閃電效果也是利用基于圖像的渲染完成的。
圖7為比較使用幾何模型表示的森林與本文混合渲染系統(tǒng)的FPS情況。值得指出的是,這個比較只是一個靜態(tài)的FPS比較,不能完全說明本方法的優(yōu)勢。因此,在圖8中再給出一個在本文漫游系統(tǒng)中實際的動態(tài)FPS結果圖。這個結果是分別在森林大小為5 000、10 000情況下,啟動了AI、物理等特效系統(tǒng)后每秒記錄一次FPS,經(jīng)過50 s后的一個變化圖。筆者相信這樣的實驗可以更真實地反映本系統(tǒng)在實際應用中的效果。
5結束語
基于圖像的渲染是未來圖形學發(fā)展的一個熱點。本文提出的系統(tǒng)成功地結合傳統(tǒng)的LOD技術與替代物渲染技術,并應用在實際的復雜場景漫游中,取得了比較理想的效果。但是也還有不少可以繼續(xù)深入研究的方向。
a)在漫游系統(tǒng)中還是會遇到FPS突降的情形。這是由于過多替代物需要同時生成造成的,雖然沒有影響應用的交互性,但是可以通過實現(xiàn)一個替代物渲染的負載均衡系統(tǒng)來解決這個問題。將需要生成的替代物分布到一個時間段完成。
b)Decoret等人[11]提出的布告板云作為一種基于圖像的模型簡化算法也是一種替代物算法。如果能在系統(tǒng)中整合這樣一個模塊,可以進一步減少模型LOD的需求,從而提高渲染效率。
c)利用最新的圖形硬件可編程功能實現(xiàn)動態(tài)的HDR[12]光照效果,加強場景的真實感。
參考文獻:
[1]MACIEL P W C. SHIRLEY P. Visual navigation of large environments using textured clusters[C]//Proc of Symposium on Interactive 3D Graphics. Monterey, California: ACM Press, 1995:95-102.
[2]SCHAUFLER G. Dynamically generated impostors[C]//FELLNER P W. Modeling-virtual worlds-distributed graphics. Proc of MVD’95 Workshop. Germany: Infix Verlag, 1995:129-135.
[3]SCHAUFLER G, STRZLINGER W. A three dimensional image cache for virtual reality[J].Computer Graphics Forum,1996,15(3):227.
[4]SHADE J, LISCHINSKI D, SALESIN D, et al. Hierarchical image caching for accelerated walkthroughs of complex environments[C]//Proc of the 23rd Annual Conference on Computer Graphics and Interactive Techniques. Califonia: ACM Press,1996:75-82.
[5]JAKULIN A. Interactive vegetation rendering with slicing and blen-ding[C]//Proc of Eurographics.Interlaken:[s.n.], 2000:96-100.
[6]NVIDIA. Improve batching using texture atlases[EB/OL].[2006].http://download.nvidia.com/developer /NVTextureSuite/Atlas_Tools/Texture_Atlas_Whitepaper.pdf.
[7]LUEBKE D, REDDY M, COHEN J, et al. Level of detail for 3D graphics[M].San Francisco: Morgan Kaufmann,2003.
[8]DOBBYN S, HAMILL J, O’CONOR K, et al. Geopostors:a real-time geometry / impostor crowd rendering system[C]//Proc of Symposium on Interactive 3D Graphics and Games. Washington DC: ACM Press, 2005:95-102.
[9]TOBLER R F, MAIERHOFER S, WILKIE A. Mesh-based parametrized L-Systems and generalized subdivision for generating complex geometry[J].International Journal on Shape Modeling,2002,8(2):173-191.
[10]JESCHKE S, WIMMER M, SCHUMANN H, et al. Automatic impostor placement for guaranteed frame rates and low memory requirements[C]//Proc of Symposium on Interactive 3D Graphics and Games. Washington DC: ACM Press, 2005:103-110.
[11]DECORET X, DURAND F, SILLION F X,et al.Billboard clouds for extreme model simplification[J].ACM Transactions on Graphics,2003,22(3):689-696.
[12]DEBEVEC P. High dynamic range imaging[C]//Proc of Conference on SIGGRAPH 2004 Course Notes. Los Angeles,CA: ACM Press, 2004:1-14.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”