C++ API for 3D Data Processing & Rendering
A stable free C++ Library that provides support for 3D modeling, geometry processing, and rendering from within C++ applications
Easy3D is an open source pure C++ 3D processing library that helps software developers in creating apps for 3D modeling generation and rendering. The library is easy to use and produces efficient results. It supports several techniques for processing and rendering 3D data such as shadow, eye-dome lighting, ambient occlusion, transparency, and many more. The Easy3D was developed for research and educational purposes but can also be used for building high-quality 3D applications.
The Easy3D library has included rendering support related to 3D drawables such as points, lines, triangles, and thus point clouds, mesh surfaces, scalar fields, and vector fields with just a couple of lines of C++ code. Moreover, it also includes support for several important features for mesh curvature, simplification, smoothing, fairing, re-meshing, hole filling, subdivision, and more.
At A Glance
An overview of Easy3D features
- Export data in glTF
- Create text
- Drawing Lines
- Setting camera
- Create Geometric Cube
- FBX support
- Collada support
- OBJ support
- Mesh surfaces
- Scalar Field
Easy3D supports popular 3D file formats listed below.
- OpenGL, GLSL
- TXT, OpenGL, GLSL
Easy3D only requires binary SDK to work
Getting Started with Easy3D
The easiest way to install Easy3D is using GitHub. Use the following command for a successful installation.
Install Easy3D via GitHub
git clone --depth=1 https://github.com/LiangliangNan/Easy3D.git
You can also install Easy3D using CMake. First, use CMake to generate project files for your IDE, then load the project to IDE and build.
3D Text Rendering using C++ API
The open source Easy3D library supports rendering text. Developers can easily render strings using Easy3D with just a couple of commands. It allows to increase or decrease font size, manage character spacing, control line spacing, control left, center or right-align multi-line text, enable or disable kerning, switch the origin between upper left and bottom left, and more.
3D Transparency Support via C++ API
Easy3D library gives software developers the capability to apply different transparency techniques by easily Loading a mesh model and switch between different transparency techniques or even turn on and off the transparency. It also allows to increase or decrease the transparency of the current model with with the ability to render a surface mesh with transparency technique like average color blending and dual depth peeling.
Create Drawables & Visualize 3D Data
The Easy3D library provides functionality for creating and visualizing drawables without associating it with any 3D models. Usually, the drawables are created for rendering 3D models. The Easy3D library has support for visualizing 3D data without explicitly defining a model or generate it for a specific rendering purpose or use the viewer to visualize the drawable.