当前位置: 首页 > 专利查询>之江实验室专利>正文

一种基于八叉树的透明渲染复杂场景深度估计方法和装置制造方法及图纸

技术编号:38163189 阅读:11 留言:0更新日期:2023-07-13 09:37
本发明专利技术公开了一种基于八叉树的透明渲染复杂场景深度估计方法和装置,该方法利用八叉树空间划分的收敛性进行场景表面近似,在八叉树代理数据结构的构建阶段,首先对场景进行八叉树划分,将叶子节点中的三角面片集合向节点轴对齐包围盒的各面投影,采样估算非空叶子节点所处空间的场景深度;其次依次应用自底向上和自顶向下的遍历,进行八叉树节点的局部场景深度和全局场景深度估计;最后实时运行时,利用八叉树代理数据结构,执行基于视点的快速查询,检索当前视点下场景最大深度的估值,进行透明效果绘制。本发明专利技术计算开销低,可应用于多种类型透明绘制框架,可实时动态适应视点变化,为高质量、顺序无关的复杂数字场景透明渲染提供解决方案。染提供解决方案。染提供解决方案。

【技术实现步骤摘要】
一种基于八叉树的透明渲染复杂场景深度估计方法和装置


[0001]本专利技术涉及计算机图形学三维实时显示领域,尤其涉及一种基于八叉树的透明渲染复杂场景深度估计方法和装置。

技术介绍

[0002]透明渲染是可视化绘制的重要内容,正确合理地表现场景中的透明效果,可以突显场景结构,解释隐藏细节,同时维持次重要的环境背景信息。场景透明渲染有着广泛的需求,包括自然对象真实感绘制、数字模型结构展示、流场矢量可视化、自动驾驶仿真车体轨迹绘制、脑神经元连接图等。
[0003]Porter和Duff首次提出了透明度混合(Alpha Blending)方法,绘制过程中,新的片元(Fragment)被合成到RGB三元素中,存储到帧缓存。由于其实现简单、性能优良以及得到了图形规范和硬件厂商的广泛支持,Alpha Blending已成为当前实时应用中,透明绘制的实际标准。但是,该方法在场景元素级排序,容易出现失效情形,造成画面合成错误。
[0004]Everitt提出的深度剥离技术是一种多遍(Pass)渲染方法,需要两个深度缓存,其中之一保存前一个渲染遍的深度值。当第i遍渲染时,与第i

1遍的深度值进行比较,得到对每个像素产生贡献的第i近的渲染层。由于该方法采用多遍绘制,性能难以满足复杂场景的实时渲染需要。Carpenter提出了一种图像空间方法,使用A

Buffer数据结构,保存对屏幕每个像素产生贡献的所有图元,在随后的处理中进行深度排序及颜色混合。这种方法由于存储需求及性能原因,主要应用于离线渲染。Yang等在GPU(Graphics Processing Unit,图形处理器)上为每个像素应用变长的链表(Per

Pixel Linked List)存储对其有贡献的图元集合,之后进行排序,执行混合操作。
[0005]由于透明效果本身具有模糊属性,对遮挡关系复杂、深度层次高的场景执行精确绘制不仅会降低性能,还会造成过模糊(Overblurring)现象,考虑透明效果这一固有的特性,大量近似透明渲染方法被提出。K

Buffer技术基于链表方法,但不保存完整图元集,而仅存储K个最近的图元,当有高于数目K的图元覆盖到同一像素时,采用启发式的策略合并图元进行近似。自适应透明(Adaptive Transparency)在K

Buffer方法的基础上,为每个像素存储透明度函数的近似,使用第二个渲染遍,应用该近似进行Alpha混合操作。Maule等提出了混合透明(Hybrid Transparency),利用K

Buffer聚集图元,根据深度和透明度执行启发式地合并。这种方法是顺序无关的,但是对深度数目大的场景难以正确处理。多层透明度混合(Multi

Layer Alpha Blending)是一类单遍技术,沿视线方向应用固定数目的逐像素透明度层做近似。当对应固定数目透明层的存储空间被占满后,则创建新层,再选出两个临近层合并。随机透明(Stochastic Transparency)使用加权技术,基于透明度数值混合或舍弃片元。加权混合顺序无关的透明(Weighted Blended Order

Independent Transparency)提出使用基于遮挡和距离视点远近的权重,进行片元的合并。随机分层透明度混合(Stochastic Layered Alpha Blending)和现象透明(Phenomenological Transparency)对每个像素应用多采样技术进行透明渲染。这类透明绘制方法合理地进行
了透明效果的近似,但运行时的复杂近似计算,影响了方法的实时性能。
[0006]总体上,前述的典型方法分属深度剥离族系和A

Buffer族系两类。但无论哪类方法,其高效实现均依赖视口内场景的最大深度。该参数表征了场景的属性,决定了透明绘制所需的计算资源开销和存贮资源开销。
[0007]现有实现方案在解决场景最大深度值计算时,或者采用运行时高开销的近似,或者简单的预定义固定值,计算效率与场景适应性差。本专利技术致力于设计一种满足大规模复杂场景的深度代理机制,实时动态适应视点状态,可普遍应用于多种类型透明绘制框架,为高质量、顺序无关(Order Independent Transparency,OIT)的透明渲染提供优化的解决方案。

技术实现思路

