亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向大規(guī)模場(chǎng)景的數(shù)字孿生模型快速渲染方法

        2022-12-05 10:59:54楊艷芳
        關(guān)鍵詞:細(xì)粒度錐體面片

        舒 亮,張 潔,陳 璇,楊艷芳

        (1.溫州大學(xué) 浙江省低壓電器工程技術(shù)研究中心,浙江 溫州 325027 2.武漢理工大學(xué) 交通與物流工程學(xué)院,湖北 武漢 430063)

        0 引言

        制造業(yè)是國(guó)民經(jīng)濟(jì)的支柱,隨著經(jīng)濟(jì)和技術(shù)的飛速發(fā)展,制造企業(yè)面臨著快速技術(shù)變革帶來(lái)的多方面挑戰(zhàn),產(chǎn)品生命周期短、需求不穩(wěn)定、高度定制化等因素,對(duì)現(xiàn)代制造業(yè)提出了更高要求,世界各國(guó)已瞄準(zhǔn)新一代信息技術(shù)和先進(jìn)制造技術(shù)的深度融合和應(yīng)用,以智能制造為主攻方向,加快工業(yè)互聯(lián)網(wǎng)創(chuàng)新發(fā)展[1]。數(shù)字孿生作為解決智能制造信息物理融合問(wèn)題和踐行智能制造理念的關(guān)鍵技術(shù),被眾多學(xué)者廣泛研究和關(guān)注,并被引入到越來(lái)越多的領(lǐng)域進(jìn)行應(yīng)用[2]。

        數(shù)字孿生以數(shù)字化方式創(chuàng)建物理實(shí)體的虛擬模型,借助數(shù)據(jù)模擬物理實(shí)體在現(xiàn)實(shí)環(huán)境中的行為,通過(guò)虛實(shí)交互反饋、數(shù)據(jù)融合分析、決策迭代優(yōu)化等手段,為實(shí)體增加或擴(kuò)展新的能力[3-5],從而促進(jìn)物理空間與虛擬空間交互迭代、虛實(shí)融合,便于產(chǎn)品設(shè)計(jì)、生產(chǎn)、運(yùn)維等過(guò)程的數(shù)字化和信息化[6]。數(shù)字孿生技術(shù)應(yīng)用于制造業(yè)領(lǐng)域,所需渲染的三維場(chǎng)景往往具有大量需要實(shí)時(shí)渲染的虛擬模型,包括廠(chǎng)房建筑、廠(chǎng)房環(huán)境、多種產(chǎn)品生產(chǎn)線(xiàn)。其中多種產(chǎn)品生產(chǎn)線(xiàn)由于設(shè)備精細(xì)零件數(shù)量巨大,且模型處于運(yùn)動(dòng)狀態(tài),導(dǎo)致存儲(chǔ)數(shù)據(jù)量較大,動(dòng)態(tài)模型的實(shí)時(shí)數(shù)據(jù)傳輸影響了大規(guī)模場(chǎng)景實(shí)時(shí)渲染效果。對(duì)數(shù)字孿生模型進(jìn)行實(shí)時(shí)渲染,實(shí)時(shí)、動(dòng)態(tài)地生成定制化空間、模型和場(chǎng)景,是構(gòu)建數(shù)字孿生系統(tǒng)的關(guān)鍵,模型渲染速度和效率對(duì)于數(shù)字孿生系統(tǒng)性能至關(guān)重要,尤其是大規(guī)模場(chǎng)景下,解決孿生模型的快速渲染問(wèn)題,是實(shí)現(xiàn)高性能數(shù)字孿生系統(tǒng)的關(guān)鍵。

        目前國(guó)內(nèi)外學(xué)者針對(duì)數(shù)字孿生模型實(shí)時(shí)渲染問(wèn)題進(jìn)行了較多研究,國(guó)內(nèi)學(xué)者如陳景廣等[7]利用多核CPU的計(jì)算特性實(shí)現(xiàn)四叉樹(shù)多細(xì)節(jié)層次(Levels of Detail,LOD)的并行生成和三角形網(wǎng)格的渲染,有利于提高三維數(shù)字高程模型(Digital Elevation Model,DEM)渲染的性能。袁友偉等[8]提出一種基于圖形處理器(Graphics Processing Unit,GPU)的具有真實(shí)感三維實(shí)體模型快速繪制方法,降低能量方程的數(shù)值,減少線(xiàn)性曲面中三角形個(gè)數(shù)。文獻(xiàn)[9]研究了基于GPU的水彩畫(huà)風(fēng)格實(shí)時(shí)渲染及動(dòng)畫(huà)繪制方法,并利用GPU并行加速。文獻(xiàn)[10-12]研究了流體模型的加速渲染方法,如通過(guò)數(shù)值計(jì)算模型的優(yōu)化[10]、GPU加速[11-12]等方法進(jìn)行渲染建模。李融等[13]則利用GPU實(shí)現(xiàn)城市管線(xiàn)數(shù)據(jù)的編解碼、場(chǎng)景管理、曲面細(xì)分建模等任務(wù),有利于提升渲染性能。

        國(guó)外如WHANG等[14]將CPU操作分成兩部分來(lái)提高實(shí)時(shí)圖形渲染的并行處理性能:純CPU操作和與GPU相關(guān)的操作,并使它們并行操作,實(shí)現(xiàn)快速圖形渲染。文獻(xiàn)[15]提出一種可擴(kuò)展的混合CPU-GPU算法,將GPU細(xì)分與CPU瓦片管理結(jié)合在一起,同時(shí)將圖形內(nèi)存的使用保持在實(shí)際限制內(nèi)。文獻(xiàn)[16]提出了用于非剛性3D醫(yī)學(xué)圖像配準(zhǔn)的框架,將兩種基于選定標(biāo)志點(diǎn)的配準(zhǔn)方法在統(tǒng)一計(jì)算設(shè)備架構(gòu)(Compute Unified Device Architecture,CUDA)上實(shí)現(xiàn)。RAMOS等[17]在GPU上進(jìn)行網(wǎng)格的細(xì)化和簡(jiǎn)化,實(shí)現(xiàn)三維模型的多分辨率渲染。

        在現(xiàn)有研究中,國(guó)內(nèi)外學(xué)者主要從CPU多核、CPU和GPU協(xié)同處理、GPU并行計(jì)算這三方面對(duì)場(chǎng)景實(shí)時(shí)渲染進(jìn)行優(yōu)化,借助CPU多核的計(jì)算特性對(duì)LOD、數(shù)據(jù)編碼等渲染優(yōu)化技術(shù)進(jìn)行改進(jìn),提升渲染效率。CPU和GPU協(xié)同處理有助于減輕CPU的計(jì)算壓力,將復(fù)雜計(jì)算交至GPU,加速模型繪制過(guò)程。然而,這些研究中不涉及對(duì)模型渲染流程的改變和優(yōu)化,仍然遵照應(yīng)用階段、幾何階段和光柵化階段的處理流程,在CPU中進(jìn)行場(chǎng)景準(zhǔn)備、視錐體剔除等操作,然后將渲染圖元傳輸?shù)紾PU,進(jìn)行后續(xù)渲染操作,存在以下幾點(diǎn)局限性:

        (1)在現(xiàn)有渲染流程中,其視錐體剔除主要采取粗粒度方式進(jìn)行,視錐體剔除無(wú)法完全剔除在視錐體外部的模型,導(dǎo)致這部分理應(yīng)被剔除的模型仍然會(huì)進(jìn)入后續(xù)渲染流程,加劇CPU和GPU的計(jì)算負(fù)擔(dān)。

        (2)現(xiàn)有方案中視錐體剔除操作主要在CPU中進(jìn)行,由于需要進(jìn)行頻繁的視錐體判定、包圍體計(jì)算、相交計(jì)算、位置關(guān)系判斷等,CPU負(fù)擔(dān)較重,影響孿生模型對(duì)運(yùn)動(dòng)控制、數(shù)據(jù)通信在實(shí)時(shí)性和有效性方面的要求。

        事實(shí)上,將模型渲染流程優(yōu)化與CPU/GPU協(xié)同處理相結(jié)合,同時(shí)對(duì)渲染流程和渲染框架進(jìn)行優(yōu)化和改進(jìn),是進(jìn)行大規(guī)模場(chǎng)景快速渲染的另一種有效思路,尤其是對(duì)設(shè)置有大規(guī)模場(chǎng)景的數(shù)字孿生系統(tǒng),對(duì)數(shù)據(jù)交互、動(dòng)態(tài)控制實(shí)時(shí)性要求高,降低CPU的計(jì)算負(fù)擔(dān)、提升模型渲染效率,是提高數(shù)字孿生系統(tǒng)性能的重要途徑。

        針對(duì)以上問(wèn)題,本文提出一種面向大規(guī)模場(chǎng)景的數(shù)字孿生模型快速渲染新方法,將渲染流程優(yōu)化和CPU/GPU協(xié)同處理相結(jié)合,在渲染流程上,提出一種數(shù)字孿生模型視錐體細(xì)粒度剔除算法,通過(guò)子模型劃分、子模型包圍體創(chuàng)建、相交計(jì)算等操作,實(shí)現(xiàn)視錐體細(xì)粒度剔除;同時(shí),在計(jì)算框架搭建上進(jìn)行優(yōu)化,將幾何模型數(shù)據(jù)傳輸至GPU,在GPU中進(jìn)行并行計(jì)算,將原本CPU中進(jìn)行的視錐體剔除和計(jì)算移植到GPU,進(jìn)行視錐體剔除和操作的并行計(jì)算,減少CPU計(jì)算壓力的同時(shí),利用GPU計(jì)算資源并行計(jì)算,提升模型渲染效率。

        1 模型渲染方案

        圖形渲染主要將三維模型按照相機(jī)、燈光、紋理貼圖等參數(shù)在屏幕上繪制成二維圖像[18-20],傳統(tǒng)圖形渲染方案的流程分為3個(gè)階段:應(yīng)用階段、幾何階段和光柵化階段,如圖1所示。

        (1)應(yīng)用階段 主要在CPU中進(jìn)行,分為場(chǎng)景準(zhǔn)備、視錐體剔除和設(shè)置渲染狀態(tài)等,視錐體剔除主要是將視景之外的模型進(jìn)行剔除,減少進(jìn)入后續(xù)渲染的模型數(shù)量,有利于提升渲染效率,設(shè)置相應(yīng)的渲染狀態(tài)后,渲染圖元傳輸?shù)紾PU,進(jìn)行后續(xù)操作。

        (2)幾何階段 幾何階段基于GPU運(yùn)行,主要進(jìn)行頂點(diǎn)著色、幾何著色、投影、裁剪等渲染流程,最后輸出經(jīng)過(guò)坐標(biāo)變換和投影之后的頂點(diǎn)坐標(biāo)、顏色以及紋理坐標(biāo),將其傳輸?shù)焦鈻呕A段進(jìn)行像素著色等操作。

        (3)光柵化階段 光柵化階段基于GPU進(jìn)行,包括三角形設(shè)置、三角形遍歷、像素著色等流程[21-22],該階段將幾何階段輸出的三角形轉(zhuǎn)化為片段,并對(duì)片段進(jìn)行著色,裁剪、測(cè)試、融合等處理后,最終和幀緩沖混合,形成二維圖像。

        2 孿生模型快速渲染方案

        由傳統(tǒng)模型渲染方案可知,視錐體剔除主要在CPU中進(jìn)行,增加了CPU工作量,并且采用串行方法進(jìn)行,其視錐體剔除模式主要基于粗粒度方法,無(wú)法完全剔除在視錐體外部的模型,導(dǎo)致這部分理應(yīng)被剔除的模型仍然會(huì)進(jìn)入后續(xù)渲染流程,加劇CPU和GPU渲染負(fù)擔(dān)。本文提出的采用并行計(jì)算框架的數(shù)字孿生模型視錐體細(xì)粒度剔除快速渲染新方法,其主要流程如圖2所示。

        2.1 模型數(shù)據(jù)預(yù)處理

        在圖2所示的流程中,需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,對(duì)于大規(guī)模三維場(chǎng)景,視錐體剔除主要對(duì)模型與視錐體進(jìn)行相交檢測(cè),計(jì)算量較大,為了進(jìn)行細(xì)粒度剔除,首先對(duì)數(shù)字孿生模型數(shù)據(jù)進(jìn)行預(yù)處理,其流程如圖3所示。

        在圖3所示流程中,首先進(jìn)行數(shù)據(jù)獲取,加載三維場(chǎng)景數(shù)據(jù)到內(nèi)存和CPU,CPU從內(nèi)存獲取幾何模型數(shù)據(jù)和視錐體數(shù)據(jù),確定相機(jī)可視范圍。

        隨后,CPU調(diào)取幾何模型的三角面片數(shù)量以及三角面片頂點(diǎn)數(shù)據(jù),將模型的三角形面片數(shù)均分,進(jìn)行子模型劃分,將模型剖分為含相同數(shù)量三角面片的分組,每個(gè)分組可以等同為一個(gè)子模型。

        最后,構(gòu)建子模型包圍體,定位并計(jì)算子模型中心坐標(biāo)和范圍,根據(jù)子模型坐標(biāo)和范圍構(gòu)建相應(yīng)大小的子模型包圍體。將視錐體數(shù)據(jù)和預(yù)處理完成的子模型包圍體數(shù)據(jù)共同傳輸至顯存,進(jìn)行視錐體數(shù)據(jù)和包圍體數(shù)據(jù)存儲(chǔ),等待GPU調(diào)取該數(shù)據(jù),進(jìn)行視錐體剔除計(jì)算。

        2.2 基于GPU并行的視錐體細(xì)粒度剔除

        視錐體剔除作為傳統(tǒng)模型渲染方案的重要操作,主要基于粗粒度的模型剔除算法,目的是用來(lái)判斷模型是否需要被繪制,其剔除效率較低。2.1節(jié)對(duì)其進(jìn)行預(yù)處理操作,有助于在GPU并行框架下實(shí)現(xiàn)視錐體細(xì)粒度剔除,能夠有效避免三維場(chǎng)景中冗余模型的大量渲染消耗。在并行框架下進(jìn)行子模型剔除關(guān)系的檢測(cè)和計(jì)算,算法具體步驟為:

        (1)開(kāi)啟GPU并行計(jì)算進(jìn)程,根據(jù)子模型數(shù)量配置相應(yīng)數(shù)目的GPU并行線(xiàn)程,所分配的線(xiàn)程用來(lái)執(zhí)行子模型包圍體與視錐體的相交計(jì)算。由于本文通過(guò)2.1節(jié)模型數(shù)據(jù)預(yù)處理操作,獲取子模型包圍體數(shù)量,因此實(shí)現(xiàn)子模型剔除關(guān)系的檢測(cè)和計(jì)算,需要在GPU上分配相同數(shù)量的線(xiàn)程數(shù)量,即在線(xiàn)程塊中選取合適的線(xiàn)程數(shù)K,以此在每個(gè)線(xiàn)程實(shí)現(xiàn)一個(gè)子模型包圍體與視錐體的相交計(jì)算過(guò)程,從而達(dá)到視錐體細(xì)粒度剔除的并行計(jì)算。

        (2)執(zhí)行細(xì)粒度視錐體剔除算法,視錐體是三維場(chǎng)景中相機(jī)的可見(jiàn)區(qū)域,類(lèi)似一個(gè)頂部切割后平行于底部的金字塔的實(shí)體形狀[23]。視錐體由6個(gè)平面組成,分別為近裁面、遠(yuǎn)裁面、上裁面、下裁面、左裁面、右裁面,如圖4所示。虛擬場(chǎng)景中視錐體與模型的位置關(guān)系有3種:模型完全在視錐體外部、模型完全在視錐體內(nèi)部、模型部分處于視錐體內(nèi)部,如圖5所示,進(jìn)行模型渲染時(shí),屏幕繪制范圍需要控制在視錐體范圍內(nèi)。

        根據(jù)三維場(chǎng)景中相機(jī)坐標(biāo)位置、角度、水平方向視角、近裁面距離、遠(yuǎn)裁面距離等信息,計(jì)算得到相機(jī)視錐體大小、朝向、位置,即得出視錐體的6個(gè)裁面的空間平面方程Ax+By+Cz+D=0,其中x,y和z表示空間坐標(biāo)系,A、B、C和D表示空間內(nèi)平面的系數(shù),其系數(shù)值用于確定平面在空間的具體位置。

        進(jìn)行子模型位置判斷時(shí),假設(shè)視錐體內(nèi)一點(diǎn)P0(x0,y0,z0,w0),點(diǎn)P0在投影空間的映射點(diǎn)為P1(x1,y1,z1,w1),并且所求的投影矩陣為P0,則根據(jù)矩陣乘法可知P0,如式(1):

        (1)

        其中矩陣元素通過(guò)已知的視角、遠(yuǎn)近裁面距離的值來(lái)確定。對(duì)于變換后的P0,若處于視錐體內(nèi)部,則點(diǎn)P1滿(mǎn)足:

        (2)

        若先判斷-w1

        (3)

        于是推導(dǎo)出左裁面的平面方程為(4):

        (4)

        因左裁面中w=1,所以求得左裁面的平面方程為:

        (5)

        其他5個(gè)裁面的平面方程同理可得,即視錐體平面方程為Ax+By+Cz+D=0。

        進(jìn)行細(xì)粒度視錐體剔除時(shí),步驟(1)中開(kāi)啟的每一個(gè)并行計(jì)算進(jìn)程分別與一個(gè)子模型和子模型的包圍體相對(duì)應(yīng),即通過(guò)該進(jìn)程進(jìn)行該子模型和包圍體的相交計(jì)算、位置判斷和剔除等操作,具體包括:①在該進(jìn)程中,確定相機(jī)視錐體大小、朝向、位置,即得出視錐體的6個(gè)裁面的空間平面方程Ax+By+Cz+D=0;②確定子模型近似包圍體,包圍體包括了其位置矩陣和范圍,即包圍體的大小,矩陣則保存了子模型包圍體的位置,角度等重要信息;③將子模型包圍體的某個(gè)點(diǎn)坐標(biāo)(x1,y1,z1)代入其中一個(gè)裁面的平面方程進(jìn)行相交計(jì)算,求出頂點(diǎn)與此裁面的位置關(guān)系,若平面方程Ax+By+Cz+D≤0,則頂點(diǎn)在此裁面外側(cè),繼續(xù)遍歷其余5個(gè)裁面并判斷該頂點(diǎn)位置;④依次計(jì)算子模型包圍體的其余頂點(diǎn),最終求得該子模型與視錐體的位置關(guān)系,只有子模型包圍體完全在視錐體外部的情況下,該子模型才會(huì)被視錐體剔除算法剔除,否則將該子模型存儲(chǔ)到緩存區(qū),并執(zhí)行后續(xù)的幾何、光柵等階段的渲染操作;⑤若計(jì)算結(jié)果顯示該子模型的包圍體與視錐體有相交區(qū)域,通用圖形處理器將該子模型保存至指定緩沖區(qū),否則剔除該子模型。該過(guò)程實(shí)現(xiàn)的偽代碼如下:

        void FrustmCull(線(xiàn)程索引)

        {

        檢測(cè)結(jié)果=1

        子模型數(shù)據(jù)獲取

        for(i=0; i<視錐體平面數(shù)量;i++)

        {

        獲取視錐體第i個(gè)平面方程

        if(子模型包圍盒頂點(diǎn)在視錐體平面方程內(nèi)側(cè))

        {

        檢測(cè)結(jié)果=0

        返回檢測(cè)結(jié)果

        將該子模型存儲(chǔ)至顯存區(qū)域

        }

        else

        {

        檢測(cè)結(jié)果=1,表示該子模型被視錐體剔除,不進(jìn)入下一渲染流程

        返回檢測(cè)結(jié)果

        }

        }

        }

        (3)剔除后的模型數(shù)據(jù)存儲(chǔ)與繪制,通用圖形處理器將位于視錐體內(nèi)部的子模型包圍體數(shù)據(jù)存儲(chǔ)至顯存,并在GPU端執(zhí)行圖形繪制命令,進(jìn)入幾何階段、光柵化階段的渲染步驟[24],最后渲染出一張二維圖像。

        (4)判斷場(chǎng)景是否更新。若數(shù)字孿生模型實(shí)現(xiàn)當(dāng)前幀渲染后,系統(tǒng)因人為控制停止運(yùn)行,則系統(tǒng)渲染結(jié)束。若無(wú)人停止該系統(tǒng),系統(tǒng)處于運(yùn)行狀態(tài),則該系統(tǒng)渲染尚未完成,需要進(jìn)入下一幀渲染。

        (5)模型和視錐體的動(dòng)態(tài)更新,在數(shù)字孿生模型的后續(xù)操作中,若場(chǎng)景出現(xiàn)碰撞檢測(cè)、動(dòng)作變化等大量邏輯更新,表示部分幾何模型或者相機(jī)發(fā)生移動(dòng),即模型位置發(fā)生動(dòng)態(tài)變化或相機(jī)位置發(fā)生變化,CPU對(duì)動(dòng)態(tài)模型的子模型包圍體位置、角度等數(shù)據(jù)以及視錐體數(shù)據(jù)執(zhí)行更新操作,然后將此次更新后的數(shù)據(jù)傳輸至顯存,替代上一幀相應(yīng)數(shù)據(jù),進(jìn)行下一幀場(chǎng)景渲染,并從步驟(1)繼續(xù)執(zhí)行渲染操作,直至渲染結(jié)束。若場(chǎng)景未發(fā)生任何邏輯更新,表示場(chǎng)景未產(chǎn)生新數(shù)據(jù),即幾何模型和相機(jī)視錐體均未移動(dòng),直接進(jìn)入步驟(1)繼續(xù)執(zhí)行渲染操作,直至渲染結(jié)束。

        采用傳統(tǒng)方法進(jìn)行視錐體剔除時(shí),只要模型小部分與視錐體存在相交時(shí),則將該模型全部進(jìn)行保留,即使該模型絕大部分處在視錐體之外,仍然對(duì)全部的模型數(shù)據(jù)進(jìn)行緩存、計(jì)算和存儲(chǔ),浪費(fèi)大量資源,并且渲染效率低下。本文提出的采用并行計(jì)算框架的數(shù)字孿生模型視錐體細(xì)粒度剔除快速渲染新方法,將模型進(jìn)行子模型劃分,并創(chuàng)建子模型包圍體,實(shí)施視錐體細(xì)粒度剔除,可以有效剔除視錐體之外的模型部分,渲染效率得到提升。此外,將原本在CPU中進(jìn)行的視錐體剔除計(jì)算移植到GPU,并進(jìn)行GPU并行計(jì)算,提升了計(jì)算效率,減少CPU負(fù)擔(dān),有助于數(shù)字孿生模型渲染效率和實(shí)時(shí)性指標(biāo)的整體提速。

        3 實(shí)驗(yàn)案例及結(jié)果

        3.1 實(shí)驗(yàn)案例

        本文以斷路器數(shù)字孿生車(chē)間系統(tǒng)為例,對(duì)所提出的數(shù)字孿生模型渲染新方法進(jìn)行驗(yàn)證。斷路器是控制電流通斷的保護(hù)性裝置,提供電流的過(guò)載和短路保護(hù),確保線(xiàn)路及設(shè)備安全,廣泛應(yīng)用于電力、通訊、制造等行業(yè)[25-26]。斷路器制造車(chē)間主體包括生產(chǎn)線(xiàn)輔助組、工作人員和6條不同型號(hào)的斷路器生產(chǎn)線(xiàn),其結(jié)構(gòu)圖如圖6所示。

        每種型號(hào)斷路器生產(chǎn)線(xiàn)分為兩條鏡像裝配線(xiàn)和一條檢測(cè)線(xiàn),其工藝流程如圖7所示。其中斷路器裝配線(xiàn)負(fù)責(zé)自動(dòng)化裝配斷路器內(nèi)部零件,包括自動(dòng)裝手柄/扭簧、磁系統(tǒng)、磁軛、銷(xiāo)軸、總裝、檢測(cè)等12個(gè)工藝流程。斷路器數(shù)字孿生車(chē)間系統(tǒng)中裝配線(xiàn)總模型數(shù)量為21 035,總?cè)敲嫫瑪?shù)量為3.06×107。其中裝配動(dòng)態(tài)模型數(shù)量為14 218,每個(gè)動(dòng)態(tài)模型具備多種裝配運(yùn)動(dòng)狀態(tài),代表模型的每種運(yùn)動(dòng)數(shù)據(jù)都需存儲(chǔ)至內(nèi)存,數(shù)據(jù)存儲(chǔ)占據(jù)內(nèi)存較大,產(chǎn)生大量模型渲染消耗。斷路器檢測(cè)線(xiàn)負(fù)責(zé)殼外零部件組裝以及性能檢測(cè),包括單極穿釘、單極鉚合、激光打標(biāo)、自動(dòng)延時(shí)、多極拼裝、多極穿釘、多極鉚合、掃碼瞬時(shí)、通斷耐壓、自動(dòng)移印、裝配卡扣、貼封口塞等12個(gè)工藝流程。斷路器數(shù)字孿生車(chē)間系統(tǒng)中檢測(cè)線(xiàn)總模型數(shù)量為22 074,總?cè)敲嫫瑪?shù)量為3.01×107。其中檢測(cè)動(dòng)態(tài)模型數(shù)量為15 012,每個(gè)檢測(cè)動(dòng)態(tài)模型為模擬設(shè)備檢測(cè)動(dòng)作,需要進(jìn)行多種動(dòng)作設(shè)計(jì)與數(shù)據(jù)驅(qū)動(dòng),同樣占據(jù)大量?jī)?nèi)存空間和造成模型渲染問(wèn)題。

        斷路器數(shù)字孿生車(chē)間包括斷路器物理車(chē)間、斷路器虛擬車(chē)間、車(chē)間孿生數(shù)據(jù)和車(chē)間服務(wù)系統(tǒng)4部分[27-29],圖8為斷路器數(shù)字孿生車(chē)間主界面。斷路器制造車(chē)間即是物理車(chē)間,通過(guò)PLC控制器、位移傳感器、工業(yè)相機(jī)等裝置控制和管理設(shè)備及其邏輯關(guān)系,構(gòu)建車(chē)間物聯(lián)網(wǎng)通信系統(tǒng),通過(guò)通信系統(tǒng)進(jìn)行孿生數(shù)據(jù)的交互與傳遞。孿生車(chē)間作為物理車(chē)間在虛擬空間全要素、全流程的真實(shí)映射,通過(guò)對(duì)斷路器物理車(chē)間層級(jí)建模、狀態(tài)建模和孿生體運(yùn)動(dòng)規(guī)則構(gòu)建,形成實(shí)時(shí)孿生數(shù)據(jù)控制和孿生車(chē)間系統(tǒng),管理配置車(chē)間資源,實(shí)現(xiàn)斷路器制造車(chē)間的實(shí)時(shí)管控與決策優(yōu)化。

        3.2 實(shí)驗(yàn)結(jié)果

        本文采用Compute Shader通用并行平臺(tái),在所開(kāi)發(fā)的斷路器數(shù)字孿生系統(tǒng)基礎(chǔ)上,對(duì)所提出的數(shù)字孿生模型快速渲染方案進(jìn)行驗(yàn)證,斷路器數(shù)字孿生系統(tǒng)中產(chǎn)線(xiàn)構(gòu)造復(fù)雜、生產(chǎn)設(shè)備模型較多,共包含52 507個(gè)幾何模型,6.09×107個(gè)三角面片。根據(jù)所提出的快速渲染方案,若所需渲染的屏幕可見(jiàn)模型包含2.79千萬(wàn)個(gè)三角面片時(shí),對(duì)幾何模型進(jìn)行預(yù)處理操作,將三角面片均分,剖分為含128個(gè)三角面片數(shù)的分組,每個(gè)分組對(duì)應(yīng)一個(gè)子模型,即場(chǎng)景子模型數(shù)量約為2.17×105,為GPU配置相同數(shù)量的線(xiàn)程,每個(gè)線(xiàn)程用來(lái)處理每個(gè)子模型包圍體和視錐體的細(xì)粒度剔除算法。

        斷路器數(shù)字孿生系統(tǒng)采用Unity 3D引擎開(kāi)發(fā),實(shí)驗(yàn)環(huán)境為Intel(R)Core(TM)i7-9750H CPU@2.60 GHz 2.59 GHz處理器,NVIDIA GeForce RTX 2060顯示適配器。Profiler為該開(kāi)發(fā)引擎提供的性能分析工具,顯示了系統(tǒng)運(yùn)行期間收集的分析數(shù)據(jù),在時(shí)間軸上選定某一幀,即可從顯示的時(shí)間數(shù)據(jù)分析出當(dāng)前幀的CPU、GPU性能消耗,以及CPU、GPU各模塊的性能詳細(xì)情況,如表1所示。可以看到,CPU性能分析由多項(xiàng)模塊組成,主要分為渲染模塊、物理模塊、動(dòng)畫(huà)模塊、腳本模塊、其余模塊等部分,其中渲染模塊是最消耗CPU性能的功能模塊,在選取的這一時(shí)間幀中,渲染模塊占據(jù)整體CPU總體性能消耗的58%。由于CPU對(duì)模型的視錐體剔除等操作無(wú)法實(shí)現(xiàn)細(xì)粒度剔除效果,CPU需要處理大量冗余模型的渲染,進(jìn)一步導(dǎo)致GPU接收大量模型渲染數(shù)據(jù),GPU渲染時(shí)間高達(dá)27.05 ms。

        表1 Profiler性能分析

        傳統(tǒng)圖形渲染方案是基于CPU視錐體剔除的圖形渲染方案,該方案是由CPU負(fù)責(zé)處理視錐體剔除操作,GPU負(fù)責(zé)圖形渲染流程中幾何階段和光柵化階段。CPU對(duì)模型整體的剔除操作一方面造成模型剔除程度效果不高,另一方面大量串行的計(jì)算方式,造成CPU渲染計(jì)算壓力增大。在本文對(duì)比實(shí)驗(yàn)中,基于CPU視錐體剔除的圖形渲染方案需要實(shí)驗(yàn)者將模型與視錐體的剔除算法過(guò)程指令寫(xiě)入CPU,在系統(tǒng)運(yùn)行時(shí),由CPU解釋并執(zhí)行程序內(nèi)容,執(zhí)行預(yù)先設(shè)置的視錐體剔除計(jì)算過(guò)程,最后將所需渲染的模型數(shù)據(jù)傳輸至GPU端顯卡緩存區(qū)。為驗(yàn)證本文的數(shù)字孿生模型快速渲染方案,對(duì)包含不同模型面片數(shù)的場(chǎng)景進(jìn)行檢測(cè),分別對(duì)比了斷路器數(shù)字孿生車(chē)間CPU耗時(shí)、GPU耗時(shí)和平均幀率3個(gè)指標(biāo),分析該方案的優(yōu)化效果。本文以基于CPU視錐體剔除的圖形渲染方案為對(duì)比,兩種渲染方案的CPU耗時(shí)分析如表2所示。由表2可以看出,當(dāng)屏幕可見(jiàn)模型的面片數(shù)量為1.16千萬(wàn)個(gè)時(shí),該渲染方案優(yōu)化率提升了15.70%,隨著模型面片數(shù)量增多,逐漸顯示該方案的優(yōu)化效果,測(cè)試場(chǎng)景最高可優(yōu)化26.52%,減少了CPU的渲染處理壓力。

        表2 兩種渲染方案的CPU性能分析

        表3是兩種渲染方案的GPU性能分析,由結(jié)果分析可知,以3.15千萬(wàn)個(gè)屏幕可見(jiàn)模型面片為例,基于CPU視錐體剔除的圖形渲染方案中GPU耗時(shí)為19.75ms,本文所提渲染方案的GPU耗時(shí)為14.71ms,由于通過(guò)GPU實(shí)現(xiàn)模型細(xì)粒度剔除算法,減少了物體子模型渲染數(shù)量,達(dá)到了孿生模型的細(xì)粒度剔除效果,GPU的渲染耗時(shí)減少了25.51%,有效提高了斷路器數(shù)字孿生系統(tǒng)模型渲染效率。

        表3 兩種渲染方案的GPU性能分析

        對(duì)兩種渲染方案的平均幀率進(jìn)行對(duì)比,對(duì)比結(jié)果如圖9所示。在同一屏幕分辨率1 360×768,實(shí)驗(yàn)對(duì)1.16、2.53、3.15千萬(wàn)個(gè)模型面片進(jìn)行屏幕渲染,基于CPU視錐體剔除的圖形渲染方案的平均幀率為84.3、63.4、32.1;利用本文模型快速渲染方案,系統(tǒng)運(yùn)行的平均幀率為98.2、76.5、41.2。屏幕所需渲染的模型面片數(shù)量過(guò)高時(shí),斷路器數(shù)字孿生系統(tǒng)的渲染性能有效提高了28.35%,提升了數(shù)字孿生模型的渲染質(zhì)量。

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

        本文提出的數(shù)字孿生模型快速渲染方法,通過(guò)視錐體細(xì)粒度剔除和GPU并行計(jì)算框架,可以有效減少渲染過(guò)程中視景之外的模型數(shù)據(jù)規(guī)模,提升后續(xù)渲染效率。此外,將原本在CPU中進(jìn)行的視錐體剔除運(yùn)算移植到GPU,并采用GPU并行計(jì)算框架進(jìn)行視錐體檢測(cè)、位置判斷、剔除等運(yùn)算,進(jìn)一步節(jié)省CPU計(jì)算負(fù)擔(dān),對(duì)于動(dòng)態(tài)性、實(shí)時(shí)性和交互性要求較高、運(yùn)算量大的數(shù)字孿生系統(tǒng)而言,意義明顯。驗(yàn)證結(jié)果表明,在不影響數(shù)字孿生車(chē)間渲染質(zhì)量的情況下,所提出的渲染方法在CPU耗時(shí)、GPU渲染耗時(shí)等指標(biāo)上均有優(yōu)化效果,孿生系統(tǒng)平均幀率提升28.35%,大幅提高了數(shù)字孿生系統(tǒng)的渲染效率。本文提出的大規(guī)模場(chǎng)景快速渲染方法,有助于提升孿生系統(tǒng)的運(yùn)行效率,當(dāng)數(shù)字孿生系統(tǒng)的規(guī)模進(jìn)一步增大時(shí),將本方法與分布式渲染方案進(jìn)行結(jié)合,是未來(lái)進(jìn)一步優(yōu)化極大規(guī)模場(chǎng)景中數(shù)字孿生模型渲染和效率提升的有效方法。

        猜你喜歡
        細(xì)粒度錐體面片
        融合判別性與細(xì)粒度特征的抗遮擋紅外目標(biāo)跟蹤算法
        細(xì)粒度的流計(jì)算執(zhí)行效率優(yōu)化方法
        初次來(lái)壓期間不同頂板對(duì)工作面片幫影響研究
        錐體上滾實(shí)驗(yàn)的力學(xué)分析
        基于雙線(xiàn)性卷積網(wǎng)絡(luò)的細(xì)粒度圖像定位
        支持細(xì)粒度權(quán)限控制且可搜索的PHR云服務(wù)系統(tǒng)
        進(jìn)動(dòng)錐體目標(biāo)平動(dòng)補(bǔ)償及微多普勒提取
        甜面片里的人生
        幸福家庭(2016年3期)2016-04-05 03:47:08
        青海尕面片
        老伴逼我搟面片
        午夜日本精品一区二区| 久久精品国产99久久无毒不卡| 暖暖 免费 高清 日本 在线| 人人爽人人爽人人爽人人片av| 国产女精品视频网站免费| 草莓视频中文字幕人妻系列| 九色精品国产亚洲av麻豆一| 国产草逼视频免费观看| 免费无码专区毛片高潮喷水| 国産精品久久久久久久| 精品久久久久久久久久久aⅴ| 完整在线视频免费黄片| 亚洲精品久久麻豆蜜桃| 曰批免费视频播放免费| 中文字幕无码毛片免费看| 无码a∨高潮抽搐流白浆| 亚洲国产精品久久久久秋霞1 | 东京热无码人妻中文字幕| 久久日本视频在线观看| 青春草在线视频观看| 韩国三级中文字幕hd| 无码人妻精品一区二区三区在线| 含羞草亚洲AV无码久久精品| 美女草逼视频免费播放| 丰满少妇被啪啪到高潮迷轩| 麻豆亚洲av熟女国产一区二| 欧美黑人粗暴多交高潮水最多| 亚洲AV日韩Av无码久久| 国产免费精品一品二区三| 日韩亚洲精品国产第二页| 人人爽人人爽人人片av| 99久久久无码国产精品9| 亚洲综合一区二区三区蜜臀av| 精品人妻va一区二区三区| 久久夜色精品国产噜噜亚洲av| 男人的天堂av网站一区二区 | 2022Av天堂在线无码| 精品国产日产av在线| 久人人爽人人爽人人片av| 天堂8中文在线最新版在线| 99国产小视频|