【技术实现步骤摘要】
面向大场景渲染的场景剔除方法及其对应的装置
[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.
一种面向大场景渲染的场景剔除装置,其特征在于,包括:物体管理模块,用于:根据待渲染场景中物体在当前视口上的最小显示像素宽度,将所述待渲染场景中物体划分为多个分组,每个所述分组对应一个可视大小范围区间,所述可视大小范...
【专利技术属性】
技术研发人员:陈玉明,彭爱峰,
申请(专利权)人:北京睿呈时代信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。