System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 精品无码av无码专区,亚洲精品无码久久久久久久,岛国av无码免费无禁网站
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種WebGPU實(shí)時(shí)渲染管線的生成方法技術(shù)

    技術(shù)編號:43844589 閱讀:20 留言:0更新日期:2024-12-31 18:39
    本發(fā)明專利技術(shù)涉及一種WebGPU實(shí)時(shí)渲染管線的生成方法,包括:獲取待測3D對象的相機(jī)視椎體,將其傳遞至八叉樹容器對象,進(jìn)行逐步遍歷以及類別區(qū)分,獲取渲染對象并將其存放至渲染隊(duì)列中;獲取每個(gè)渲染對象的全局?jǐn)?shù)據(jù)和MVP矩陣并將其分別一次性上傳至GPU中;遍歷每個(gè)渲染對象,獲取其對應(yīng)的材質(zhì),根據(jù)材質(zhì)確定渲染對象的具體渲染參數(shù)、材質(zhì)名稱、材質(zhì)狀態(tài)值、紋理貼圖和宏定義值,并將具體渲染參數(shù)上傳至GPU中;根據(jù)Cache判斷渲染管線是否已經(jīng)創(chuàng)建完成,若存在Cache,則創(chuàng)建完成,直接調(diào)用渲染管線進(jìn)行渲染,若不存在Cache,創(chuàng)建渲染管線,進(jìn)行渲染;本發(fā)明專利技術(shù)的方法解決了現(xiàn)有技術(shù)中渲染效率低且資源復(fù)用率低的技術(shù)問題。

    【技術(shù)實(shí)現(xiàn)步驟摘要】

    本專利技術(shù)涉及計(jì)算機(jī)圖形,尤其涉及一種webgpu實(shí)時(shí)渲染管線的生成方法。


    技術(shù)介紹

    1、在現(xiàn)有技術(shù)中,webgpu引擎很少,大部分都是通過預(yù)先定義好某個(gè)材質(zhì)的數(shù)據(jù)綁定插槽以及渲染管線,調(diào)用瀏覽器提供的底層api生產(chǎn)不同的數(shù)據(jù)綁定邏輯(bindgroup)以及渲染管線(renderpipe)針對不同的渲染情況,封裝了較多的渲染邏輯,靈活性很差,在場景多批次渲染中,會(huì)不停的切換渲染管線導(dǎo)致渲染效率較低。

    2、因此,目前亟需一種webgpu實(shí)時(shí)渲染管線的生成方法。


    技術(shù)實(shí)現(xiàn)思路

    1、(一)要解決的技術(shù)問題

    2、鑒于現(xiàn)有技術(shù)的上述缺點(diǎn)、不足,本專利技術(shù)提供一種webgpu實(shí)時(shí)渲染管線的生成方法,其解決了現(xiàn)有技術(shù)中渲染效率低且資源復(fù)用率低的技術(shù)問題。

    3、(二)技術(shù)方案

    4、為了達(dá)到上述目的,本專利技術(shù)采用的主要技術(shù)方案包括:

    5、本專利技術(shù)實(shí)施例提供一種webgpu實(shí)時(shí)渲染管線的生成方法,包括:

    6、s100、獲取待測3d對象的相機(jī)視椎體,并將所述相機(jī)視椎體傳遞至八叉樹容器對象,進(jìn)行逐步遍歷以及類別區(qū)分,獲取透明渲染對象以及不透明渲染對象,并將所述透明渲染對象以及不透明渲染對象存放至渲染隊(duì)列中;

    7、所述相機(jī)視椎體通過相機(jī)提供的視點(diǎn)信息獲??;

    8、s200、獲取所述渲染隊(duì)列的全局?jǐn)?shù)據(jù)以及渲染隊(duì)列中每個(gè)渲染對象的模型矩陣,根據(jù)所述渲染隊(duì)列的全局?jǐn)?shù)據(jù)以及每個(gè)渲染對象的模型矩陣,獲取每個(gè)渲染對象的mvp矩陣;將所述全局?jǐn)?shù)據(jù)以及每個(gè)渲染對象的mvp矩陣分別一次性上傳至gpu中;

    9、s300、遍歷渲染隊(duì)列中的每個(gè)對象,獲取其對應(yīng)的材質(zhì),根據(jù)所述材質(zhì)確定渲染對象的具體渲染參數(shù)、材質(zhì)名稱、材質(zhì)狀態(tài)值、紋理貼圖以及宏定義值,并將所述渲染對象的具體渲染參數(shù)一次性上傳至gpu中;

    10、s400、根據(jù)cache判斷渲染管線是否已經(jīng)創(chuàng)建完成,若存在cache,則創(chuàng)建完成,直接調(diào)用渲染管線進(jìn)行渲染,若不存在cache,創(chuàng)建渲染管線,調(diào)用渲染管線對渲染隊(duì)列中的每個(gè)渲染對象進(jìn)行渲染,獲取待測3d對象對應(yīng)的2d圖像;

    11、所述cache是在創(chuàng)建渲染管線時(shí)設(shè)定的。

    12、可選地,所述s100包括:

    13、s110、將八叉樹容器對象進(jìn)行逐步遍歷,從根節(jié)點(diǎn)開始,逐層向下檢查八叉樹容器對象節(jié)點(diǎn)的包圍盒是否與相機(jī)視椎體相交;

    14、s120、若相交,檢查該節(jié)點(diǎn)內(nèi)三維物體的包圍盒是否與相機(jī)視椎體相交;若相交,標(biāo)記渲染對象,繼續(xù)遍歷;若不相交,繼續(xù)向下遍歷;

    15、s130、若所述八叉樹容器對象節(jié)點(diǎn)的包圍盒與相機(jī)視椎體不相交,則直接跳過該節(jié)點(diǎn),繼續(xù)向下遍歷。

    16、可選地,所述s100還包括:

    17、s140、根據(jù)所述渲染隊(duì)列中每個(gè)渲染對象的renderorder屬性,將所述渲染對象區(qū)分為不透明渲染對象以及透明渲染對象;

    18、所述透明渲染對象的renderorder屬性大于設(shè)定值,不透明渲染對象的renderorder屬性小于設(shè)定值。

    19、可選地,所述s200中,所述全局?jǐn)?shù)據(jù)具體包括:

    20、相機(jī)的投影矩陣、相機(jī)的視圖矩陣、平面分辨率、鼠標(biāo)位置、時(shí)間戳以及曝光度。

    21、可選地,所述s200中,根據(jù)所述渲染隊(duì)列的全局?jǐn)?shù)據(jù)以及每個(gè)渲染對象的模型矩陣,獲取每個(gè)渲染對象的mvp矩陣包括:

    22、將所述全局?jǐn)?shù)據(jù)中的投影矩陣、視圖矩陣以及渲染對象的模型矩陣輸入以下公式中,獲取mvp矩陣:

    23、mvp矩陣=投影矩陣×視圖矩陣×模型矩陣。

    24、可選地,s400中,創(chuàng)建渲染管線包括:

    25、s410、獲取shader?module緩存;

    26、s420、根據(jù)shader代碼,構(gòu)建bindgrouplayout所需要的采樣器的紋理的插槽信息參數(shù),生成bindgrouplayout;

    27、s430、根據(jù)所述材質(zhì)狀態(tài)值,宏定義值,材質(zhì)名稱生成cache?key,獲取是否存在可復(fù)用的管線;若沒有,調(diào)用webgpu底層接口創(chuàng)建渲染管線,傳遞創(chuàng)建好的bindgrouplayout、材質(zhì)中包含的渲染狀態(tài)以及shader?module,輸出渲染管線。

    28、可選地,所述s400還包括:

    29、s440、根據(jù)提前設(shè)定的排序算法,將渲染隊(duì)列進(jìn)行排序,獲取排序后的渲染隊(duì)列,并根據(jù)排序?qū)︿秩緦ο筮M(jìn)行渲染;

    30、所述提前設(shè)定的排序算法包括:

    31、先渲染不透明渲染對象,再渲染透明渲染對象;

    32、對于透明渲染對象renderorder屬性越大,越靠前渲染,默認(rèn)情況下,若該值為0,根據(jù)加入渲染隊(duì)列的順序排序;

    33、對于不透明渲染對象,與透明渲染對象相反,值越大越靠前渲染,越小的靠后渲染。

    34、可選地,所述s410具體包括:

    35、根據(jù)shader代碼的名稱、宏變量以及具體的shader代碼生成shader?modulecache?key,查找是否存在編譯好的shader?module,若不存在,創(chuàng)建shader?module。

    36、可選地,所述s100之前還包括:

    37、s000、將引擎進(jìn)行初始化;獲取待測3d對象,將所述待測3d對象進(jìn)行八叉樹劃分,獲取八叉樹容器對象;

    38、將引擎進(jìn)行初始化具體包括:

    39、將webgpu上下文初始化、將shader系統(tǒng)初始化、將全局綁定系統(tǒng)初始化、將全局render?target初始化、將資源管理器初始化以及將輸入系統(tǒng)初始化。

    40、可選地,所述方法還包括:

    41、當(dāng)某一三維物體的渲染狀態(tài)發(fā)生變化時(shí),且當(dāng)前渲染管線沒有其他渲染物體在使用,采用異步模式將所述當(dāng)前渲染管線進(jìn)行銷毀;

    42、所述異步模式為逐幀固定批量進(jìn)行調(diào)度銷毀。

    43、(三)有益效果

    44、本專利技術(shù)的有益效果是:本專利技術(shù)的一種webgpu實(shí)時(shí)渲染管線的生成方法,由于采用八叉樹的逐級遍歷和交集判斷優(yōu)化,避免了重復(fù)計(jì)算和重復(fù)渲染;同時(shí)采用一次性傳輸批量數(shù)據(jù)的方式,減少了上傳次數(shù),提高了數(shù)據(jù)交互的效率;另外通過設(shè)置不同的cache?key,允許資源的復(fù)用,增加了資源的利用率的同時(shí),也保證了資源的最小化占用。

    本文檔來自技高網(wǎng)...

    【技術(shù)保護(hù)點(diǎn)】

    1.一種WebGPU實(shí)時(shí)渲染管線的生成方法,其特征在于,包括:

    2.根據(jù)權(quán)利要求1所述的WebGPU實(shí)時(shí)渲染管線的生成方法,其特征在于,所述S100包括:

    3.根據(jù)權(quán)利要求1所述的WebGPU實(shí)時(shí)渲染管線的生成方法,其特征在于,所述S100還包括:

    4.根據(jù)權(quán)利要求1所述的WebGPU實(shí)時(shí)渲染管線的生成方法,其特征在于,所述S200中,所述全局?jǐn)?shù)據(jù)具體包括:

    5.根據(jù)權(quán)利要求4所述的WebGPU實(shí)時(shí)渲染管線的生成方法,其特征在于,所述S200中,根據(jù)所述渲染隊(duì)列的全局?jǐn)?shù)據(jù)以及每個(gè)渲染對象的模型矩陣,獲取每個(gè)渲染對象的MVP矩陣包括:

    6.根據(jù)權(quán)利要求1所述的WebGPU實(shí)時(shí)渲染管線的生成方法,其特征在于,S400中,創(chuàng)建渲染管線包括:

    7.根據(jù)權(quán)利要求1所述的WebGPU實(shí)時(shí)渲染管線的生成方法,其特征在于,所述S400還包括:

    8.根據(jù)權(quán)利要求6所述的WebGPU實(shí)時(shí)渲染管線的生成方法,其特征在于,所述S410具體包括:

    9.根據(jù)權(quán)利要求1所述的WebGPU實(shí)時(shí)渲染管線的生成方法,其特征在于,所述S100之前還包括:

    10.根據(jù)權(quán)利要求1所述的WebGPU實(shí)時(shí)渲染管線的生成方法,其特征在于,所述方法還包括:

    ...

    【技術(shù)特征摘要】

    1.一種webgpu實(shí)時(shí)渲染管線的生成方法,其特征在于,包括:

    2.根據(jù)權(quán)利要求1所述的webgpu實(shí)時(shí)渲染管線的生成方法,其特征在于,所述s100包括:

    3.根據(jù)權(quán)利要求1所述的webgpu實(shí)時(shí)渲染管線的生成方法,其特征在于,所述s100還包括:

    4.根據(jù)權(quán)利要求1所述的webgpu實(shí)時(shí)渲染管線的生成方法,其特征在于,所述s200中,所述全局?jǐn)?shù)據(jù)具體包括:

    5.根據(jù)權(quán)利要求4所述的webgpu實(shí)時(shí)渲染管線的生成方法,其特征在于,所述s200中,根據(jù)所述渲染隊(duì)列的全局?jǐn)?shù)據(jù)以及每個(gè)渲染對象的模型矩陣,獲取每個(gè)渲染對...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:姜雪明,楊彥龍,奚燕,王雯,
    申請(專利權(quán))人:浙江中控信息產(chǎn)業(yè)股份有限公司,
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲成av人片不卡无码久久| 西西444www无码大胆| 国产精品99久久久精品无码| 亚洲中文字幕无码中文字| 亚洲中文字幕无码专区| 中文字幕av无码无卡免费 | 国产精品白浆在线观看无码专区| 人妻系列AV无码专区| 久久AV无码精品人妻出轨| 亚洲国产精品无码专区影院 | 久青草无码视频在线观看 | 97性无码区免费| 亚洲av永久无码制服河南实里| 免费无码又黄又爽又刺激| 久久久久亚洲av无码专区导航| 免费无码又爽又刺激网站直播| 少妇极品熟妇人妻无码| 久久久无码一区二区三区| 国产aⅴ无码专区亚洲av| 日韩精品无码一区二区视频| 免费A级毛片无码A| 在线看片无码永久免费aⅴ| 亚洲私人无码综合久久网| 久久Av无码精品人妻系列| 性无码专区无码片| 人妻无码久久一区二区三区免费| 熟妇人妻中文av无码| 欧洲精品无码一区二区三区在线播放| 精品无码专区亚洲| 无码精品A∨在线观看无广告| 中文无码亚洲精品字幕| 曰产无码久久久久久精品 | 久久亚洲精品无码av| 亚洲av永久无码| 精品无码av无码专区| 亚洲高清无码专区视频| 国产AV无码专区亚洲AV漫画| 亚洲av永久无码精品表情包| 西西午夜无码大胆啪啪国模| 无码人妻精品一区二区三区99性 |