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

超大型三維場(chǎng)景分布式渲染系統(tǒng)體系結(jié)構(gòu)與技術(shù)研究

2022-06-21 04:19:20李昆昆于春雨盧石磊李文博
科技創(chuàng)新與應(yīng)用 2022年17期
關(guān)鍵詞:模型系統(tǒng)

郭 陽(yáng),李昆昆,于春雨,盧石磊,李文博,劉 甜

(青島理工大學(xué) 復(fù)雜網(wǎng)絡(luò)與可視化研究所,山東 青島 266520)

分布式渲染是將分布式計(jì)算和實(shí)時(shí)渲染結(jié)合,實(shí)現(xiàn)大體量模型的繪制與渲染,利用多GPU累積能力協(xié)同處理渲染任務(wù),實(shí)現(xiàn)單PC機(jī)無(wú)法達(dá)到的快速繪制與渲染效果。實(shí)時(shí)渲染流程中最為關(guān)鍵的階段是幾何處理和光柵化。STEVEN和MICHAEL等[1]人針對(duì)三維模型實(shí)時(shí)繪制和渲染提出Sort分類策略,將分布式渲染分為了Sort-first、Sort-middle和Sort-last三種方式,Sort-first將圖元數(shù)據(jù)在幾何處理之前進(jìn)行歸屬判斷,Sort-middle將圖元數(shù)據(jù)在幾何處理和光柵化之間進(jìn)行歸屬判斷,Sort-last由于以無(wú)序狀態(tài)通過(guò)了幾何處理和光柵化,因此不再需要?dú)w屬判斷,直接在顯示系統(tǒng)上進(jìn)行圖像合成。

分布式渲染的實(shí)現(xiàn)取決于多渲染節(jié)點(diǎn)的系統(tǒng)構(gòu)建,系統(tǒng)體系結(jié)構(gòu)的設(shè)計(jì)將直接影響渲染效率[2]。本文設(shè)計(jì)一種新的體系結(jié)構(gòu)實(shí)現(xiàn)超大型三維場(chǎng)景的Sortfirst和Sort-last分布式渲染。

1 傳統(tǒng)主從體系結(jié)構(gòu)

傳統(tǒng)的分布式渲染系統(tǒng)體系結(jié)構(gòu)為主從(Master-Slave)結(jié)構(gòu),其結(jié)構(gòu)模型較為簡(jiǎn)單,整個(gè)執(zhí)行過(guò)程中任務(wù)量最大的繪制與渲染由從節(jié)點(diǎn)完成,并且根據(jù)任務(wù)量的需求大小或者用戶要求決定從節(jié)點(diǎn)的數(shù)量,實(shí)現(xiàn)系統(tǒng)的擴(kuò)展性。主從結(jié)構(gòu)的劣勢(shì)在于主節(jié)點(diǎn)職責(zé)過(guò)多,極易影響系統(tǒng)渲染效率;模型的計(jì)算渲染和圖像合成為串行關(guān)系,在從節(jié)點(diǎn)計(jì)算渲染時(shí),主節(jié)點(diǎn)處于空閑狀態(tài)。

孫昭等[3]基于主從結(jié)構(gòu)實(shí)現(xiàn)了一種按場(chǎng)景內(nèi)容分布的渲染系統(tǒng),Master節(jié)點(diǎn)負(fù)責(zé)系統(tǒng)的管理和用戶的交互結(jié)果顯示,Slave節(jié)點(diǎn)負(fù)責(zé)子場(chǎng)景的渲染,該方式提升了場(chǎng)景渲染的整體時(shí)間。彭敏峰[4]提出將多任務(wù)并行圖形繪制系統(tǒng)節(jié)點(diǎn)分為三類:負(fù)責(zé)幾何運(yùn)算的應(yīng)用節(jié)點(diǎn)、執(zhí)行OpenGL指令的服務(wù)節(jié)點(diǎn)和負(fù)責(zé)與用戶交互的控制節(jié)點(diǎn),該結(jié)構(gòu)實(shí)現(xiàn)了多節(jié)點(diǎn)的并行計(jì)算和繪制,繪制結(jié)果可以多個(gè)屏幕顯示。湯敏[5]將分布式渲染的體系結(jié)構(gòu)改進(jìn)為Master-Slave-Collector,在主從結(jié)構(gòu)中加入了Collector節(jié)點(diǎn),通過(guò)添加任務(wù)池和結(jié)果池的方法實(shí)現(xiàn)系統(tǒng)的負(fù)載均衡。路石[6]在基于高性能并行可視化服務(wù)器上實(shí)現(xiàn)了多個(gè)系統(tǒng)內(nèi)部節(jié)點(diǎn),擴(kuò)充了系統(tǒng)中的節(jié)點(diǎn)角色,使系統(tǒng)邏輯更加清晰,但容易造成多個(gè)節(jié)點(diǎn)之間數(shù)據(jù)的往復(fù)傳輸,從而增加由于網(wǎng)絡(luò)傳輸所帶來(lái)的時(shí)間消耗。

