论文阅读Easy3D: a lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D

论文来源:the journal of open source software
出自:代尔夫特理工(Delft University of Technology),3D geoinformation research group
作者:liangliang nan
摘要
Easy3D是一个用于3D建模、几何处理和渲染的开源库。它是用c++实现的,设计的重点是简单性(即,处理和可视化3D数据可以通过几行API调用来实现)。Easy3D的贡献有三个方面:(1)用于表示常见3D数据的高效数据结构(即点云、表面网格、多面体网格和图形);(2)用于处理3D数据的常用算法;(3)用于3D数据可视化的标准技术。数据结构、几何处理算法和绘制技术可以无缝且容易地集成在一起,用于研究原型或3D应用的快速开发。图1和图2分别显示了Easy3D提供的数据结构和呈现功能的概述。
在这里插入图片描述
Easy3D中的数据结构,从左到右依次是:点云,表面网格,多面体网格和图结构。
在这里插入图片描述
Easy3D的渲染函数总览。
现有3D点云处理开源库的缺陷:
开发端到端3D数据处理软件通常需要集成不同的功能,如数据结构(用于表示和存储3D数据)、算法(用于处理和分析)和渲染(用于可视化数据和派生信息)。然而,每一个开源软件都有一个特定的重点,整合不同软件包提供的功能并不是一件容易的任务。例如,MeshLab 和CloudCompare专注于易于使用的gui(图形用户界面)来处理网格和点云。CGAL, libigl和PMP强调复杂的网格处理算法的实现,缺乏渲染和交互能力。因此,开发过程对开发人员在所有相关方面的专业知识有很高的要求。
Easy3D的核心特征:
1、 用于表示和管理3D模型的高效数据结构(如点云、表面网格、多面体网格和图形)。易于添加/访问每个元素的任意类型的属性。非流形性在从文件加载模型时自动解决。

2、 一组广泛使用的算法,例如点云正态估计/重定向,泊松表面重建,RANSAC,网格简化,平滑,参数化。

3、 大量的渲染技术,例如点/线imposters,环境遮挡(SSAO),硬阴影(阴影地图),软阴影(PCSS),眼球照明(渲染点云没有正常信息),和透明度(平均颜色混合,双深度剥离)。

4、 OpenGL和GLSL的高级封装为方便和高效的渲染(基于现代和更快的编程着色风格渲染,即没有固定的函数调用)。客户端代码不需要触及OpenGL的底层api。

5、 详细教程演示了各种api的使用,以了解数据结构、渲染技术和3D建模和几何处理算法。

6、 可以直接用于各种格式的3D场景的可视化工具,也可以很容易地扩展。一个方便的工具Mapple从Easy3D库创建,用于渲染和处理3D数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值