
The tool also supports debug output to Collada (dae) file format to visualize the generated meshlets e.g. The format is quite straight forward and documented in doc/file_format_p3g.xlsx if you want to parse it. The tool outputs the generated data in p3g file format that was developed to be Arduino-friendly and to enable rendering 3D models straight from read-only flash memory without need for run-time post-load data processing. Splitting the geometry processing to meshlets instead of processing the mesh as a whole has various benefits and has better fit with batch-based geometry processing (vs post-transform cache model) in modern GPU architectures as well. Below is an image of a 3D model from Blender called “Suzanne” which is split to 666 meshlets of max 64 vertices in each ( -mv 64) and visualized with different colors. Meshlets are small chunks of 3D geometry consisting some small number of vertices and triangles.


DX12-based modern renderers using mesh shaders. I developed the tool originally for my tiled software rasterizer and Arduino graphics library hobby project ( video), but it can be useful for other applications as well, e.g. Meshlete is a library and command line tool for Windows and Linux, which converts 3D models to meshlet-based 3D models.