2 服務(wù)節(jié)點(diǎn)+主渲染節(jié)點(diǎn)+從渲染節(jié)點(diǎn)結(jié)構(gòu)

2.1 系統(tǒng)節(jié)點(diǎn)角色

基于主從結(jié)構(gòu),為減少主節(jié)點(diǎn)的任務(wù)壓力,并且在從節(jié)點(diǎn)渲染時(shí),主節(jié)點(diǎn)不處于空閑狀態(tài),增加第三類系統(tǒng)角色,該角色承載主節(jié)點(diǎn)中的部分任務(wù)模塊,減輕主節(jié)點(diǎn)任務(wù)量。系統(tǒng)角色為:服務(wù)節(jié)點(diǎn)、主渲染節(jié)點(diǎn)和從渲染節(jié)點(diǎn)。服務(wù)節(jié)點(diǎn)任務(wù)包含:系統(tǒng)環(huán)境部署、任務(wù)計(jì)算;主渲染節(jié)點(diǎn)任務(wù)包含:主渲染循環(huán)維護(hù)、用戶交互和事件處理(根據(jù)渲染需求,判斷系統(tǒng)是否進(jìn)行圖像合成);從渲染節(jié)點(diǎn)任務(wù)包含:被動(dòng)渲染執(zhí)行。

2.2 系統(tǒng)工作流程

本文設(shè)計(jì)的系統(tǒng)體系結(jié)構(gòu)工作流程如下:渲染任務(wù)執(zhí)行時(shí)由服務(wù)節(jié)點(diǎn)的環(huán)境資源部署開始,系統(tǒng)中的其他節(jié)點(diǎn)都會(huì)接收到來(lái)自服務(wù)節(jié)點(diǎn)的部署方案,此時(shí)實(shí)現(xiàn)所有節(jié)點(diǎn)角色的劃分。服務(wù)節(jié)點(diǎn)開始部署渲染任務(wù),首先根據(jù)渲染節(jié)點(diǎn)數(shù)量分配任務(wù)量到其他節(jié)點(diǎn)中,各渲染節(jié)點(diǎn)接受命令加載場(chǎng)景并開始渲染。渲染節(jié)點(diǎn)的工作大致相同,經(jīng)過(guò)清除、繪制、交換等,最后進(jìn)行顯示。在此期間,主節(jié)點(diǎn)還會(huì)接收新的事件命令,并提交到服務(wù)節(jié)點(diǎn),此時(shí)服務(wù)節(jié)點(diǎn)一并計(jì)算,進(jìn)行新的任務(wù)劃分,開始下一幀的渲染循環(huán)。

2.3 并行機(jī)制

在渲染中引入并行機(jī)制,在不改變單幀串行關(guān)系的情況下,使得多幀的渲染實(shí)現(xiàn)并行處理,以此實(shí)現(xiàn)多節(jié)點(diǎn)的分布式任務(wù)處理,減少單節(jié)點(diǎn)的渲染計(jì)算量,還可以實(shí)現(xiàn)流水線加速效果。

當(dāng)采用并行機(jī)制執(zhí)行任務(wù)時(shí),假設(shè)全部在理想情況下,任務(wù)分配、渲染執(zhí)行、數(shù)據(jù)傳輸和圖像合成時(shí)間相等,忽略其他操作的時(shí)間,則理論上N幀的加速比可達(dá)到4N/(N+3)。在實(shí)際執(zhí)行過(guò)程中,模型繪制與渲染和圖像合成的時(shí)間會(huì)遠(yuǎn)遠(yuǎn)大于圖像數(shù)據(jù)傳輸?shù)臅r(shí)間,因此無(wú)法達(dá)到理想效果。并且當(dāng)流水線內(nèi)部包含的模塊操作越多時(shí),其渲染執(zhí)行和圖像合成的時(shí)間差越大,當(dāng)從節(jié)點(diǎn)渲染第k幀時(shí),此時(shí)的圖像合成顯示的是k-2幀,因此在負(fù)責(zé)圖像合成的主渲染節(jié)點(diǎn)中需進(jìn)行緩存處理。

2.4 子任務(wù)劃分

在Sort-first渲染方式中,子任務(wù)根據(jù)屏幕2D圖像的物理位置進(jìn)行劃分,因此子任務(wù)劃分可通過(guò)基于視錐體的圖元分割實(shí)現(xiàn),通過(guò)視錐體計(jì)算可以得出裁剪掉外部圖元[7],還可以得到投影到二維屏幕上的矩陣。

