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

基于延期著色的sort-first繪制集群

2009-12-31 00:00:00雷小永戴樹嶺
計算機應用研究 2009年9期

摘 要:傳統(tǒng)的圖形繪制集群采用前向著色,存在光照著色功能有限、計算負載難以預測等缺陷。為此,提出基于延期著色的sort-first繪制集群架構,該系統(tǒng)可以實時繪制具有復雜光照效果的多邊形場景,并可利用延期著色的負載可預測特性,實現繪制節(jié)點間的負載平衡。同時,提出了基于Equalizer改造現有圖形繪制引擎,構造基于延期著色的sort-first繪制集群的方法。實驗表明,該系統(tǒng)可以在靜態(tài)負載平衡策略下實現高性能的實時圖形繪制,具備良好的可擴展性。

關鍵詞:并行繪制; 繪制集群; 前向著色; 延期著色

中圖分類號:TP391.41文獻標志碼:A

文章編號:1001-3695(2009)09-3556-04

doi:10.3969/j.issn.1001-3695.2009.09.103

Deferred shading based sort-first rendering clusters

CHANG Huia,b, LEI Xiao-yonga,b, DAI Shu-linga,b

(a. State Key Laboratory of Virtual Reality Technology Systems; b. School of Automation Science Electronical Engineering, Beihang University, Beijing 100191)

Abstract:Traditional forward shading based sort-first rendering clusters have the difficulty of load prediction and limited light shading performance. This paper proposed deferred shading based sort-first rendering clusters.The system could render polygon model scenes with complex light shading. On the basis of predictable load of deferred shading, the system could achieve load-balancing among the rendering nodes. The paper also introduced the method to setup such rendering clusters by porting the existing 3D rendering engines with Equalizer. Experiments show that the proposed system can achieve high performance rendering under static load-balancing strategy with great scalability.

Key words:parallel rendering; rendering clusters; forward shading; deferred shading

0 引言

盡管圖形處理器(graphics process unit, GPU)的性能在最近十幾年間迅速提升,但面對虛擬現實、模擬訓練、科學可視化等應用對畫面逼真度和復雜性不斷膨脹的需求,實時繪制技術始終是一個具有挑戰(zhàn)性的問題。如何充分利用現有的圖形繪制設備,構造可擴展的高性能圖形繪制系統(tǒng)就成為計算機圖形領域內一個重要的研究方向。相比昂貴且難以維護與升級的專業(yè)圖形工作站,基于PC與GPU的繪制集群具備性價比高、擴展性好、易于升級等優(yōu)點,逐漸成為實現高性能圖形繪制系統(tǒng)的重要方法。

基于GPU的圖形繪制集群可以分為三種基本類型[1]:sort-first、sort-middle、sort-last,分別代表幾何處理前、幾何處理完成后以及光柵化處理完成后將圖形數據分發(fā)給后續(xù)圖形繪制節(jié)點。Sort-first集群對網絡帶寬要求較低、可擴展性好,但是難以實現繪制節(jié)點間的負載平衡[2,3]。Sort-last繪制集群可以實現較好的負載平衡,但是對網絡帶寬的要求隨著繪制節(jié)點的增加而增長,通常需要采用高速網絡或者專用硬件[4,5]實現繪制畫面的合成。由于目前的PC架構中無法從GPU實時獲取經過幾何處理的圖元數據[6],難以實現sort-middle結構的并行繪制系統(tǒng),目前基于GPU實現的繪制集群普遍采用sort-first、sort-last結構,或者兩者的混合結構[7]。

雖然sort-first的繪制集群具有可擴展性好、成本低、易于實現的優(yōu)點,但是由于目前的GPU普遍采用前向著色繪制管線,受到硬件結構與效率的局限,難以實現復雜的光照著色效果;同時,其構造的繪制集群無法獲得良好的負載平衡。針對上述問題,本文提出基于延期著色的sort-first繪制集群架構,通過采用延期著色作為主要繪制方式,可以獲得復雜、逼真的光照著色效果,同時在繪制集群的節(jié)點間實現穩(wěn)定、高效的負載平衡。該繪制集群可以廣泛應用于各種可視化、虛擬現實領域,以滿足高性能圖形繪制需求。

