SPIRV-Reflect
meshoptimizer
Our great sponsors
SPIRV-Reflect | meshoptimizer | |
---|---|---|
4 | 12 | |
613 | 4,969 | |
3.9% | - | |
7.9 | 9.0 | |
2 days ago | 7 days ago | |
C | C++ | |
Apache License 2.0 | 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.
SPIRV-Reflect
-
[Part 4] Update of my Vulkan toy renderer: Mesh Shader Pipeline, Reversed-Z Depth Buffer, SPIRV-Reflect and many more
Automated descriptor set layout creation using SpirV-reflect. This will be used for more stuff in the future.
- GLSL std140 layout for Arrays of Scalars
-
Is it possible to get set number from uniform block reflection in glslang?
You might be able to get it with https://github.com/KhronosGroup/SPIRV-Reflect ?
- Reflection on shaders to determine uniforms, samplers, attributes, etc.
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?
vulkan-guide - Introductory guide to vulkan.
assimp - The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.
SPIRV-Cross - SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.
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.
BunnyLOD - Cross platform GLFW based port of Stan Melax's BunnyLOD Easy Mesh Simplification
tinygltf - Header only C++11 tiny glTF 2.0 library
glTF-Transform - glTF 2.0 SDK for JavaScript and TypeScript, on Web and Node.js.
libzim - Reference implementation of the ZIM specification