首先選擇三維坐標(biāo)系,采用OpenGL右手坐標(biāo)系,X軸向前,Y軸向上,Z軸向右。以2個(gè)子視錐體為例,進(jìn)行坐標(biāo)和透視投影矩陣計(jì)算。視錐體切分如圖1所示。

通過(guò)設(shè)置視錐體的fovy、Width、Height、zNear、zFar參數(shù)可以得出視錐體中的l、r、t、b、n和這幾f個(gè)變量值,再推導(dǎo)出視錐體透視投影矩陣。得到透視投影矩陣之后,便可以根據(jù)用戶自定義屬性切分視錐體,得到若干個(gè)子視錐體和它們各自的透視投影矩陣。

在切分視錐體為2個(gè)子視錐體時(shí),變換相應(yīng)的變量便可獲得子視錐體的投影矩陣,例如當(dāng)r=0時(shí),即可得到左二分之一子視錐體;當(dāng)l=0時(shí),可得到右二分之一的子視錐體,當(dāng)?shù)玫蕉种蛔右曞F體后,重復(fù)上面的過(guò)程,可得到三分之一或四分之一視錐體,當(dāng)賦值為0時(shí)為均分。

在分配渲染任務(wù)時(shí),需根據(jù)模型變換和新事件處理對(duì)子任務(wù)不斷進(jìn)行劃分,需進(jìn)行負(fù)載均衡處理,通過(guò)在視錐體內(nèi)部建立包圍盒的方式判斷子視錐體內(nèi)部頂點(diǎn)的數(shù)量是否趨于平衡,若某個(gè)子視錐體存在的頂點(diǎn)過(guò)多,則重新分配,使子視錐體內(nèi)部的頂點(diǎn)數(shù)量盡量保持一致,使渲染節(jié)點(diǎn)的任務(wù)量基本一致,渲染時(shí)間保持平衡。

3 實(shí)驗(yàn)測(cè)試

實(shí)驗(yàn)采用5臺(tái)PC機(jī)組成分布式渲染系統(tǒng),其中服務(wù)節(jié)點(diǎn)和主渲染節(jié)點(diǎn)各1臺(tái),從渲染節(jié)點(diǎn)3臺(tái),因此可進(jìn)行四分模型的渲染劃分。

3.1 模型用例

本文選取500米口徑球面射電望遠(yuǎn)鏡(FAST)模型作為測(cè)試用例,課題組已完成FAST模型的建模工作[8-11],如圖2所示。

圖2 FAST模型

FAST各部件模型在經(jīng)過(guò)整合并且添加上其他體量較小的模型之后,整體模型體量已超過(guò)千萬(wàn)級(jí),見表1。

表1 FAST整體模型體量

3.2 測(cè)試結(jié)果

實(shí)驗(yàn)測(cè)試中采取兩種方式驗(yàn)證本文設(shè)計(jì)的系統(tǒng)體系結(jié)構(gòu),一是Sort-first渲染及最終圖像不在主渲染節(jié)點(diǎn)合成的方式,該方式使用2.4節(jié)設(shè)計(jì)的劃分策略完成2D圖像分割;二是Sort-last渲染及最終圖像在主渲染節(jié)點(diǎn)合成的方式,該方式直接將模型數(shù)據(jù)范圍進(jìn)行劃分,各渲染節(jié)點(diǎn)占據(jù)等比例的模型數(shù)據(jù)。

3.2.1 Sort-first圖像不合成方式

根據(jù)子任務(wù)劃分方式,進(jìn)行視錐體的切分,將視錐體分為若干個(gè)不同的子視錐體,所有子視錐體渲染任務(wù)部署到不同的渲染節(jié)點(diǎn)中執(zhí)行渲染操作。如圖3所示,主渲染節(jié)點(diǎn)和3個(gè)從渲染節(jié)點(diǎn)各占1/4的模型渲染任務(wù),并通過(guò)視口的位置變換實(shí)現(xiàn)顯示拼接。

圖3 四分FAST模型圖像不合成

3.2.2 Sort-last圖像合成方式

在該渲染方式中,沒有進(jìn)行基于視錐體的劃分,按照模型比例大小實(shí)現(xiàn)任務(wù)的分配,例如在四分模型中,將模型數(shù)據(jù)大小等分為4份,4個(gè)渲染節(jié)點(diǎn)各占1/4,并且由于Sort-last渲染實(shí)現(xiàn)的是模型的部分區(qū)域,無(wú)法進(jìn)行顯示拼接,因此在主渲染節(jié)點(diǎn)進(jìn)行圖像合成,在渲染窗口中直接輸出整體模型圖案,如圖4所示。

圖4 四分FAST模型圖像合成

3.3 結(jié)果分析

