"/>
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    面向大場景渲染的場景剔除方法及其對應的裝置制造方法及圖紙

    技術編號:39799139 閱讀:21 留言:0更新日期:2023-12-22 02:30
    本發明專利技術提供一種面向大場景渲染的場景剔除方法及其對應的裝置,用以減少場景剔除計算量,減少每幀場景剔除耗費的時間,加速渲染繪制

    【技術實現步驟摘要】
    面向大場景渲染的場景剔除方法及其對應的裝置


    [0001]本專利技術涉及數字孿生
    ,尤其涉及一種面向大場景渲染的場景剔除方法及其對應的裝置


    技術介紹

    [0002]在三維實時渲染系統中,為提高三維渲染效率,要對待渲染的各種數據進行有效組織和管理,一般使用具有層次結構的空間數據結構存儲待渲染物體

    八叉樹是一種常見的場景管理數據結構

    八叉樹通過將整個場景包含在一個最小的軸對齊包圍盒中進行構造,遞歸分割,直到達到最大遞歸層次或包圍盒中包含的圖元小于某個閾值

    在面向大場景的渲染中,一般通過八叉樹(松散八叉樹)來管理場景中的物體,再通過視椎體剔除算法,獲得當前幀需要渲染的物體,進而進行渲染繪制

    [0003]在渲染大尺度場景時,如以地球為渲染對象時,相機在高空中,為了看見地球正面,遠裁剪面設置的很大

    此時,地面上有大量小物體時,離相機很遠,最終看不見

    按照傳統場景管理邏輯,所有物體都會加入到一棵八叉樹中進行管理;此時這些小物體雖然最終看不見(繪制不出來),但都參與了場景剔除計算,耗費了計算時間,拖慢了渲染幀率


    技術實現思路

    [0004]本專利技術實施例提供一種面向大場景渲染的場景剔除方法及其對應的裝置,用以解決現有技術中大尺度場景渲染效率低的問題

    [0005]本專利技術實施例的面向大場景渲染的場景剔除方法,包括:
    [0006]根據待渲染場景中物體在當前視口上的最小顯示像素寬度,將所述待渲染場景中物體劃分為多個分組,每個所述分組對應一個可視大小范圍區間,所述可視大小范圍區間表示其對應的分組內的物體在所述當前視口上的最小顯示像素寬度的范圍區間;
    [0007]為每個所述分組構建一顆八叉樹,所述八叉樹管理其對應分組中的物體;所有所述八叉樹的結構均相同;
    [0008]基于公式1?2,計算最小可視大小范圍區間對應的八叉樹中各層級對應的需求遠裁剪面:
    [0009]公式1,
    [0010]公式2,
    [0011]其中,表示邊長為1米的立方體盒子在所述當前視口上顯示的像素寬度為1像素時距離所述當前相機的距離;
    viewportHeight
    表示所述當前視口的高度;
    heightZ1
    表示距離當前相機一米處所述當前相機視野空間內垂直面的高度;
    sceneLevel
    表示待渲染場景層級;
    [0012]將所述需求遠裁剪面與所述當前相機的遠裁剪面進行比較,若所述需求遠裁剪面大于所述當前相機的遠裁剪面,則確定所述當前相機的遠裁剪面為當前層級節點的遠裁剪
    面;否則,確定所述需求遠裁剪面為當前層級節點的遠裁剪面;依次遞歸計算,直到所述需求遠裁剪面小于當前相機的近裁剪面時收斂退出,以獲得層級視椎體;
    [0013]將所述層級視椎體依次與每棵所述八叉樹進行相交測試,剔除不需要繪制的物體,包括:
    [0014]針對每顆所述八叉樹,從所述層級視椎體中查找與所述八叉樹中根節點匹配的遠裁剪面作為開始遠裁剪面并將所述開始遠裁剪面與所述八叉樹中根節點執行相交運算;
    [0015]從所述開始遠裁剪面開始依次向后移動一層作為當前遠裁剪面,從所述八叉樹中根節點開始依次向后移動一層作為當前層節點,對所述當前遠裁剪面和所述當前層節點執行相交運算

    [0016]本專利技術實施例的面向大場景渲染的場景剔除裝置,包括:
    [0017]物體管理模塊,用于:根據待渲染場景中物體在當前視口上的最小顯示像素寬度,將所述待渲染場景中物體劃分為多個分組,每個所述分組對應一個可視大小范圍區間,所述可視大小范圍區間表示其對應的分組內的物體在所述當前視口上的最小顯示像素寬度的范圍區間;為每個所述分組構建一顆八叉樹,所述八叉樹管理其對應分組中的物體;所有所述八叉樹的結構均相同;
    [0018]層級視椎體計算模塊,用于:基于公式1?2,計算最小可視大小范圍區間對應的八叉樹中各層級對應的需求遠裁剪面:
    [0019]公式1,
    [0020]公式2,
    [0021]其中,表示邊長為1米的立方體盒子在所述當前視口上顯示的像素寬度為1像素時距離所述當前相機的距離;
    viewportHeight
    表示所述當前視口的高度;
    heightZ1
    表示距離當前相機一米處所述當前相機視野空間內垂直面的高度;
    sceneLevel
    表示待渲染場景層級;將所述需求遠裁剪面與所述當前相機的遠裁剪面進行比較,若所述需求遠裁剪面大于所述當前相機的遠裁剪面,則確定所述當前相機的遠裁剪面為當前層級節點的遠裁剪面;否則,確定所述需求遠裁剪面為當前層級節點的遠裁剪面;依次遞歸計算,直到所述需求遠裁剪面小于當前相機的近裁剪面時收斂退出,以獲得層級視椎體;
    [0022]剔除模塊,用于將所述層級視椎體依次與每棵所述八叉樹進行相交測試,剔除不需要繪制的物體,包括:
    [0023]針對每顆所述八叉樹,從所述層級視椎體中查找與所述八叉樹中根節點匹配的遠裁剪面作為開始遠裁剪面并將所述開始遠裁剪面與所述八叉樹中根節點執行相交運算;
    [0024]從所述開始遠裁剪面開始依次向后移動一層作為當前遠裁剪面,從所述八叉樹中根節點開始依次向后移動一層作為當前層節點,對所述當前遠裁剪面和所述當前層節點執行相交運算

    [0025]本專利技術實施例還對應提出一種計算機設備,包括:存儲器

    處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序被所述處理器執行時實現如上所述的面向大場景渲染的場景剔除方法的步驟

    [0026]本專利技術實施例還提出一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有信息傳遞的實現程序,所述程序被處理器執行時實現如上所述的面向大場景渲染的場景
    剔除方法的步驟

    [0027]采用本專利技術實施例,通過改進傳統的場景管理方式和場景剔除算法,可以減少場景剔除計算量,減少每幀場景剔除耗費的時間,加速渲染繪制

    [0028]上述說明僅是本專利技術技術方案的概述,為了能夠更清楚了解本專利技術的技術手段,而可依照說明書的內容予以實施,并且為了讓本專利技術的上述和其它目的

    特征和優點能夠更明顯易懂,以下特舉本專利技術的具體實施方式

    附圖說明
    [0029]通過閱讀下文實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了

    附圖僅用于示出優選實施方式的目的,而并不認為是對本專利技術的限制

    在附圖中:
    [0030]圖1是本專利技術實施例中面向大場景渲染的場景剔除方法流程圖;
    [0031]圖2是本專利技術實施例中八叉樹劃分邏輯示意圖;
    [0032]圖3是本專利技術實施例中八叉樹與層級視椎體對應關系圖;本文檔來自技高網
    ...

    【技術保護點】

    【技術特征摘要】
    1.
    一種面向大場景渲染的場景剔除方法,其特征在于,包括:根據待渲染場景中物體在當前視口上的最小顯示像素寬度,將所述待渲染場景中物體劃分為多個分組,每個所述分組對應一個可視大小范圍區間,所述可視大小范圍區間表示其對應的分組內的物體在所述當前視口上的最小顯示像素寬度的范圍區間;為每個所述分組構建一顆八叉樹,所述八叉樹管理其對應分組中的物體;所有所述八叉樹的結構均相同;基于公式1?2,計算最小可視大小范圍區間對應的八叉樹中各層級對應的需求遠裁剪面:公式1,公式2,其中,表示邊長為1米的立方體盒子在所述當前視口上顯示的像素寬度為1像素時距離當前相機的距離;
    viewportHeight
    表示所述當前視口的高度;
    heightZ1
    表示距離所述當前相機一米處所述當前相機視野空間內垂直面的高度;
    sceneLevel
    表示待渲染場景層級;將所述需求遠裁剪面與所述當前相機的遠裁剪面進行比較,若所述需求遠裁剪面大于所述當前相機的遠裁剪面,則確定所述當前相機的遠裁剪面為當前層級節點的遠裁剪面;否則,確定所述需求遠裁剪面為當前層級節點的遠裁剪面;依次遞歸計算,直到所述需求遠裁剪面小于所述當前相機的近裁剪面時收斂退出,以獲得層級視椎體;將所述層級視椎體依次與每棵所述八叉樹進行相交測試,剔除不需要繪制的物體,包括:針對每顆所述八叉樹,從所述層級視椎體中查找與所述八叉樹中根節點匹配的遠裁剪面作為開始遠裁剪面并將所述開始遠裁剪面與所述八叉樹中根節點執行相交運算;從所述開始遠裁剪面開始依次向后移動一層作為當前遠裁剪面,從所述八叉樹中根節點開始依次向后移動一層作為當前層節點,對所述當前遠裁剪面和所述當前層節點執行相交運算
    。2.
    如權利要求1所述的方法,其特征在于,所述將所述待渲染場景中物體劃分為多個分組,包括:將所述待渲染場景中物體劃分為九個分組,所述九個分組對應的可視大小范圍區間依次為:
    [0
    像素
    ,1
    像素
    )、[1
    像素
    ,2
    像素
    )、[2
    像素
    ,4
    像素
    )、[4
    像素
    ,8
    像素
    )、[8
    像素
    ,16
    像素
    )、[16
    像素
    ,32
    像素
    )、[32
    像素
    ,64
    像素
    )、[64
    像素
    ,128
    像素
    )、[128
    像素
    ,256
    像素
    )。3.
    如權利要求2所述的方法,其特征在于,所述從所述層級視椎體中查找與所述八叉樹中根節點匹配的遠裁剪面作為開始遠裁剪面,包括:所述可視大小范圍區間為
    [0
    像素
    ,1
    像素
    )
    對應的八叉樹對應的開始遠裁剪面為所述層級視椎體中第0層遠裁剪面;所述可視大小范圍區間為
    [1
    像素
    ,2
    像素
    )
    對應的八叉樹對應的開始遠裁剪面為所述層級視椎體中第1層遠裁剪面;所述可視大小范圍區間為
    [2
    像素
    ,4
    像素
    )
    對應的八叉樹對應的開始遠裁剪面為所述層級視椎體中第2層遠裁剪面;
    所述可視大小范圍區間為
    [4
    像素
    ,8
    像素
    )
    對應的八叉樹對應的開始遠裁剪面為所述層級視椎體中第3層遠裁剪面;所述可視大小范圍區間為
    [8
    像素
    ,16
    像素
    )
    對應的八叉樹對應的開始遠裁剪面為所述層級視椎體中第4層遠裁剪面;所述可視大小范圍區間為
    [16
    像素
    ,32
    像素
    )
    對應的八叉樹對應的開始遠裁剪面為所述層級視椎體中第5層遠裁剪面;所述可視大小范圍區間為
    [32
    像素
    ,64
    像素
    )
    對應的八叉樹對應的開始遠裁剪面為所述層級視椎體中第6層遠裁剪面;所述可視大小范圍區間為
    [64
    像素
    ,128
    像素
    )
    對應的八叉樹對應的開始遠裁剪面為所述層級視椎體中第7層遠裁剪面;所述可視大小范圍區間為
    [128
    像素
    ,256
    像素
    )
    對應的八叉樹對應的開始遠裁剪面為所述層級視椎體中第8層遠裁剪面
    。4.
    如權利要求1所述的方法,其特征在于,所述待渲染場景為地球,
    sceneLevel=23。5.
    一種面向大場景渲染的場景剔除裝置,其特征在于,包括:物體管理模塊,用于:根據待渲染場景中物體在當前視口上的最小顯示像素寬度,將所述待渲染場景中物體劃分為多個分組,每個所述分組對應一個可視大小范圍區間,所述可視大小范...

    【專利技術屬性】
    技術研發人員:陳玉明彭愛峰
    申請(專利權)人:北京睿呈時代信息科技有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 久久久久久久人妻无码中文字幕爆| 亚洲AV无码精品蜜桃| 精品无码中文视频在线观看| 亚洲精品无码久久久久AV麻豆| 亚洲第一极品精品无码久久| 伊人久久大香线蕉无码| 国产成人无码av| 日韩精品人妻系列无码av东京| 久久精品亚洲中文字幕无码麻豆 | 久久无码精品一区二区三区| 久久午夜无码免费| 亚洲AV无码成H人在线观看| 亚洲αⅴ无码乱码在线观看性色| 国产午夜无码精品免费看| 国产精品无码一区二区三区不卡| 午夜亚洲AV日韩AV无码大全| 亚洲精品人成无码中文毛片| 无码一区二区波多野结衣播放搜索| 亚洲av中文无码乱人伦在线咪咕| 精品国产毛片一区二区无码| 麻豆精品无码国产在线果冻 | 亚洲AV无码一区东京热久久| 国产精品亚洲а∨无码播放不卡| 亚洲av永久中文无码精品| 亚洲综合久久精品无码色欲| 无码国产精品一区二区免费vr | 精品久久久久久无码不卡| 国产成人无码综合亚洲日韩| 国产精品无码无在线观看| 亚洲av无码专区在线播放| 中文字幕乱偷无码AV先锋| 国产成人AV片无码免费| 亚洲AV永久青草无码精品| 人妻少妇精品无码专区二区| 日韩精品无码一本二本三本| 无码精品国产dvd在线观看9久| 无码一区二区三区AV免费| 内射无码午夜多人| 亚洲熟妇无码另类久久久| 久久人妻少妇嫩草AV无码专区 | 中文字幕乱妇无码AV在线|