BunnyLOD
meshoptimizer
Our great sponsors
BunnyLOD | meshoptimizer | |
---|---|---|
4 | 12 | |
74 | 4,946 | |
- | - | |
0.0 | 9.0 | |
almost 4 years ago | 7 days ago | |
C++ | C++ | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
BunnyLOD
-
help implementing LOD edge collapse algorithm
You might want to take a look at Stan Melax's easy mesh simplification technique with edge collapse at http://www.melax.com/polychop (read the full article link) - I've ported the code so it runs cross platform on https://github.com/dougbinks/BunnyLOD
-
Mesh optimization algorithms
I use a variant of progressive meshing, but constrained to preserve edges, normals and ambient occulusion in Avoyd based on Stan Melax's work: https://github.com/dougbinks/BunnyLOD
meshoptimizer
-
Will the same texture used in many gltfs be duplicated in memory?
Here are some amazing tools for compressing GLTFs: https://github.com/zeux/meshoptimizer/blob/master/gltf/README.md
-
[Part 7] Update of my Vulkan renderer: LODs, Multiple different meshes, Memory Allocator, Render architecture and more
Implemented Mesh LOD system. LOD selection is done completely on GPU. I generate LODs using meshoptimizer.
-
[Part 4] Update of my Vulkan toy renderer: Mesh Shader Pipeline, Reversed-Z Depth Buffer, SPIRV-Reflect and many more
Added NVidia mesh shader pipeline support, with old pipeline still supported on top. Meshlets are generated using meshoptimizer.
-
help implementing LOD edge collapse algorithm
I call meshopt_simplify(). It uses a quadric error metric based mesh simplification of some sort. I haven't really looked into the details of how it works, but the code (with some comments referencing papers) can be found here: https://github.com/zeux/meshoptimizer/blob/master/src/simplifier.cpp
Your code is too difficult to read when formatted like this, so I'm not even trying. In general you want a mesh optimization algorithm that preserves topology and mesh edge outlines so that you don't get holes in the middle like I see in your video. I've used the meshoptimizer library in my project: https://github.com/zeux/meshoptimizer
-
Mesh optimization algorithms
Some other handy open source libraries you might find useful are: https://github.com/zeux/meshoptimizer https://github.com/assimp/assimp https://www.pmp-library.org/
What are some alternatives?
assimp - The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.
CGal - The public CGAL repository, see the README below
meshlab - The open source mesh processing system
Open3D - Open3D: A Modern Library for 3D Data Processing
PhysicsFS - PhysFS++ is a C++ wrapper for the PhysicsFS library.
draco - Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.
chip-8 - Yet another Chip-8 interpreter, but this time with a beautiful interface 💻
glTF-Transform - glTF 2.0 SDK for JavaScript and TypeScript, on Web and Node.js.
tinygltf - Header only C++11 tiny glTF 2.0 library
libzim - Reference implementation of the ZIM specification
SPIRV-Reflect - SPIRV-Reflect is a lightweight library that provides a C/C++ reflection API for SPIR-V shader bytecode in Vulkan applications.
magnum - Lightweight and modular C++11 graphics middleware for games and data visualization