在渲染節(jié)點(diǎn)數(shù)量分別是1~4的情況下,采集執(zhí)行1 000次渲染循環(huán)耗用的時(shí)間,其中包含圖像不合成和圖像合成兩種情況,如圖5所示。

圖5 渲染耗時(shí)對(duì)比

當(dāng)增加渲染節(jié)點(diǎn)時(shí),1 000幀的渲染耗時(shí)持續(xù)減少,繪制和渲染流暢度逐漸提升。當(dāng)增加到4個(gè)渲染節(jié)點(diǎn)時(shí),其渲染幀率也從22 fps分別增加到了47 fps和33 fps,能夠滿足實(shí)時(shí)渲染要求,驗(yàn)證了本文設(shè)計(jì)的分布式渲染系統(tǒng)體系結(jié)構(gòu)的有效性。

在圖像的合成中,由于增加了圖像數(shù)據(jù)的傳輸和合成,因此在渲染耗時(shí)上,高于不合成的方式,并且在渲染節(jié)點(diǎn)逐漸增加的情況下,網(wǎng)絡(luò)傳輸和合成耗時(shí)逐漸增多。

4 結(jié)束語(yǔ)

本文提出一種基于服務(wù)節(jié)點(diǎn)+主渲染節(jié)點(diǎn)+從渲染節(jié)點(diǎn)的分布式渲染系統(tǒng)體系結(jié)構(gòu),將任務(wù)執(zhí)行過(guò)程中與渲染工作無(wú)關(guān)的模塊分離到服務(wù)節(jié)點(diǎn)中,使其承擔(dān)系統(tǒng)管理工作,與渲染相關(guān)的模塊任務(wù)全部分配給渲染節(jié)點(diǎn),并盡量使主節(jié)點(diǎn)與從節(jié)點(diǎn)的任務(wù)量趨于一致。以中國(guó)天眼FAST三維模型作為測(cè)試用例,測(cè)試結(jié)果表明,在保證實(shí)時(shí)渲染流暢度的前提下,本系統(tǒng)能夠有效減少三維模型的整體渲染時(shí)間,提高渲染效率。

猜你喜歡
模型系統(tǒng)
一半模型
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产精品女人呻吟在线观看| 无码网站免费观看| 波多野结衣第一页| 99热线精品大全在线观看| 国产chinese男男gay视频网| 2018日日摸夜夜添狠狠躁| 无码网站免费观看| 亚洲精品福利网站| 国产高潮流白浆视频| 亚洲男人天堂2018| 亚洲人妖在线| 精品超清无码视频在线观看| 亚洲精品福利视频| 日韩精品无码免费一区二区三区 | 啪啪国产视频| 日本五区在线不卡精品| 亚洲日韩欧美在线观看| 美女无遮挡免费网站| 亚洲天堂啪啪| 亚洲无码在线午夜电影| 熟妇丰满人妻| 亚洲AV成人一区国产精品| 国产 日韩 欧美 第二页| 亚洲国产成人精品无码区性色| 日韩精品成人网页视频在线| 国产精品三级av及在线观看| 亚洲欧美另类日本| 国产真实乱子伦精品视手机观看| 成年女人a毛片免费视频| 国产白丝av| 免费中文字幕一级毛片| 国产精品冒白浆免费视频| 欧美日韩理论| 欧美激情综合| 波多野结衣一二三| 在线毛片网站| 国产自在线拍| 午夜日b视频| 亚洲国产成人精品青青草原| 亚洲天堂伊人| 中文字幕一区二区人妻电影| 大乳丰满人妻中文字幕日本| 欧美成人aⅴ| 免费看美女自慰的网站| 亚洲第一区在线| 国产成人免费| 久久频这里精品99香蕉久网址| 日本精品αv中文字幕| 91小视频在线观看| 中文字幕在线日本| 成人免费网站久久久| 免费国产好深啊好涨好硬视频| 国产成人亚洲精品无码电影| 国产欧美日韩免费| 天堂av高清一区二区三区| 亚洲一区二区无码视频| 亚洲精品视频在线观看视频| 亚洲综合欧美在线一区在线播放| 久久精品这里只有国产中文精品| 小13箩利洗澡无码视频免费网站| 久久精品亚洲热综合一区二区| 538国产视频| 2048国产精品原创综合在线| 色综合a怡红院怡红院首页| 四虎在线高清无码| 国内精品视频| 欧美三级视频网站| 国产三级国产精品国产普男人 | A级毛片高清免费视频就| 亚洲精品无码成人片在线观看 | 欧美国产日韩在线| 91无码人妻精品一区二区蜜桃| 日本人妻丰满熟妇区| 香蕉eeww99国产精选播放| 亚洲三级成人| 色综合五月| 国产情侣一区| 国产精品视频a| 四虎永久在线视频| 91小视频在线观看| 激情午夜婷婷| 精品一区二区三区中文字幕|