CN114359511A - 一种三维图形实时渲染的方案 - Google Patents
一种三维图形实时渲染的方案 Download PDFInfo
- Publication number
- CN114359511A CN114359511A CN202111583657.1A CN202111583657A CN114359511A CN 114359511 A CN114359511 A CN 114359511A CN 202111583657 A CN202111583657 A CN 202111583657A CN 114359511 A CN114359511 A CN 114359511A
- Authority
- CN
- China
- Prior art keywords
- grid
- real
- time
- grids
- dimensional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明涉及三维图形技术领域,且公开了一种三维图形实时渲染的方案,三维扫描软件启动时即根据扫描物体的大小,完成初始化分块实时网格,将扫描空间粗分为若干个子空间,每个相邻的子空间以一定比例重叠,比例数值为0.1。该三维图形实时渲染的方案使用时,通过设置将三维扫描设备的3D网格分为两部分,实时网格和精细网格,实时网格牺牲部分精度,以相对粗糙的分辨率换取快速网格生成,以点云的颜色插值网格顶点颜色,达到快速生成渲染网格的目的,且精细网格是三维扫描设备的输出,网格的精度高于实时网格特征更明显以生成高精度网格为目的,牺牲网格生成时间,避免了无法满足实时网格的精度需要的问题。
Description
技术领域
本发明涉及三维图形技术领域,具体为一种三维图形实时渲染的方案。
背景技术
在三维扫描设备领域中,扫描设备的工作流程如下:通过获取2D图像信息重建出3D点云,并将3D点云按照其特征拼接起来形成完整的统一坐标系下点云,最后由3D点云生成3D网格,完成现实物体的数字化。三维实时扫描应用中,所见即所得的实时渲染是一个重要环节。
常见的三维图形实时渲染在使用时,实时扫描中用户交互有点云渲染和网格渲染两种方式,点云渲染比网格渲染网格速度快,能满足实时渲染的要求,但在很多场景中,3D网格是3D打印的基础,通过渲染能有效的反应实物的特征,有几何拓扑特性,能有效表达连通性和进行纹理贴图,真实反应物体表面,3D网格是三维扫描设备领域实时渲染和最终输出,但目前已有的CPU实现的网格算法对CPU的要求高,影响实时扫描速度,且已有的GPU网格算法不仅增加了硬件的要求,而且受限于显存大小,从而导致了无法满足实时网格的精度需要的问题,不能满足三维图形实时渲染的工作要求,为此提出一种三维图形实时渲染的方案。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种三维图形实时渲染的方案,解决了上述背景技术提出的技术问题。
(二)技术方案
为实现上述的目的,本发明提供如下技术方案:一种三维图形实时渲染的方案,包括以下步骤:
三维扫描软件启动时即根据扫描物体的大小,完成初始化分块实时网格,将扫描空间粗分为若干个子空间,每个相邻的子空间以一定比例重叠,比例数值为0.1;
判断是否暂停,如果一直扫描,则接受三维重建的每一帧点云,处理每帧点云,将每个点云根据空间位置分配到指定的子空间中,此时如果该子空间未细分,则进行细分,细分后的子空间包含多个小voxel的红色小正方形;
将当前帧点云的每个三维点,根据其三维坐标,计算其所在的分块子空间,根据策略选择一个子空间进行网格生成,将生成的网格在UI界面渲染出来,由于相邻的子空间的网格有重叠影响视觉效果,因此采用shader+phong光照模型;
当前帧点云处理完毕,更新其中一个分块子空间的实时网格,实时网格生成过程中,采用marchingCube算法,根据每个小立方体的梯度,判定当前三角面是否可信,不可信网格以警告颜色标记,指示用户多次扫描;
定时进行小组件删除,将所有网格全部更新,通过顶点融合得到整体网格,然后通过小组件分离,删除顶点小于阈值的小组件;
如果继续扫描返回执行第二步骤,否则暂停,且更新所有的实时网格;
进行精细网格生成。
优选的,所述用户根据实时网格的完整程度来判断,即对所显示的网格已经完全展示了所扫描的物体特征或者反复扫面实时网格基本无变化的判断。
优选的,所述暂停后用户一般会通过旋转,平移,放大等操作多角度观察实时网格,判断是否有异常部分存在分层和警告网格等,如果有会重新启动扫描。
优选的,所述对于噪声比较多的地方,在反复扫描无效果的情况下,会将实时网格的局部裁剪,清理后重新扫描。
优选的,所述三维扫描软件中预设扫描物体的大小,整个空间略大于所扫面物体的大小,整个空间是一个正方体,然后将整个正方体每条边n等分得到子空间。
优选的,所述更新实时网格是采用Volume计算隐函数值,然后按照MarchCube算法生成该子空间对应的三角面片,也即网格化。
优选的,所述暂停扫描时,强制更新所有网格,执行小组件删除,空洞检测等,小组件是由多个子空间生成的所有三角面网格中,有一些数量较小三角面连接在一起形成的孤岛,孤岛大部分是由于噪声产生的。
优选的,所述扫描结束启动精细网格生成,并完成精细网格的渲染,精细网格是采用poisson重建算法来完成点云到网格的生成,特点是精度高生成速度慢,纹理和材质是由以一套纹理生成算法来实现,精细网格生成后,依旧支持续扫,如果续扫,则放弃已有精细网格,显示实时网格。
(三)有益效果
与现有技术相比,本发明提供了一种三维图形实时渲染的方案,具备以下有益效果:
该三维图形实时渲染的方案,通过设置将三维扫描设备的3D网格分为两部分,实时网格和精细网格,实时网格主要用于扫描时的数据展示,采用真彩渲染为实时扫描提供分层检测、导航、补扫缺少部位和删除噪点等,实时网格牺牲部分精度,以相对粗糙的分辨率换取快速网格生成,以点云的颜色插值网格顶点颜色,达到快速生成网格,渲染网格的目的,且精细网格是三维扫描设备的输出,网格的精度高于实时网格特征更明显,包括3D网格、纹理和材质等,精细网格以生成高精度网格为目的,牺牲网格生成时间,并包含纹理和材质等属性的生成,避免了目前已有的CPU实现的网格算法对CPU的要求高、影响实时扫描速度且已有的GPU网格算法不仅增加了硬件的要求同时受限于显存大小,从而导致了无法满足实时网格的精度需要的问题。
附图说明
图1为本发明渲染方案的简易流程图;
图2为本发明中子空间初始化二维示意图;
图3为本发明中子空间细分示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种技术方案,一种三维图形实时渲染的方案,包括以下步骤:
请参阅图1
S101、三维扫描软件启动时即根据扫描物体的大小,完成初始化分块实时网格,将扫描空间粗分为若干个子空间,三维扫描软件中预设扫描物体的大小,整个空间略大于所扫面物体的大小,整个空间是一个正方体,请参阅图2,然后将整个正方体每条边n等分得到子空间,每个相邻的子空间以一定比例重叠,比例数值为0.1;
S102、判断是否暂停,用户根据实时网格的完整程度来判断,即对所显示的网格已经完全展示了所扫描的物体特征或者反复扫面实时网格基本无变化的判断,暂停后用户一般会通过旋转,平移,放大等操作多角度观察实时网格,判断是否有异常部分存在分层和警告网格等,如果有会重新启动扫描,如果一直扫描,则接受三维重建的每一帧点云,处理每帧点云,将每个点云根据空间位置分配到指定的子空间中,此时如果该子空间未细分,请参阅图3,则进行细分,细分后的子空间包含多个小voxel的红色小正方形,对于噪声比较多的地方,在反复扫描无效果的情况下,会将实时网格的局部裁剪,清理后重新扫描;
S103、将当前帧点云的每个三维点,根据其三维坐标,计算其所在的分块子空间,根据策略选择一个子空间进行网格生成,将生成的网格在UI界面渲染出来,由于相邻的子空间的网格有重叠影响视觉效果,因此采用shader+phong光照模型;
S104、当前帧点云处理完毕,更新其中一个分块子空间的实时网格,实时网格生成过程中,采用marchingCube算法,根据每个小立方体的梯度,判定当前三角面是否可信,不可信网格以警告颜色标记,指示用户多次扫描;
S105、定时进行小组件删除,将所有网格全部更新,通过顶点融合得到整体网格,然后通过小组件分离,删除顶点小于阈值的小组件,暂停扫描时,强制更新所有网格,执行小组件删除,空洞检测等,小组件是由多个子空间生成的所有三角面网格中,有一些数量较小三角面连接在一起形成的孤岛,孤岛大部分是由于噪声产生的;
S106、如果继续扫描返回执行第二步骤,否则暂停,且更新所有的实时网格,更新实时网格是采用Volume计算隐函数值,然后按照MarchCube算法生成该子空间对应的三角面片,也即网格化;
S107、进行精细网格生成,扫描结束启动精细网格生成,并完成精细网格的渲染,精细网格是采用poisson重建算法来完成点云到网格的生成,特点是精度高生成速度慢,纹理和材质是由以一套纹理生成算法来实现,精细网格生成后,依旧支持续扫,如果续扫,则放弃已有精细网格,显示实时网格。
本装置的工作原理:首先用户启动三维扫描软件,三维扫描软件中预设扫描物体的大小,整个空间略大于所扫面物体的大小,整个空间是一个正方体,然后将整个正方体每条边n等分得到子空间,每个相邻的子空间以一定比例重叠,比例数值为0.1,用户根据实时网格的完整程度,即对所显示的网格已经完全展示了所扫描的物体特征或者反复扫面实时网格基本无变化来判断决定是否暂停,如果暂停用户可以通过旋转、平移和放大等操作多角度观察实时网格,判断是否有异常部分存在分层和警告网格等,如果有会重新启动三维软件进行扫描,如果一直扫描,则接受三维重建的每一帧点云,处理每帧点云,将每个点云根据空间位置分配到指定的子空间中,此时如果该子空间未细分,则进行细分,细分后的子空间包含多个小voxel的红色小正方形,对于噪声比较多的地方,在反复扫描无效果的情况下,会将实时网格的局部裁剪,清理后重新扫描,将当前帧点云的每个三维点,根据其三维坐标,计算其所在的分块子空间,根据策略选择一个子空间进行网格生成,将生成的网格在UI界面渲染出来,由于相邻的子空间的网格有重叠影响视觉效果,因此采用shader+phong光照模型,当前帧点云处理完毕,更新其中一个分块子空间的实时网格,实时网格生成过程中,采用marchingCube算法,根据每个小立方体的梯度,判定当前三角面是否可信,不可信网格以警告颜色标记,指示用户多次扫描,小组件是由多个子空间生成的所有三角面网格中,有一些数量较小三角面连接在一起形成的孤岛,孤岛大部分是由于噪声产生的,通过顶点融合得到整体网格,然后通过小组件分离,删除顶点小于阈值的小组件,暂停扫描时,强制更新所有网格,执行小组件删除,空洞检测等,如果继续扫描返回执行第二步骤,否则暂停,且更新所有的实时网格,更新实时网格是采用Volume计算隐函数值,然后按照MarchCube算法生成该子空间对应的三角面片,也即网格化,扫描结束启动精细网格生成,并完成精细网格的渲染,精细网格是采用poisson重建算法来完成点云到网格的生成,特点是精度高生成速度慢,纹理和材质是由以一套纹理生成算法来实现,精细网格生成后,依旧支持续扫,如果续扫,则放弃已有精细网格,显示实时网格。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (8)
1.一种三维图形实时渲染的方案,其特征在于,包括以下步骤:
S101、三维扫描软件启动时即根据扫描物体的大小,完成初始化分块实时网格,将扫描空间粗分为若干个子空间,每个相邻的子空间以一定比例重叠,比例数值为0.1;
S102、判断是否暂停,如果一直扫描,则接受三维重建的每一帧点云,处理每帧点云,将每个点云根据空间位置分配到指定的子空间中,此时如果该子空间未细分,则进行细分,细分后的子空间包含多个小voxel的红色小正方形;
S103、将当前帧点云的每个三维点,根据其三维坐标,计算其所在的分块子空间,根据策略选择一个子空间进行网格生成,将生成的网格在UI界面渲染出来,由于相邻的子空间的网格有重叠影响视觉效果,因此采用shader+phong光照模型;
S104、当前帧点云处理完毕,更新其中一个分块子空间的实时网格,实时网格生成过程中,采用marchingCube算法,根据每个小立方体的梯度,判定当前三角面是否可信,不可信网格以警告颜色标记,指示用户多次扫描;
S105、定时进行小组件删除,将所有网格全部更新,通过顶点融合得到整体网格,然后通过小组件分离,删除顶点小于阈值的小组件;
S106、如果继续扫描返回执行第二步骤,否则暂停,且更新所有的实时网格;
S107、进行精细网格生成。
2.根据权利要求1所述的一种三维图形实时渲染的方案,其特征在于:所述用户根据实时网格的完整程度来判断,即对所显示的网格已经完全展示了所扫描的物体特征或者反复扫面实时网格基本无变化的判断。
3.根据权利要求2所述的一种三维图形实时渲染的方案,其特征在于:所述暂停后用户一般会通过旋转,平移,放大等操作多角度观察实时网格,判断是否有异常部分存在分层和警告网格等,如果有会重新启动扫描。
4.根据权利要求3所述的一种三维图形实时渲染的方案,其特征在于:所述对于噪声比较多的地方,在反复扫描无效果的情况下,会将实时网格的局部裁剪,清理后重新扫描。
5.根据权利要求1所述的一种三维图形实时渲染的方案,其特征在于:所述三维扫描软件中预设扫描物体的大小,整个空间略大于所扫面物体的大小,整个空间是一个正方体,然后将整个正方体每条边n等分得到子空间。
6.根据权利要求1所述的一种三维图形实时渲染的方案,其特征在于:所述更新实时网格是采用Volume计算隐函数值,然后按照MarchCube算法生成该子空间对应的三角面片,也即网格化。
7.根据权利要求1所述的一种三维图形实时渲染的方案,其特征在于:所述暂停扫描时,强制更新所有网格,执行小组件删除,空洞检测等,小组件是由多个子空间生成的所有三角面网格中,有一些数量较小三角面连接在一起形成的孤岛,孤岛大部分是由于噪声产生的。
8.根据权利要求1所述的一种三维图形实时渲染的方案,其特征在于:所述扫描结束启动精细网格生成,并完成精细网格的渲染,精细网格是采用poisson重建算法来完成点云到网格的生成,特点是精度高生成速度慢,纹理和材质是由以一套纹理生成算法来实现,精细网格生成后,依旧支持续扫,如果续扫,则放弃已有精细网格,显示实时网格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111583657.1A CN114359511A (zh) | 2021-12-22 | 2021-12-22 | 一种三维图形实时渲染的方案 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111583657.1A CN114359511A (zh) | 2021-12-22 | 2021-12-22 | 一种三维图形实时渲染的方案 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114359511A true CN114359511A (zh) | 2022-04-15 |
Family
ID=81101683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111583657.1A Pending CN114359511A (zh) | 2021-12-22 | 2021-12-22 | 一种三维图形实时渲染的方案 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114359511A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116977523A (zh) * | 2023-07-25 | 2023-10-31 | 深圳市快速直接工业科技有限公司 | 一种step格式在web端的渲染方法 |
-
2021
- 2021-12-22 CN CN202111583657.1A patent/CN114359511A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116977523A (zh) * | 2023-07-25 | 2023-10-31 | 深圳市快速直接工业科技有限公司 | 一种step格式在web端的渲染方法 |
CN116977523B (zh) * | 2023-07-25 | 2024-04-26 | 快速直接(深圳)精密制造有限公司 | 一种step格式在web端的渲染方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wolff et al. | Point cloud noise and outlier removal for image-based 3D reconstruction | |
US20180315168A1 (en) | Point cloud noise and outlier removal for image-based 3d reconstruction | |
Wang et al. | Filling holes on locally smooth surfaces reconstructed from point clouds | |
Wang et al. | A hole-filling strategy for reconstruction of smooth surfaces in range images | |
US7561156B2 (en) | Adaptive quadtree-based scalable surface rendering | |
KR101482578B1 (ko) | 에지 검출 및 셰이더 재사용을 이용한 멀티뷰 광선 추적 | |
WO2012037863A1 (zh) | 三维模型数据化简、渐进传输方法及装置 | |
Branch et al. | Automatic hole-filling of triangular meshes using local radial basis function | |
Xu et al. | Stylized rendering of 3D scanned real world environments | |
Yemez et al. | A volumetric fusion technique for surface reconstruction from silhouettes and range data | |
CN109461197B (zh) | 一种基于球面uv和重投影的云实时绘制优化方法 | |
US10937236B1 (en) | Mesh smoothing for visual quality and analysis improvement | |
Branch et al. | A hole-filling algorithm for triangular meshes using local radial basis function | |
CN114359511A (zh) | 一种三维图形实时渲染的方案 | |
Valdetaro et al. | LOD terrain rendering by local parallel processing on GPU | |
Breckon et al. | Three-dimensional surface relief completion via nonparametric techniques | |
Schäfer et al. | Multiresolution attributes for hardware tessellated objects | |
KR101118597B1 (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
Schirmacher et al. | Efficient Free Form Light Field Rendering. | |
CN111028349A (zh) | 一种适用于海量三维实景数据快速可视化的层级构建方法 | |
CN112927352A (zh) | 基于压平多边形的三维场景局部区域动态压平方法及装置 | |
Phothong et al. | Quality improvement of 3D models reconstructed from silhouettes of multiple images | |
Ohtake et al. | A composite approach to meshing scattered data | |
Sim et al. | Construction of regular 3D point clouds using octree partitioning and resampling | |
Wang et al. | Identifying and filling occlusion holes on planar surfaces for 3-D scene editing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |