"/>
【技術實現步驟摘要】
面向大場景渲染的場景剔除方法及其對應的裝置
[0001]本專利技術涉及數字孿生
,尤其涉及一種面向大場景渲染的場景剔除方法及其對應的裝置
。
技術介紹
[0002]在三維實時渲染系統中,為提高三維渲染效率,要對待渲染的各種數據進行有效組織和管理,一般使用具有層次結構的空間數據結構存儲待渲染物體
。
八叉樹是一種常見的場景管理數據結構
。
八叉樹通過將整個場景包含在一個最小的軸對齊包圍盒中進行構造,遞歸分割,直到達到最大遞歸層次或包圍盒中包含的圖元小于某個閾值
。
在面向大場景的渲染中,一般通過八叉樹(松散八叉樹)來管理場景中的物體,再通過視椎體剔除算法,獲得當前幀需要渲染的物體,進而進行渲染繪制
。
[0003]在渲染大尺度場景時,如以地球為渲染對象時,相機在高空中,為了看見地球正面,遠裁剪面設置的很大
。
此時,地面上有大量小物體時,離相機很遠,最終看不見
。
按照傳統場景管理邏輯,所有物體都會加入到一棵八叉樹中進行管理;此時這些小物體雖然最終看不見(繪制不出來),但都參與了場景剔除計算,耗費了計算時間,拖慢了渲染幀率
。
技術實現思路
[0004]本專利技術實施例提供一種面向大場景渲染的場景剔除方法及其對應的裝置,用以解決現有技術中大尺度場景渲染效率低的問題
。
[0005]本專利技術實施例的面向大場景渲染的場景剔除方法,包括:
[0006]根據待渲染場景中 ...
【技術保護點】
【技術特征摘要】
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.
一種面向大場景渲染的場景剔除裝置,其特征在于,包括:物體管理模塊,用于:根據待渲染場景中物體在當前視口上的最小顯示像素寬度,將所述待渲染場景中物體劃分為多個分組,每個所述分組對應一個可視大小范圍區間,所述可視大小范...
【專利技術屬性】
技術研發人員:陳玉明,彭愛峰,
申請(專利權)人:北京睿呈時代信息科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。