本文通過分析前向著色存在的問題,提出基于延期著色的sort-first繪制集群架構,并對該架構下繪制負載的可預測性與系統(tǒng)的可擴展性進行說明;介紹延期著色繪制集群中圖形繪制引擎與應用軟件架構的實現方法,通過實驗驗證所提出繪制集群的性能與應用特性。

1 系統(tǒng)架構

根據圖形繪制采用的不同方法,圖形繪制集群可分為前向著色繪制集群以及本文提出的延期著色繪制集群。本章首先分析前向著色繪制集群的特點,然后針對其存在的負載預測困難及片段著色能力有限等不足,提出采用延期著色作為主要繪制方法,構造sort-first結構的繪制集群,并對該集群架構的負載平衡及網絡特性進行分析。

1.1 前向著色繪制集群

前向著色的繪制流程包括幾何處理、光柵化、片段著色與可見性處理四個階段,如圖1所示。其中,nt表示進入繪制流水線的三角形數量;Ot表示三角形在屏幕空間下投影的平均面積;np表示屏幕空間內的可見性像素數量。幾何處理階段對三角形進行空間變換與投影,其計算量由進入繪制管線的三角形數量nt決定。三角形經過光柵化所獲得的片段數量與其投影后覆蓋的屏幕空間面積相關,因此光柵化與片段著色階段的計算復雜性為O(ntOt),即由三角形數量nt與三角形覆蓋屏幕的平均面積Ot決定。

在采用固定管線的GPU中,光柵化片段只能進行有限的著色操作,因此傳統(tǒng)的sort-first繪制集群將幾何處理作為主要消耗計算時間的階段,根據三角形數量nt預測場景的計算負載,然后在屏幕空間內劃分繪制任務并分發(fā)給各個圖形繪制節(jié)點,從而在節(jié)點間獲得較好的負載平衡。

在采用可編程GPU構造的圖形繪制集群中,上述方法難以實現良好的負載平衡效果。因為隨著GPU可編程能力的增強,越來越多復雜的著色算法,如環(huán)境映射、反射、陰影映射,可以通過片段著色程序實現。這導致對光柵化片段的著色處理成為圖形繪制過程中最消耗計算能力的階段,而單純依靠幾何處理負載已不能正確反映全部繪制流程的計算復雜性。另一方面,可視化應用中的多邊形場景通常由非均勻三角形構成,并需要根據不斷運動的視點位置對場景進行成像,這意味著相同數量的三角形會產生數量不同的光柵化片段,難以對三角形覆蓋屏幕的平均面積Ot進行預測。因此,在前向著色的繪制集群中難以預測片段著色階段的計算負載,從而無法對屏幕空間進行劃分以獲得節(jié)點間的負載平衡。

此外,隨著場景復雜程度的增加,場景的深度復雜性同時增加,如圖2所示。在前向著色繪制管線中,較高的深度復雜性會使大量的光柵化片段在完成耗時的著色處理后,由于無法經過深度檢測處理而被丟棄,降低前向著色繪制集群的性能。

1.2 系統(tǒng)架構

針對前向著色繪制集群存在的上述局限,本文提出以延期著色為主要繪制方法的sort-first集群繪制架構,該系統(tǒng)由客戶端、繪制服務器、圖像合成計算機構成,如圖3所示。客戶端根據用戶的應用請求啟動多個繪制服務器上的繪制任務,并將用戶的交互輸入實時提供給各個繪制服務器;繪制服務器完成虛擬場景繪制后提取繪制圖像并發(fā)送給圖像合成節(jié)點;后者對來自多個繪制服務器的繪制圖像進行合成并輸出最終畫面。

在上述繪制集群中,虛擬場景的圖形數據分別存放在各個繪制服務器上,避免繪制過程中的圖形數據傳輸,從而減小系統(tǒng)的網絡帶寬需求。繪制服務器根據屏幕空間的劃分繪制對應場景,經過完整的延期著色繪制流程,產生局部屏幕空間的成像畫面。圖像合成節(jié)點基于各塊局部畫面的顏色緩存數據拼接成完整的屏幕圖像。

