vulkanizer
meshoptimizer
vulkanizer | meshoptimizer | |
---|---|---|
6 | 12 | |
545 | 4,981 | |
- | - | |
0.0 | 9.0 | |
22 days ago | 2 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.
vulkanizer
-
Two-Pass Occlusion Culling - Blog Post
You can find its implementation on my GitHub page and you can follow me on Twitter for more graphics related stuff.
-
[Part 7] Update of my Vulkan renderer: LODs, Multiple different meshes, Memory Allocator, Render architecture and more
You can follow my progress on Twitter and Git. You can find more screenshots and videos over there.
- [Part 4] Update of my Vulkan toy renderer: Mesh Shader Pipeline, Reversed-Z Depth Buffer, SPIRV-Reflect and many more
-
Part 3 update of my new Vulkan toy renderer. More info in comments.
You can follow my journey on Twitter and GitHub.
-
Part 2 update of my new toy Vulkan renderer
Part 2 update of my new toy Vulkan renderer: Implemented Programmable Vertex Fetching, Vertex size is significantly smaller now (12 Bytes), Normals use only two 8 bit vector components where the third component gets reconstructed in the shader, Vertex positions and UVs are 2 Bytes in size, started using VK_KHR_push_descriptor which is much nicer to work with compared to traditional descriptor sets. Sebastian Aaltonen gave a very good explanation for Programmable Vertex Fetching. Normals use only two 8 bit vector components where the third component is reconstructed in the shader. You can follow my journey on Twitter and Git.
-
I started implementing modern Vulkan renderer
I recently started working on my toy Vulkan renderer. The plan is to implement many modern graphics and Vulkan features along the way. As a starting point I made a single mesh renderer and basic CPU/GPU profiler. You can follow my journey on Twitter and Git.
meshoptimizer
-
Nanite-like LODs experiments
1) I used meshoptimizer to simplify meshes and building meshlets. But to combine these meshlets (for more efficient simplifying) I built a graph with weights and partition it. In this weight some metrics are included: the shared border length of a pair of meshlets, their facing direction and other similar metrics. The next step is to simplify these groups of meshlets (fixate borders for each of them and simplify meshlets within the group). So, you can make dependencies of newly generated meshlets on the initial ones.
-
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
-
Maximum size of scene or a project in THREE.JS
I've also had good results with this tool: https://github.com/zeux/meshoptimizer/blob/master/gltf/README.md and kt2tdecoder + meshopt_decoder
-
[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.
-
Given a mesh without indices, how I generate indices for that mesh and remove the duplicate vertices?
Maybe Meshoptimizer can be useful?
-
[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.
-
Algoritm to simplify geometric data similar to texture bitmapping
I've used the "Simplification" operation of meshoptimizer to simplify 3D model geometry: https://github.com/zeux/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
-
what is the size of a mesh vertex
hi! i am building a game engine with c and raylib and i want to use this library for optimizing meshes : https://github.com/zeux/meshoptimizer
-
Fast mesh decimation?
Have you considered this? https://github.com/zeux/meshoptimizer
What are some alternatives?
SoftwareRenderer - Software rendering engine with PBR. Built from scratch on C++.
assimp - The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.
tinyrenderer - A brief computer graphics / rendering course
CGal - The public CGAL repository, see the README below
drmingw - Postmortem debugging tools for MinGW.
meshlab - The open source mesh processing system
HybridRenderingEngine - Clustered Forward/Deferred renderer with Physically Based Shading, Image Based Lighting and a whole lot of OpenGL.
Open3D - Open3D: A Modern Library for 3D Data Processing
GamePlay - Open-source, cross-platform, C++ game engine for creating 2D/3D games.
PhysicsFS - PhysFS++ is a C++ wrapper for the PhysicsFS library.
polymer - 🎨 graphics/interaction prototyping sandbox
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.