Sign in

Arseny Kapoulkine

@zeux.io
1.5K followers 68 following 284 posts

Independent. Previously: TF@Roblox meshoptimizer, pugixml, volk, calm, niagara, qgrep, Luau github.com/zeux zeux.io

PostsRepliesMedia
Arseny Kapoulkine @zeux.io · 30/09/2026
New blog post! In "Billions of triangles redux" we take another stab at improving various parts of clustered level of detail pipeline to make Zorah smaller and nicer! zeux.io/2026/09/30/b...
25921
Arseny Kapoulkine @zeux.io · 25/09/2026
Remesher has an online demo; I use it for development and testing so I haven't spent much time on polish :) This is a remesh -> simplify -> unwrap -> retexture pipeline mentioned in the release, unwrapping powered by xatlas and retexture powered by three-mesh-bvh ❤️ meshoptimizer.org/demo/remesh....
071
Arseny Kapoulkine @zeux.io · 25/09/2026
meshoptimizer 1.3 is out! Featuring a new voxel remesher, support for normal generation, several simplification improvements and various optimizations and fixes. GitHub stars and reposts appreciated! meshoptimizer was started 10 years ago; excited for the years to come! github.com/zeux/meshopt...
29427
Arseny Kapoulkine @zeux.io · 08/09/2026
Funny/strange fact that I forgot about: meshoptimizer was initially going to be 1.0 from the get go! I changed the version number to 0.5 right before release. The header was still C++ back then. The "real" 1.0 was released in December 2025, more than 8 years later :)
020
Arseny Kapoulkine @zeux.io · 08/09/2026
meshoptimizer turns 10 today! This blindsided me a little bit; I thought it would be later this year. So I don't have an anniversary release or post ready; I'm on a tail end of a few neat improvements that need a bit more time to work on or write about. Time flies!
2342
Arseny Kapoulkine @zeux.io · 24/08/2026
2250
Arseny Kapoulkine @zeux.io · 06/08/2026
one more thing before I unplug for a couple weeks: nicer vertex normals!
0181
Arseny Kapoulkine @zeux.io · 29/07/2026
3120
Arseny Kapoulkine @zeux.io · 25/07/2026
0301
Arseny Kapoulkine @zeux.io · 30/06/2026
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...
07521
Arseny Kapoulkine @zeux.io · 21/05/2026
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.
0160
Arseny Kapoulkine @zeux.io · 20/05/2026
Almost 10% speedup on this view from an upcoming meshopt function (1.05 => 0.96ms). Obvious omission in hindsight...
0280
Arseny Kapoulkine @zeux.io · 09/05/2026
who even needs triangles in the first place
3100
Arseny Kapoulkine @zeux.io · 30/04/2026
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.
110
Arseny Kapoulkine @zeux.io · 28/04/2026
0220
Arseny Kapoulkine @zeux.io · 02/04/2026
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!
510335
Arseny Kapoulkine @zeux.io · 30/03/2026
Testing per vertex priority flags for simplification
1251
Arseny Kapoulkine @zeux.io · 08/02/2026
and just in case you have a spare GPU
190
Arseny Kapoulkine @zeux.io · 06/02/2026
0160
Arseny Kapoulkine @zeux.io · 31/01/2026
Still some bits to sand off but getting closer.
1130
Arseny Kapoulkine @zeux.io · 30/09/2025
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...
116655
Arseny Kapoulkine @zeux.io · 23/09/2025
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
1303
Arseny Kapoulkine @zeux.io · 19/09/2025
~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!
070
Arseny Kapoulkine @zeux.io · 13/09/2025
#ScreenshotSaturday
2271
Arseny Kapoulkine @zeux.io · 02/09/2025
Not just from tiny_ocl.h, no.
100
Arseny Kapoulkine @zeux.io · 21/08/2025
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!
0250
Arseny Kapoulkine @zeux.io · 20/08/2025
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 ...
36221
Arseny Kapoulkine @zeux.io · 11/08/2025
1250
Arseny Kapoulkine @zeux.io · 02/08/2025
neat
070
Arseny Kapoulkine @zeux.io · 18/07/2025
today is one of those days
160
Arseny Kapoulkine @zeux.io · 13/07/2025
today is one of those days
3151
Arseny Kapoulkine @zeux.io · 24/06/2025
0370
Arseny Kapoulkine @zeux.io · 10/06/2025
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.
130
Arseny Kapoulkine @zeux.io · 30/05/2025
nothing a recently added function won't fix at least :-/
050
Arseny Kapoulkine @zeux.io · 30/05/2025
... always look inside meshes if the metrics you evaluate look incredibly strange.
3291
Arseny Kapoulkine @zeux.io · 28/03/2025
2025 seems like a great year for software rasterization
0230
Arseny Kapoulkine @zeux.io · 27/03/2025
good start of the year
0100
Arseny Kapoulkine @zeux.io · 17/03/2025
At gdc wed-thu and maybe fri, dm if you’d like to grab coffee
0140
Arseny Kapoulkine @zeux.io · 09/03/2025
progress
000
Arseny Kapoulkine @zeux.io · 06/03/2025
you're welcome
000
Arseny Kapoulkine @zeux.io · 06/03/2025
why would they do this to me
370
Arseny Kapoulkine @zeux.io · 28/02/2025
2170
Arseny Kapoulkine @zeux.io · 12/02/2025
hard part (plotting points) done now for the easy part, choosing the best color
190
Arseny Kapoulkine @zeux.io · 03/02/2025
These last four lines were entirely too much work but things seemingly work more or less.
0130
Arseny Kapoulkine @zeux.io · 08/01/2025
The more things change, the more they stay the same.
0201
Arseny Kapoulkine @zeux.io · 31/12/2024
Thanks, Grammarly.
1190
Arseny Kapoulkine @zeux.io · 31/12/2024
Not shown to make the graphs easier to see ;)
010
Arseny Kapoulkine @zeux.io · 31/12/2024
The trend continues which is kinda funny.
180
Arseny Kapoulkine @zeux.io · 28/12/2024
Wow I was sure I would not get it until mid 2025 :) - Mesh shading works well on Windows - RT works well on Windows - Task shaders work well, no CP bottleneck nonsense - Linux drivers have a few bugs + some perf issues - Seems 2-3x slower vs 7900 GRE ($250 v 550) Good overall for the price!
3300
Arseny Kapoulkine @zeux.io · 11/12/2024
gradientNoise is my new best friend
080