相比于只能實現有限光照著色效果的前向著色,最早由Deering等人[8]提出的延期著色,通過將幾何與可見性處理同可見像素的光照著色分離,能夠實現基于復雜光照模型的多光源著色效果。與前向著色技術相比,由兩個獨立繪制階段構成的延期著色具有諸多優(yōu)勢:

a)在可見性檢測之后進行像素著色,不會由于對被遮擋片段的著色處理造成GPU處理能力的浪費。

b)在幾何處理階段無須為不同的光源進行區(qū)分處理,因此可以減少繪制狀態(tài)的轉換次數以及繪制指令的調用次數。

c)增加新的光照計算模型時無須對幾何處理過程進行任何修改。

d)光照著色算法不受GPU對著色指令的長度限制,同時光源數量不受GPU的硬件局限,因此可以實現更多光源與更復雜的光照模型下的著色效果。

基于延期著色技術具有的上述優(yōu)點,已經有若干游戲引擎使用延期著色作為主要繪制方式[9,10]。但是,由于目前的GPU普遍采用前向著色繪制管線,需要使用兩次繪制的方法對現有繪制管線進行改造,如圖4所示。第一次繪制稱做可見性處理階段,場景內的三角形經過幾何變換、剪裁、投影、光柵化以及深度檢測處理后,轉換為每個像素對應的三角形幾何信息,并保存在幾何緩存(G-buffers)中[11]。第二次繪制,即光照著色處理階段,根據幾何緩存的分辨率在屏幕空間內繪制四邊形,然后按照幾何緩存中存儲的可見像素幾何信息執(zhí)行光照著色及后期圖像處理并填充顏色緩存。

1.3 靜態(tài)負載平衡

為了實現集群系統(tǒng)整體效能的提升,必須根據各個節(jié)點的處理能力對負載進行劃分。基于sort-first結構的集群繪制系統(tǒng)通常采用根據視點與場景的運動,預測屏幕空間內的負載分布,并在屏幕空間進行負載劃分的動態(tài)負載平衡策略,如圖5所示。該方法需要耗費一定的處理時間,且時間會隨場景的復雜程度增加而延長。在本文提出的延期著色繪制集群框架下,由于可見性處理與光照著色階段相對獨立,可以在繪制過程中采用靜態(tài)的屏幕空間劃分實現良好的負載平衡效果。

與傳統(tǒng)的前向著色過程不同的是,延期著色方式下,光柵化片段無須執(zhí)行復雜的片段著色計算。因此圖4中的〈〈raster operation〉〉占用時間很短并可以忽略。對于三角形數量巨大的復雜場景,第一次繪制的計算復雜性為O(nt),即可以根據進入繪制管線的三角形數量nt預測該階段的繪制負載。

另一方面,第二次繪制針對每個像素進行著色計算,其計算復雜性為O(np),即光照著色階段的計算負載僅由光照著色的算法復雜性〈〈light shading〉〉、后期處理的算法復雜性〈〈post process shading〉〉,以及可見像素數量np決定,不受場景復雜程度或場景的深度復雜性影響。因此,各個繪制服務器的負載為

Lr=ntlgeo+nplsh(1)

事實上,在實際的圖形應用中,對畫面逼真度的追求使得像素著色負載lsh遠遠高于三角形平均處理負載lgeo。因此各節(jié)點完整繪制過程的計算負載可以近似地由著色負載代替,根據像素數量np,即圖像分辨率,對屏幕空間進行劃分,式(1)可以簡化為

Lr=nplsh(2)

圖形應用的畫面分辨率不會隨繪制過程改變,因此上述屏幕空間的劃分可以在繪制開始前完成,從而實現靜態(tài)的負載平衡處理。

1.4 基于顏色緩存的圖像合成

采用延期著色的sort-first繪制集群,根據節(jié)點間傳輸數據的不同,分為幾何緩存與顏色緩存兩種圖像合成方式,它們均需要根據屏幕空間的劃分將繪制負載分配給多個繪制服務器。與前向著色的sort-first繪制集群類似,基于顏色緩存的圖像合成中,各個繪制服務器執(zhí)行完整的繪制任務,并將其獲得的局部屏幕圖像提供給圖像合成節(jié)點。基于幾何緩存的圖像合成方式中,繪制服務器只負責執(zhí)行幾何與可見性處理,然后將獲得的幾何緩存數據提供給圖像合成節(jié)點,因此,后者在圖像合成完成后還需要進行全屏幕的像素著色處理。