[0008]本专利技术的目的在于针对现有技术的不足,提供一种基于八叉树的透明渲染复杂场景深度估计方法和装置。
[0009]本专利技术的目的是通过以下技术方案来实现的:本专利技术实施例第一方面提供了一种基于八叉树的透明渲染复杂场景深度估计方法,包括以下步骤:
[0010](1)对场景进行八叉树空间划分,将场景的三角形面片分配到八叉树叶子节点,并进行采样计算,将结果保存到叶子节点;
[0011](2)根据所述步骤(1)中完成非空叶子节点采样的八叉树,采用局部

全局构建策略,计算八叉树中所有节点的全局场景深度估计,以构建八叉树场景深度估计代理数据结构;
[0012](3)实时遍历所述步骤(2)构建的八叉树场景深度估计代理数据结构,检索视点所在空间位置所处的场景全局深度估计。
[0013]可选地,所述步骤(1)包括以下子步骤:
[0014](1.1)采用轴对齐包围盒空间结构根据待渲染的透明对象空间位置数据生成包围盒;
[0015](1.2)以所述步骤(1.1)生成的包围盒为根节点,每次将当前节点划分为8个子节点,判断当前节点是否满足预设的划分终止条件,若满足,则划分结束,并将场景的三角形面片分配到所属的叶子节点;否则,继续进行划分;
[0016](1.3)对所述步骤(1.2)的叶子节点中的三角形面片进行采样计算,以获取该节点所处空间的场景深度估计,并保存至叶子节点。
[0017]可选地,所述步骤(1.2)中所述判断当前节点是否满足预设的划分终止条件具体包括:判断当前节点所处的八叉树层深是否大于等于预设的最大值或当前节点的L2范数是否小于等于预设的L2范数阈值,若是,则划分结束,并将场景的三角形面片分配到所属的叶子节点;否则,继续进行划分。
[0018]可选地,所述步骤(1.3)具体为:首先将所述步骤(1.2)的叶子节点三角形面片集合中的每一个面片,逐一沿轴向投影到包围盒的对应表面;然后对投影到包围盒表面中的面片集合做相交测试,保留最大叠加计数,作为该节点对应方向的场景深度估计,并保存至叶子节点。
[0019]可选地,所述步骤(2)包括以下子步骤:
[0020](2.1)采用所述步骤(1)中的方法对八叉树的所有节点中的三角形面片进行采样计算,以获取所有节点所处空间的局部场景深度估计;
[0021](2.2)基于所述步骤(2.1)获取的所有节点的局部场景深度估计获取所有节点在整个场景中的全局场景深度估计,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于八叉树的透明渲染复杂场景深度估计方法,其特征在于,包括以下步骤:(1)对场景进行八叉树空间划分,将场景的三角形面片分配到八叉树叶子节点,并进行采样计算,将结果保存到叶子节点;(2)根据所述步骤(1)中完成非空叶子节点采样的八叉树,采用局部

全局构建策略,计算八叉树中所有节点的全局场景深度估计,以构建八叉树场景深度估计代理数据结构;(3)实时遍历所述步骤(2)构建的八叉树场景深度估计代理数据结构,检索视点所在空间位置所处的场景全局深度估计。2.根据权利要求1所述的基于八叉树的透明渲染复杂场景深度估计方法,其特征在于,所述步骤(1)包括以下子步骤:(1.1)采用轴对齐包围盒空间结构根据待渲染的透明对象空间位置数据生成包围盒;(1.2)以所述步骤(1.1)生成的包围盒为根节点,每次将当前节点划分为8个子节点,判断当前节点是否满足预设的划分终止条件,若满足,则划分结束,并将场景的三角形面片分配到所属的叶子节点;否则,继续进行划分;(1.3)对所述步骤(1.2)的叶子节点中的三角形面片进行采样计算,以获取该节点所处空间的场景深度估计,并保存至叶子节点。3.根据权利要求2所述的基于八叉树的透明渲染复杂场景深度估计方法,其特征在于,所述步骤(1.2)中所述判断当前节点是否满足预设的划分终止条件具体包括:判断当前节点所处的八叉树层深是否大于等于预设的最大值或当前节点的L2范数是否小于等于预设的L2范数阈值,若是,则划分结束,并将场景的三角形面片分配到所属的叶子节点;否则,继续进行划分。4.根据权利要求2所述的基于八叉树的透明渲染复杂场景深度估计方法,其特征在于,所述步骤(1.3)具体为:首先将所述步骤(1.2)的叶子节点三角形面片集合中的每一个面片,逐一沿轴向投影到包围盒的对应表面;然后对投影到包围盒表面中的面片集合做相交测试,保留最大叠加计数,作为该节点对应方向的场景深度估计,并保存至叶子节点。5.根据权利要求1所述的基于八叉树的透明渲染复杂场景深度估计方法,其特征在于,所述步骤(2)包括以下子步骤:(2.1)采用所述步骤(1)中的方法对八叉树的所有节点中的三角形面片进行采样计算,以获取所有节点所处空间的局部场景深度估计;(2.2)基于所述步骤(2.1)获取的所有节点的局部场景深度估计获取所有节点在整个场景中的全局场景深度估计,以构建八叉树场景深度估计代理数据结构。6.根据权利要求5所述的基于八叉树的透明渲染复杂场景深度估计方法,其特征在于,所述步骤(2.1)包括以下子步骤:(2.1.1)获取八叉树的空叶子节点的局部场景深度,空叶子节点的局部场景深度估计为0;(2.1.2)根据所述步骤(1)保存到...

【专利技术属性】
技术研发人员:范文山华炜谢天
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1