Arseny Kapoulkine
Independent. Previously: TF@Roblox
meshoptimizer, pugixml, volk, calm, niagara, qgrep, Luau
github.com/zeux
https://zeux.io
- Still some bits to sand off but getting closer.
- The fact that the entire industry is now wasting time working on, integrating, analyzing, reviewing, and commenting on frame generation is so sad. Surely there are actually productive things we all can be doing instead.
- One more thing! A few weeks ago I wrote a post that aggregates various articles I have written on meshoptimizer over the years: zeux.io/2025/12/09/m... If you’re looking for some reading to do over the break, consider revisiting these.
- Upcoming niagara stream! Tomorrow (Sunday, Dec 21) at 11 AM PST (7 PM GMT), we will work on reducing the startup time by "cooking" the geometry and, if that gets done quickly enough, optimizing texture loading. www.youtube.com/live/d04h0sZ...
- One fun feature that meshoptimizer got in the last two years that I forgot to mention in my v1 post is support for provoking vertex optimization for primitive ID rendering. Implementation is based on exploration by John Hable (thanks!) and is used by Wicked Engine meshoptimizer.org#visibility-b...
- Tomorrow comes.
- Half resolution is when you cut width and height in half, and get at best half of your rendering time back, since rarely if ever do things scale perfectly with pixel count.
- After nine years of development, meshoptimizer has reached its first major version, 1.0! This release focuses on improvements in clusterization and simplification as well as stabilization. Here's a release announcement with more details on past, present and future; please RT! meshoptimizer.org/v1
- Do I know anyone in Poland who will be there next week and wants to get tea or whatever people drink there and chat? Schedule not too flexible but I might be in the right city at the right time :) DM me!
- Is anyone still using DirectXMesh library? If so, why?
- 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
- AMDVLK is dead, long live radv: github.com/GPUOpen-Driv...
- Reposted by Arseny Kapoulkine[Not loaded yet]
- Spent some time resurrecting niagara from 2018 to test some NV_mesh_shader stuff. This was fun! - The code almost compiles and runs... needed a couple SPIRV fixes to align with latest Vulkan SDK for some reason. - This was using meshoptimizer v0.9 (17 versions ago!) - Update to v0.25 needed a...
- Upcoming niagara stream! Tomorrow (Saturday, Aug 23) at 11 AM PST (6 PM GMT), we will talk about and work on simplifying Vulkan synchronization code, following recent developments in the ecosystem like unified layouts. youtube.com/live/0rqWe1M...
- 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!
- Reposted by Arseny KapoulkineBREAKING: Silksong will be out on September 4. Two weeks from today. Really. Often, games that take 7+ years to make are plagued by mismanagement and painful burnout. But for Silksong? Team Cherry was having a blast. They still are. This is their story: www.bloomberg.com/news/newslet...
- @akien.bsky.social Any sense as to the timeline of 4.5 release? Did not expect 2 months of betas 😅
- now I can finally relax a little 😩