為了實現復雜的光照著色模型,延期著色中的幾何緩存通常需要保存多項數據,所以基于幾何緩存的圖像合成需要較高的網絡帶寬。例如在采用延期著色實現Phong光照模型的應用中,對于每個像素,幾何緩存需要保存的數據包括像素對應的可見點深度、可見多邊形的表面法向量、可見多邊形表面材質的漫反射系數和鏡面反射系數。圖6中,漫反射系數與法向量均為3維向量。為了保證光照著色階段的計算精度,幾何緩存數據以16 bit浮點數格式保存,每個像素的幾何信息需要占用16 Byte,大大增加了網絡傳輸的負擔。

相反地,基于顏色緩存的圖像合成只需為每個像素傳輸三個字節(jié)的顏色數據。因此,本文提出的sort-first繪制集群中,各個繪制服務器執(zhí)行完整的延期著色繪制流程,并基于顏色緩存數據進行圖像合成,從而降低系統(tǒng)對網絡帶寬的要求。

2 系統(tǒng)實現

本章介紹基于延期著色的sort-first繪制集群的實現方法,即使用現代三維圖形引擎和GPU可編程特性構造延期著色繪制系統(tǒng),并利用并行圖形應用開發(fā)框架Equalizer[12]實現基于計算機集群的延期著色繪制系統(tǒng)。

2.1 基于OGRE的延期著色繪制引擎

開源的三維圖形引擎OGRE[13]可以在多種平臺下通過DirectX或OpenGL圖形接口實現實時的三維圖形繪制。作為一種現代的圖形繪制引擎,OGRE支持包括多繪制對象和可編程著色等技術,其內部的材質與合成器腳本可用于場景材質及多遍繪制過程的管理。

在基于OGRE實現的延期著色繪制引擎中,第一次繪制只對場景多邊形進行幾何處理與光柵化,并在片段著色時利用片段著色程序將幾何緩存數據保存到預先創(chuàng)建好的多個繪制對象中。在第二次繪制中,繪制描述各個光源對象的多邊形模型,在其片段著色階段獲取覆蓋像素的幾何緩存數據,并執(zhí)行各自的光照著色算法。

2.2 Equalizer

Equalizer是一個用于可擴展圖形應用的開源編程接口和資源管理系統(tǒng),可以實現對普通三維繪制引擎的并行化改造,如圖7所示。通過不同的服務器配置方案,一個使用Equalizer擴展的圖形繪制應用無須修改即可應用到各種結構的可視化系統(tǒng),如單GPU的圖形工作站、大型的圖形繪制集群或者具有共享存儲器的并行繪制系統(tǒng)。此外,Equalizer基于一套并行、可擴展的編程接口,可以完成繪制集群所需的分布式數據共享、幀緩存切換同步、軟件圖像

合成等功能。

3 實驗評估

本文的圖形繪制集群由三臺繪制計算機和一臺圖像合成計算機構成,并通過千兆以太網進行通信。各臺計算機使用HP xw8400工作站,采用Core 2四核CPU,2 GB DDRⅡ內存,其中繪制計算機配備GeForce 8800GT顯卡,而圖像合成計算機配備GeForce 8600GT顯卡。

為了測試延期著色技術在sort-first繪制集群中的性能,利用延期著色易于實現多光源光照效果的優(yōu)勢,構造了以光照著色為主要計算負載的多邊形場景。場景中的多邊形數量為100萬個,并可以通過調整光源的數量改變繪制過程中的像素著色負載。事實上,在實際應用中,多邊形密度較高的虛擬場景可以通過視錐剪裁、遮擋剪裁和多細節(jié)程度繪制[14]等技術減少真正進入繪制管線的多邊形數量,轉變?yōu)橄袼刂珵橹饕撦d的繪制過程,但是這部分內容已經超出了本文討論的范圍。

