Easy3D:一个轻量级、易用、高效的C++库,用于处理和渲染3D数据
作者:Liangliang Nan
作者介紹:來(lái)自荷蘭代爾夫特理工大學(xué)三維地理信息研究小組
代碼:https://github.com/LiangliangNan/Easy3D
簡(jiǎn)介
Easy3D是一個(gè)用于三維建模、幾何處理和渲染的開(kāi)源庫(kù),它使用C++中實(shí)現(xiàn)的,并著重強(qiáng)調(diào)簡(jiǎn)單易用性性(即,處理和可視化3D數(shù)據(jù)可以通過(guò)API調(diào)用的幾行來(lái)實(shí)現(xiàn)),Easy3D的貢獻(xiàn)有三個(gè)方面:
(1)可以表示常見(jiàn)3D數(shù)據(jù)(即點(diǎn)云、曲面網(wǎng)格、多面體網(wǎng)格和圖形)的高效數(shù)據(jù)結(jié)構(gòu);
(2)處理3D數(shù)據(jù)的常用算法;
(3)3D數(shù)據(jù)可視化的標(biāo)準(zhǔn)技術(shù)。
Easy3D旨在用于研究和教育目的,但它也是開(kāi)發(fā)復(fù)雜3D應(yīng)用程序的良好基礎(chǔ),其數(shù)據(jù)結(jié)構(gòu)、幾何處理算法和渲染技術(shù)可以無(wú)縫、輕松地集成,以快速開(kāi)發(fā)研究原型或3D應(yīng)用程序。圖1和圖2分別顯示了Easy3D提供的數(shù)據(jù)結(jié)構(gòu)和渲染功能的概述。
圖1:Easy3D提供的數(shù)據(jù)結(jié)構(gòu)。從左到右:點(diǎn)云、曲面網(wǎng)格、多面體網(wǎng)格和圖形
功能概述
Easy3D的核心功能包括:
?用于表示和管理3D模型(即點(diǎn)云、曲面網(wǎng)格、多面體網(wǎng)格和圖形)的高效數(shù)據(jù)結(jié)構(gòu),便于添加/訪問(wèn)任意類型的每元素屬性,從文件加載模型時(shí),會(huì)自動(dòng)解決非Manifolds問(wèn)題。
?一系列廣泛使用的算法,例如,點(diǎn)云法線估計(jì)/重新定向、泊松曲面重建、RANSAC、網(wǎng)格簡(jiǎn)化、細(xì)分、平滑、參數(shù)化和重劃分。
?一系列渲染技術(shù),例如點(diǎn)/線視點(diǎn)替用、環(huán)境光遮擋(SSAO)、硬陰影(陰影貼圖)、軟陰影(PCSS)、眼罩照明(用于渲染沒(méi)有法線信息的點(diǎn)云)和透明度(平均顏色混合、雙深度剝離)。
?OpenGL和GLSL的高級(jí)封裝,方便高效地進(jìn)行渲染(基于現(xiàn)代且更快的可編程著色器樣式渲染,即無(wú)需固定函數(shù)調(diào)用)。用戶代碼不需要接觸OpenGL的低級(jí)API。
?演示API各種用途的分步教程,以熟悉3D建模和幾何處理的數(shù)據(jù)結(jié)構(gòu)、渲染技術(shù)和算法。
?可直接用于以各種格式可視化3D場(chǎng)景的查看器,也可輕松擴(kuò)展。從Easy3D庫(kù)中創(chuàng)建的一個(gè)方便的工具M(jìn)apple,用于渲染和處理3D數(shù)據(jù)。
圖2:Easy3D渲染功能概述
Easy3D代碼架構(gòu)
代碼庫(kù)包含一個(gè)CMakeLists.txt文件,用作配置和構(gòu)建程序,以及一組子文件夾:
3rd_party-第三方庫(kù)的源代碼
applications-基于Easy3D構(gòu)建的應(yīng)用程序
cmake-與cmake相關(guān)的配置文件
docs -文檔配置文件(Doxygen)
easy3d-easy3d的源代碼
resources -測(cè)試數(shù)據(jù)、圖像、著色器和紋理等。
tests-測(cè)試用例的集合
tutorials-示例集(帶有詳細(xì)的代碼解釋)
Easy3D應(yīng)用實(shí)例
尺度著色
點(diǎn)云網(wǎng)格化
點(diǎn)云標(biāo)注
資源
三維點(diǎn)云論文及相關(guān)應(yīng)用分享
【點(diǎn)云論文速讀】基于激光雷達(dá)的里程計(jì)及3D點(diǎn)云地圖中的定位方法
3D目標(biāo)檢測(cè):MV3D-Net
三維點(diǎn)云分割綜述(上)
3D-MiniNet: 從點(diǎn)云中學(xué)習(xí)2D表示以實(shí)現(xiàn)快速有效的3D LIDAR語(yǔ)義分割(2020)
win下使用QT添加VTK插件實(shí)現(xiàn)點(diǎn)云可視化GUI
JSNet:3D點(diǎn)云的聯(lián)合實(shí)例和語(yǔ)義分割
大場(chǎng)景三維點(diǎn)云的語(yǔ)義分割綜述
PCL中outofcore模塊---基于核外八叉樹的大規(guī)模點(diǎn)云的顯示
基于局部凹凸性進(jìn)行目標(biāo)分割
基于三維卷積神經(jīng)網(wǎng)絡(luò)的點(diǎn)云標(biāo)記
點(diǎn)云的超體素(SuperVoxel)
基于超點(diǎn)圖的大規(guī)模點(diǎn)云分割
更多文章可查看:點(diǎn)云學(xué)習(xí)歷史文章大匯總
SLAM及AR相關(guān)分享
【開(kāi)源方案共享】ORB-SLAM3開(kāi)源啦!
【論文速讀】AVP-SLAM:自動(dòng)泊車系統(tǒng)中的語(yǔ)義SLAM
【點(diǎn)云論文速讀】StructSLAM:結(jié)構(gòu)化線特征SLAM
SLAM和AR綜述
常用的3D深度相機(jī)
AR設(shè)備單目視覺(jué)慣導(dǎo)SLAM算法綜述與評(píng)價(jià)
SLAM綜述(4)激光與視覺(jué)融合SLAM
Kimera實(shí)時(shí)重建的語(yǔ)義SLAM系統(tǒng)
SLAM綜述(3)-視覺(jué)與慣導(dǎo),視覺(jué)與深度學(xué)習(xí)SLAM
易擴(kuò)展的SLAM框架-OpenVSLAM
高翔:非結(jié)構(gòu)化道路激光SLAM中的挑戰(zhàn)
SLAM綜述之Lidar SLAM
基于魚眼相機(jī)的SLAM方法介紹
新年新姿勢(shì)
歡迎各位伙伴,一起經(jīng)營(yíng)知識(shí)星球,加入我們新的收費(fèi)知識(shí)星球,一起分享!有興趣運(yùn)營(yíng)者可直接評(píng)論加群主微信!
如果你對(duì)本文感興趣,請(qǐng)后臺(tái)發(fā)送“知識(shí)星球”獲取二維碼,務(wù)必按照“姓名+學(xué)校/公司+研究方向”備注加入免費(fèi)知識(shí)星球,免費(fèi)下載pdf文檔,和更多熱愛(ài)分享的小伙伴一起交流吧!
以上內(nèi)容如有錯(cuò)誤請(qǐng)留言評(píng)論,歡迎指正交流。如有侵權(quán),請(qǐng)聯(lián)系刪除
掃描二維碼
? ? ? ? ? ? ? ? ? ?關(guān)注我們
讓我們一起分享一起學(xué)習(xí)吧!期待有想法,樂(lè)于分享的小伙伴加入免費(fèi)星球注入愛(ài)分享的新鮮活力。分享的主題包含但不限于三維視覺(jué),點(diǎn)云,高精地圖,自動(dòng)駕駛,以及機(jī)器人等相關(guān)的領(lǐng)域。
分享及合作方式:微信“920177957”(需要按要求備注) 聯(lián)系郵箱:dianyunpcl@163.com,歡迎企業(yè)來(lái)聯(lián)系公眾號(hào)展開(kāi)合作。
點(diǎn)一下“在看”你會(huì)更好看耶
總結(jié)
以上是生活随笔為你收集整理的Easy3D:一个轻量级、易用、高效的C++库,用于处理和渲染3D数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基于曲率的体素聚类的三维激光雷达点云实时
- 下一篇: 三维点云分割综述