Arseny Kapoulkine
@zeux
Independent. Previously: TF@Roblox meshoptimizer, pugixml, volk, calm, niagara, qgrep, Luau
meshoptimizer 1.2 is out! Featuring support for tangent generation, a significantly faster vertex decoder for Intel/AMD CPUs, several new smaller algorithms (cluster position compression, triangle filtering, clusterlod BVH) and more. GitHub stars and boosts appreciated! github.com/zeux/meshopt...
A list of experimental meshoptimizer APIs. When 1.0 was released in December last year, the only experimental API was marked with the green checkmark.
Almost 10% speedup on this view from an upcoming meshopt function (1.05 => 0.96ms). Obvious omission in hindsight...
FWIW here's the updated errors for 20-bit (with oct10 as a baseline) and 21-bit (with signed oct10 as a baseline) for the tangent frame use case specifically; all 4 encodings are 31 bit. This is using the "optimal rounding" for the oct variants, and tangent angle in both cases for parity.
meshoptimizer 1.1 is out! github.com/zeux/meshopt... Featuring two new major features, meshlet topology compression and opacity micromaps, as well as a few smaller features and improvements! More information in the infographic and release above :) Boosts and repository stars are welcome!
New blog post! In "Billions of triangles in minutes" we'll walk through hierarchical cluster level of detail generation of, well, billions of triangles in minutes. Reposts welcome! zeux.io/2025/09/30/b...
Unlike Vulkan, DX12 doesn't support loading 8-bit types from byte address buffers; this seems like it would be a problem for working with 8-bit triangle indices, but don't worry, you can just
~3m instead of ~4m now :) It's actually ~2m40s when not ran under the profiler for whatever reason. While I *can* make the green bars completely solid I've already spent way longer than I should on this exercise so this will have to do!
While it's quite silly to literally run the simplifier every frame on the UI thread in the browser, it's fun to see that it can indeed work at 60 FPS!
meshoptimizer v0.25 is out! Featuring new simplification function that optimizes positions and attributes for appearance, experimental permissive mode to simplify faceted regions with selective seam preservation, regularization option for improved tessellation quality and deformation, multiple ...
Note that radv commit above exposes this only on RDNA3/4. The commit contains helpful detail that suggests that if you aren't using MSAA, this is also fine on RDNA1/2.
... always look inside meshes if the metrics you evaluate look incredibly strange.