在延期著色與前向著色的性能對比中,成像視點隨運行時間變化而圍繞場景中心運動。從圖8(場景由100萬三角形構成,并通過50個靜止的點光源照射)中可以看到,采用前向著色繪制時,場景繪制周期隨著視點的運動不斷變化;而采用延期著色繪制時,場景繪制周期比較穩(wěn)定。特別地,在不進行光照著色處理只進行可見性處理時,場景的繪制周期更加穩(wěn)定,且僅占全部繪制周期的很小比例。因此延期著色技術在提高場景繪制速度的同時,還具有很好的負載可預測性。

在對集群系統(tǒng)的繪制性能進行測試時,通過改變場景中用于著色的光源數量來調節(jié)像素著色階段的負載,并在不同節(jié)點數量下對繪制集群的繪制速度進行對比,其中在三個繪制服務器節(jié)點間采用將屏幕進行等分的方式實現靜態(tài)的負載平衡。從圖9可以看到,當光源數量超過200個,光照著色成為主要負載來源,采用多臺繪制計算機構造的延期著色繪制集群可以有效地提高圖形繪制速度,同時增加繪制服務器的數量也能夠提高系統(tǒng)的繪制速度,而且不會帶來額外的網絡負載需求。當光源數量低于200時,由于單一節(jié)點的繪制速度較高,相對地,多節(jié)點進行并行繪制時的同步與圖像合成產生的延遲較高,從而導致繪制速度低于單一節(jié)點的現象。

為了驗證靜態(tài)負載平衡策略在延期著色繪制集群中的作用,參考Mueller[15]的方法,用多個繪制服務器中的最大負載與平均負載的比值衡量系統(tǒng)的負載平衡效果。Mueller與Frederico[2]均認為該值低于1.5時,系統(tǒng)的負載平衡情況是可接受的。測試結果如圖10所示。從圖10可以看出,基于靜態(tài)負載平衡策略,采用延期著色的繪制集群可以使該比值的均值低于1.1,遠低于采用前向著色時的平均比值,同時也優(yōu)于Fre-derico利用動態(tài)負載

平衡算法實現的平均比值1.2。

4 結束語

為了解決前向著色的繪制集群存在的各種問題,本文提出了基于延期著色的sort-first繪制集群架構,并采用并行繪制框架Equalizer與三維圖形繪制引擎OGRE構建并行繪制應用,對所提出的繪制集群進行實驗驗證。結果表明所提出的繪制集群架構可以在靜態(tài)負載平衡策略下實現復雜場景的實時逼真繪制。除了具有較高的圖形繪制性能,此系統(tǒng)還具有高性價比、擴展性好等特點,可以廣泛應用于虛擬現實、仿真、模擬訓練等需要高性能實時圖形繪制的領域。

參考文獻:

[1]MOLNAR S, ELLSWORTH D, FUCHS H. A sorting classification of parallel rendering[J]. IEEE Computer Graphics and Applications, 1994,14(4): 23-32.

[2]ABRAHAM W C, CERQUEIRA R. A load-balancing strategy for sort-first distributed rendering[C]//Proc of the 17th Brazilian Symposium on Computer Graphics and Image Processing. Brazilian:IEEE Press,2004: 292-299.

[3]SAMANTA J Z, FUNKHOUSER T, LI Kai, et al. Load balancing for multi-projector rendering systems[C]//Proc of ACM SIGGRAPH Workshop on Graphics Hardware. New York:ACM Press,1999:107-116.

[4]PUGMIRE D, DAVENPORT C, DUBOIS A. NPU-based image compositing in a distributed visualization system[J]. IEEE Visualization and Computer Graphics, 2007,13(4): 798-809.

[5]STOLL M E, PATTERSON D, WEBB A, et al. Lightning-2: a high-performance display subsystem for PC clusters[C]// Proc of International Conference on Computer Graphics and Interactive Techniques. New York:ACM Press, 2001:141 -148.

[6]HUMPHREYS M E, BUCK I, STOLL G. WireGL: a scalable graphics system for clusters[C]// Proc of International Conference on Computer Graphics and Interactive Techniques. New York:ACM Press, 2001:129-140.

[7]PENG Hao-yu, QIN Ai-hong, XIONG Hua, et al. A nested parallel pipeline for parallel graphics rendering based on PC-cluster[J]. Journal of Computer-Aided Designed Computer Graphics, 2006,18(10):1581-1582.

