首页 > Easy3D:一个轻量级、易用、高效的C++库,用于处理和渲染3D数据

Easy3D:一个轻量级、易用、高效的C++库,用于处理和渲染3D数据

作者:Liangliang Nan

作者介绍:来自荷兰代尔夫特理工大学三维地理信息研究小组

代码:https://github.com/LiangliangNan/Easy3D

简介

Easy3D是一个用于三维建模、几何处理和渲染的开源库,它使用C++中实现的,并着重强调简单易用性性(即,处理和可视化3D数据可以通过API调用的几行来实现),Easy3D的贡献有三个方面:

(1)可以表示常见3D数据(即点云、曲面网格、多面体网格和图形)的高效数据结构;

(2)处理3D数据的常用算法;

(3)3D数据可视化的标准技术。

Easy3D旨在用于研究和教育目的,但它也是开发复杂3D应用程序的良好基础,其数据结构、几何处理算法和渲染技术可以无缝、轻松地集成,以快速开发研究原型或3D应用程序。图1和图2分别显示了Easy3D提供的数据结构和渲染功能的概述。

2c665e9f0248b3b07e3eb4feeb33694a.png

图1:Easy3D提供的数据结构。从左到右:点云、曲面网格、多面体网格和图形

功能概述

Easy3D的核心功能包括:

•用于表示和管理3D模型(即点云、曲面网格、多面体网格和图形)的高效数据结构,便于添加/访问任意类型的每元素属性,从文件加载模型时,会自动解决非Manifolds问题。

•一系列广泛使用的算法,例如,点云法线估计/重新定向、泊松曲面重建、RANSAC、网格简化、细分、平滑、参数化和重划分。

•一系列渲染技术,例如点/线视点替用、环境光遮挡(SSAO)、硬阴影(阴影贴图)、软阴影(PCSS)、眼罩照明(用于渲染没有法线信息的点云)和透明度(平均颜色混合、双深度剥离)。

•OpenGL和GLSL的高级封装,方便高效地进行渲染(基于现代且更快的可编程着色器样式渲染,即无需固定函数调用)。用户代码不需要接触OpenGL的低级API。

•演示API各种用途的分步教程,以熟悉3D建模和几何处理的数据结构、渲染技术和算法。

•可直接用于以各种格式可视化3D场景的查看器,也可轻松扩展。从Easy3D库中创建的一个方便的工具Mapple,用于渲染和处理3D数据。

d3e0aec5237e56ea2a324ead58bb76fc.png

图2:Easy3D渲染功能概述

Easy3D代码架构

代码库包含一个CMakeLists.txt文件,用作配置和构建程序,以及一组子文件夹:

3rd_party-第三方库的源代码

applications-基于Easy3D构建的应用程序

cmake-与cmake相关的配置文件

docs -文档配置文件(Doxygen)

easy3d-easy3d的源代码

resources -测试数据、图像、着色器和纹理等。

tests-测试用例的集合

tutorials-示例集(带有详细的代码解释)

Easy3D应用实例

043d2fc0bee236a8e6713a1e90dac017.png

尺度着色

ad7b3ea3d211c907ebf8feafade543f5.gif

点云网格化

9ba993740d032406b10c2569fee25925.gif

点云标注

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

新年新姿势

欢迎各位伙伴,一起经营知识星球,加入我们新的收费知识星球,一起分享!有兴趣运营者可直接评论加群主微信!

如果你对本文感兴趣,请后台发送“知识星球”获取二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:微信“920177957”(需要按要求备注) 联系邮箱:[email protected],欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

4a7071ed7b3fb15d007e73ae23ef900d.gif

更多相关:

  • 使用Blender创建3D艺术。初级课程 你会学到什么 使用Blender并理解它的界面 创建3D模型 创建您自己的材料 布料仿真、纹理和雕刻 第三种解释的相机法则 照相机景深 灯光设置 渲染 如何使用参考素材进行3D素描和建模?参考镜头也包括在内。 课程中包含所有章节场景文件和纹理贴图。 MP4 |视频:h264,1280...

  • Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D & C#: Learn To Code Making 3D Games Full Guide To Unity 3D & C#: Learn To Code Making 3D Games Unity 3D&C语言完整指南学习教程:学习编写3...

  • Blender和Substance Painter制作科幻装甲视频教程 时长7小时 1280X720 MP4 题目:《技能共享》--用Blender和Substance Painter绘制科幻盔甲 流派:电子学习| MP4 |视频:h264,1280x720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原...

  • 点云PCL免费知识星球,点云论文速读。标题:三维点云分割综述(上)排版:particle欢迎各位加入免费知识星球,获取PDF文档,欢迎转发朋友圈,分享快乐。这是一篇综述性论文,以下只做概述性介绍,介绍文章已共享在微信群和免费知识星球中,文章在公众号将分成三个部分:第一部分介绍点云的获取以及各种传感器获取点云的特性,以及分割概念的区别...

  • 点云PCL免费知识星球,点云论文速读。文章:DLL: Direct LIDAR Localization. A map-based localization approach for aerial robots作者:Fernando Caballero1 and Luis Merino编译:点云PCL代码:https://githu...

  • CloudCompare是一个三维点云(网格)编辑和处理软件。最初,它被设计用来对稠密的三维点云进行直接比较。它依赖于一种特定的八叉树结构,在进行点云对比这类任务时具有出色的性能【1】。此外,由于大多数点云都是由地面激光扫描仪采集的,CloudCompare的目的是在一台标准笔记本电脑上处理大规模的点云——通常超过1000万个点云。...

  • 点云PCL免费知识星球,点云论文速读。文章:Open3DGen: Open-Source Software for Reconstructing Textured 3D Models from RGB-D Images作者:Teo T. Niemirepo, Marko Viitanen, and Jarno Vanne编译:点云P...

  • 点云PCL免费知识星球,点云论文速读。标题:Real-Time Spatio-Temporal LiDAR Point Cloud Compression作者:Yu Feng , Shaoshan Liu , and Yuhao Zhu来源:2020IROS本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF...

  • 公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起每交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。资源三维点云论文及相关应用分享【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法3D目标检测...

  • Thanks to LOAM, A-LOAM, and LIO-SAM code authors. The major codes in this repository are borrowed from their efforts.代码:https://github.com/gisbi-kim/SC-A-LOAM编译:点云PCL本...

  • 文章:Inertial-Only Optimization for Visual-Inertial Initialization作者:Carlos Campos, Jose M.M. Montiel and Juan D. Tard ´ os´代码:https://github.com/bxh1/VIDO-SLAM.git编译:点云...

  • 点云PCL免费知识星球,点云论文速读。文章:Monocular Object and Plane SLAM in Structured Environments作者:Shichao Yang, Sebastian Scherer翻译:particle本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF论文,欢...

  • 点云PCL免费知识星球,点云论文速读。文章:Persistent Map Saving for Visual Localization for Autonomous Vehicles: An ORB-SLAM 2 Extension作者:Felix Nobis∗, Odysseas Papanikolaou, Johannes Be...