[发明专利]基于深度图实时绘制室外地表遮挡剔除以及加速方法有效
申请号: | 201410564194.8 | 申请日: | 2014-10-21 |
公开(公告)号: | CN104331918B | 公开(公告)日: | 2017-09-29 |
发明(设计)人: | 张翼 | 申请(专利权)人: | 无锡梵天信息技术股份有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00;G06T7/41 |
代理公司: | 北京中恒高博知识产权代理有限公司11249 | 代理人: | 宋敏 |
地址: | 214000 江苏省无锡市新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 深度 实时 绘制 室外 地表 遮挡 剔除 以及 加速 方法 | ||
技术领域
本发明涉及计算机图像学领域,具体地,涉及一种基于深度图实时绘制室外地表遮挡剔除以及加速方法。
背景技术
随着计算机图形学技术的发展,可见性计算是计算机图像学中的一个基本的问题,其主要目的是对给定的场景和观察视点,通过场景物体的可见性,快速的剔除不需要绘制的物体,减少图形处理的几何复杂度,随着三维扫描技术和图形建模技术的快速发展,三维模型的规模和数据不断增大,最好的硬件的每秒只能对几万个三角形进行实时绘制,而对于室外地表绘制数据比较庞大,超过了一般图像软件的实时绘制和内存管理能力,使得大量复杂的场景绘制变得更加困难,可见性计算作为一种技术手段,得到越来越多研究学者的重视。
目前的技术一般是利用地平线遮挡来模拟大规模地形技术,其原理为:在室外的地表的山峰可以看成一个个物体,也可以被前面的更高的山峰遮挡,如果要绘制这种地形,绘制顺序是从前往后开始绘制且每次绘制都更新地平线位置,就能达到距离观察者地平线以下的物体将被剔除,其余的被渲染,把这种遮挡地平线剔除物体的方法称为地平线遮挡法,但是这种技术存在遮挡不完美,限制性比较多,每当视角切换时,地平线需要重新计算,不能实时绘制并且耗时的问题。
发明内容
本发明的目的在于,针对上述问题,提出一种基于深度图实时绘制室外地表遮挡剔除以及加速方法,以实现具有较好的遮挡效果且能实时绘制的优点。
为实现上述目的,本发明采用的技术方案是:
一种基于深度图实时绘制室外地表遮挡剔除以及加速方法,包括以下步骤:
步骤一、绘制当前场景,并把场景的深度值通过加速算法保存到一张深度图中;
步骤二、对待检测模型的包围盒进行光栅化,并判断待检测模型包围盒中的像素和上述步骤一中深度值的大小,从而得出遮挡剔除的结果。
优选的,步骤一中所述的深度值具体为:
在相机空间下,视椎体可见范围内,将可见模型进行分割,并对这些分割后的三角形给予光栅化得到场景深度值,那么可见模型分割三角形有三种情况:
第一种是三角形全部在视椎体内;第二种是三角形两个顶点在视椎体内,第三种是三角形一个顶点在视椎体内;对于第一种情况,模型的三角形不用进行分割,第二种情况,将视椎体内多边形分为两个三角形,第三种情况,将视椎体内三角形分割成一个三角形。
优选的,步骤一所述的加速算法为:SSE加速指令和多线程并发对数据进行加速处理。
优选的,所述SSE加速指令为:把场景的深度图划分为N个格子,格子中的像素用SSE加速指令来处理;
SSE加速指令具体为对4个float数据同时进行加减乘除,在扫描深度图像素时,一次扫描便得到4个像素的深度值。
优选的,多线程并发为:首先创建一张256*256大小的渲染目标,将这个空的渲染目标划分为横向M,纵向N的格子,每个格子分配给一个线程来处理,且在每个线程中都应用上述SSE加速指令,每个线程对应处理一个单元,处理的结果生成了一张深度图片元。
优选的,所述M=N=4,从而渲染目标被划分为16格,分配到16个线程来处理,最终生成的16个深度图片元,共同构成了一个当前场景的深度图。
优选的,步骤二中所述的包围盒为AABB类型的包围盒,该AABB类型的包围盒包含模型碰撞体,由各边平行于坐标轴的最小六面体组成。
优选的,步骤二中所述的判断待检测模型包围盒中的像素和深度值得大小具体为:首先每个线程处理光栅化后的多个包围盒,遍历每一个包围盒,采样待检测模型包围盒中的像素信息深度值,并与当前场景的深度值作比较,当待检测模型包围盒中任意像素的深度值小于当前场景深度值时,该待检测模型包围盒是可见的;当待检测模型包围盒中任意像素的深度值都大于当前场景深度值时,该待检测模型包围盒不可见。
优选的,还包括对深度图纹理和待检测的对象都进行降采样处理,经过降采样后的图像变小。
优选的,在每个线程做深度值大小判断的过程中,采用隔像素扫描,并根据模型对象和相机的距离,动态的改变像素扫描间隔数,模型对象距离相机越远,隔像素扫描的间隔越大,模型对象距离相机越近,采样的间隔数越小。
本发明的技术方案具有以下有益效果:
本发明中的技术方案,事先在引擎中的场景编辑中设置一部分视线遮挡体(模型),然后绘制场景中的所有物体,记录当前场景的视线遮挡体的最小深度值,将待检测的物体的包围盒的深度值和绘制场景得到的最小深度做比较,得到物体的可见性。达到具有较好的遮挡效果且能实时绘制的目的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡梵天信息技术股份有限公司,未经无锡梵天信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410564194.8/2.html,转载请声明来源钻瓜专利网。