[8]DEERING S W, SCHEDIWY B, DUFFY C, et al. The triangle processor and normal vector shader: a VLSI system for high performance graphics[C]// Proc of the 15th Annual Conference on Computer Graphics and Interactive Techniques. New York:ACM Press, 1988:21-30.

[9]SHISHKOVTSOV O. Deferred shading in S.T.A.L.K.E.R. [M]// PHARR M. GPU Gems 2:programming techniques for high-performance graphics and general-purpose computation.[S.l.]: Addison Wesley Professional, 2007:101-116.

[10]KOONCE R. Deferred shading in Tabula Rasa[M]// NGUYEN H. GPU Gems 3.[S.l.]: Addison Wesley Professional, 2007:235-258.

[11]SAITO T. Comprehensible rendering of 3-D shapes[C]// Proc of the 17th Annual Conference on Computer Graphics and Interactive Techniques. New York:ACM Press, 1990:197-206.

[12]GMBH E S. Equalizer programming guide[R/OL].(2008-01-28).http://www.equalizergraphics.com/documents/Developer/Guide.pdf.

[13]JUNKER G. Pro OGRE 3D programming[M].New York:Springer-Verlag,2006.

[14]DIETRICH E G, YOON J. Massive-model rendering techniques: a tutorial[J]. IEEE Computer Graphics and Applications, 2007,27(6):20-34.

[15]MUELLER C. The sort-first rendering architecture for high-performance graphics[C]// Proc of Symposium on Interactive 3D Graphics.New York:ACM Press,1995:75-82.

主站蜘蛛池模板: 国产成人免费| 激情综合婷婷丁香五月尤物| 国产精品无码制服丝袜| 素人激情视频福利| 免费国产好深啊好涨好硬视频| 久久频这里精品99香蕉久网址| 国产精品林美惠子在线播放| 亚洲资源站av无码网址| 中文字幕欧美日韩| 99无码中文字幕视频| 老色鬼久久亚洲AV综合| 国产99视频精品免费视频7| 亚洲国产欧美中日韩成人综合视频| 人人艹人人爽| 国产亚洲精品97在线观看| 亚洲男人的天堂在线| 国产一级视频久久| 永久免费精品视频| 色综合a怡红院怡红院首页| 日本日韩欧美| 久久精品丝袜| 国产玖玖玖精品视频| 欧美午夜小视频| 亚洲无码37.| 国产美女精品一区二区| 国产成人综合亚洲网址| 亚洲无码高清一区| 人妻中文久热无码丝袜| 狠狠干综合| 亚洲av无码专区久久蜜芽| 精品久久蜜桃| 亚洲综合婷婷激情| 国产一区二区色淫影院| 五月天久久婷婷| 婷婷开心中文字幕| 国产在线拍偷自揄观看视频网站| 亚洲国模精品一区| 农村乱人伦一区二区| 国产97色在线| 亚洲无码A视频在线| 色偷偷av男人的天堂不卡| 色婷婷亚洲十月十月色天| 亚洲精品午夜天堂网页| 伊人久久婷婷五月综合97色| jizz在线免费播放| 免费一级成人毛片| 91探花在线观看国产最新| 久久6免费视频| 国产精品99一区不卡| 3p叠罗汉国产精品久久| 婷婷亚洲天堂| 日韩av高清无码一区二区三区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久天天躁狠狠躁夜夜躁| 欧美a在线视频| 色悠久久久| 午夜小视频在线| 无码啪啪精品天堂浪潮av| 国产精品免费电影| 又粗又硬又大又爽免费视频播放| 手机在线免费不卡一区二| 亚洲国产成人在线| 91精品国产自产在线观看| 国产一区二区三区在线观看免费| 制服丝袜一区| 四虎综合网| 国产精品成人AⅤ在线一二三四| 欧美成人一区午夜福利在线| 激情综合五月网| 99精品一区二区免费视频| 免费看黄片一区二区三区| 91免费国产高清观看| 婷婷色狠狠干| 色香蕉影院| 亚洲午夜福利精品无码| 精品国产成人高清在线| 国产成人精品一区二区三在线观看| 色综合天天视频在线观看| 欧美精品亚洲日韩a| 老熟妇喷水一区二区三区| 精品国产黑色丝袜高跟鞋| 亚洲一本大道在线|