Tuan Kuranes
banner
tuankuranes.bsky.social
Tuan Kuranes
@tuankuranes.bsky.social
cpu, gpu @sketchfab @fab @epicgames
Computer graphics from c64 to ungodly number of shader processor on modern 3d rigs
Only cpu/gpu/dev/gamdev/vfx content
Reposted by Tuan Kuranes
Ever seen one of these, and wondered *why* they work? 🧵

This is a so-called Bitonic sorting network, and the illustrations show the two common ways to implement them. From an implementation point of view the two methods are effectively the same, so which one you pick just comes down to preference.
December 20, 2025 at 12:26 AM
Reposted by Tuan Kuranes
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...
🐇 meshoptimizer
Mesh optimization library that makes meshes smaller and faster to render
meshoptimizer.org
December 18, 2025 at 5:11 PM
Reposted by Tuan Kuranes
A presentation recording (ca. 10 minutes) and the PDF slides for my transmittance estimation paper are available now:
momentsingraphics.de/SiggraphAsia...
December 17, 2025 at 3:05 PM
Reposted by Tuan Kuranes
I'm so happy to finally be able to talk about our new SIGGRAPH Asia paper "Control Operators for Interactive Character Animation". It's been by far the most work I've seen go into a SIGGRAPH paper (thanks goes to @gouruiyu.bsky.social) and a fun project all round.

theorangeduck.com/page/control...
November 24, 2025 at 7:02 PM
Reposted by Tuan Kuranes
My "No Graphics API" blog post is live! Please repost :)
www.sebastianaaltonen.com/blog/no-grap...

I spend 1.5 years doing this. Full rewrite last summer and another partial rewrite last month. As Hemingway said: "First draft of everything is always shit".
No Graphics API — Sebastian Aaltonen
Graphics APIs and shader languages have significantly increased in complexity over the past decade. It’s time to start discussing how to strip down the abstractions to simplify development, improve pe...
www.sebastianaaltonen.com
December 16, 2025 at 6:52 PM
Reposted by Tuan Kuranes
Modeling faceted geometry as a 4D point process on a multiscale implicit grid enables real-time glint rendering for standard NDFs, with IS, anisotropy, and colored particles. Memory-free, in a standalone fragment shader. Our SIGGRAPH Asia 2025 paper: research.adobe.com/publication/....
December 17, 2025 at 6:01 AM
Reposted by Tuan Kuranes
I will release the first official #ImAnim 1.0.0
github.com/soufianek...
github.com/soufianek...

1/10
December 12, 2025 at 11:58 PM
Reposted by Tuan Kuranes
Posting an older article on "Probability Theory for Physically Based Rendering", using tomorrow's #thisisigad Graphics Guild lecture as an excuse:
jacco.ompf2.com/2019/12/11/p...
There is also a part 2.
December 11, 2025 at 8:35 PM
Reposted by Tuan Kuranes
A modernized Utah Teapot model with interior! You can see/customize/download it, along with historical versions on the official teapot page:
graphics.cs.utah.edu/teapot/
December 11, 2025 at 5:34 AM
Reposted by Tuan Kuranes
Gigi v1.01.7 Released - Gigi Multimedia Edition!

Microphone, speaker, and web cam support.

See release notes for more details:
github.com/electronicar...
December 10, 2025 at 5:40 PM
Reposted by Tuan Kuranes
Never ever use hashes you find around .. and for this matter .. don't roll your own hash functions either .. refer to your quality dealer eventually :) or to SplitMix64-based hashes.

Here with some commenting about.
December 8, 2025 at 8:34 PM
Reposted by Tuan Kuranes
Graphics Programming weekly - Issue 419 - December 7th, 2025 www.jendrikillner.com/post/graphic...
December 8, 2025 at 3:31 PM
Reposted by Tuan Kuranes
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
🐇 meshoptimizer v1.0
Mesh optimization library that makes meshes smaller and faster to render
meshoptimizer.org
December 8, 2025 at 4:56 PM
Reposted by Tuan Kuranes
There's a new and very neat-looking SIGGRAPH Asia paper on constructing the swept volume based on the path of a moving (possibly deforming) object. Check it out!

https://jurwen.github.io/Swept-Volume-Page/
November 20, 2025 at 1:07 AM
Reposted by Tuan Kuranes
Some random Morton Code tricks:

If you've worked with Morton codes you've probably seen something like the this GLSL code to decode a Morton code, which end up at roughly 27 integer operations to generate the equivalent 2D position.

Code transcribed from fgiesen.wordpress.com/2009/12/13/d...
December 5, 2025 at 2:07 PM
Reposted by Tuan Kuranes
Good article on the 'why' and 'how' behind custom memory allocators:

www.rastergrid.com/blog/sw-eng/...

Screenshots show requirements of general purpose allocators and how loosening these provides benefits to custom allocators.
December 4, 2025 at 6:16 PM
Reposted by Tuan Kuranes
Blog post: Cheap ray-tracing using only acceleration structures. No ray pipelines, no shader binding tables, no textures. anki3d.org/minimalist-r...
Minimalist ray-tracing leveraging only acceleration structures
AnKi has had ray-tracing support for quite some time. Beyond managing acceleration structures, the engine uses VK_KHR_ray_tracing_pipeline/DXR 1.0 for shadows (soon deprecated), indirect diffuse, a…
anki3d.org
December 4, 2025 at 8:41 PM
Reposted by Tuan Kuranes
Another SIGGRAPH Asia gem:
research.nvidia.com/labs/rtr/pub...
"Sample Space Partitioning and Spatiotemporal Resampling for Specular Manifold Sampling" by Hong et al., which combines sample space partitioning with ReSTIR to efficiently handle caustics.
Sample Space Partitioning and Spatiotemporal Resampling for Specular Manifold Sampling | NVIDIA Real-Time Graphics Research
Caustics rendering remains a long-standing challenge in Monte Carlo rendering because high-energy specular paths occupy only a small region of path space, making them difficult to sample effectively. ...
research.nvidia.com
December 4, 2025 at 10:42 AM
Reposted by Tuan Kuranes
Decided to go back to making Shadertoy fluid sims for for a bit.
This time I improved my particle clustering cellular automaton SPH fluid sim to support multiple species particle merging and splitting. Also some fine tuning of the physics.
shadertoy.com/view/tfyyWD
December 3, 2025 at 4:19 AM
Reposted by Tuan Kuranes
New blog post on how to render beautiful soft shadows projected by the user's finger with Jetpack Compose.

www.romainguy.dev/posts/2025/f...
November 29, 2025 at 11:15 PM
Reposted by Tuan Kuranes
Graphics Programming weekly - Issue 418 - November 30th, 2025 www.jendrikillner.com/post/graphic...
December 2, 2025 at 2:00 PM
Reposted by Tuan Kuranes
Want to talk about ImAnim: Animation Engine for Dear ImGui (@ocornut.bsky.social)? (:
news.ycombinator.com/item?id=4610...
github.com/soufianekhia...
1/8
December 2, 2025 at 12:15 AM
Reposted by Tuan Kuranes
If you are curious how the morphs were made in Keeper, then you can watch me create this "monkey-bunny" from scratch utilizing the tech I developed for the game. Enjoy and let me know what you think. :)
www.youtube.com/watch?v=f9V_...
December 2, 2025 at 8:40 AM
Reposted by Tuan Kuranes
A pretty wild debugging story:

When updating Dawn (Chrome's WebGPU lib), I saw a +50% jump in GPU timings for most/all of my GPU timers (measuring draws, dispatches, etc.).

I bisected Dawn's commit history to find the commit where the perf regression happened, and it ...

1/
December 1, 2025 at 9:24 PM
Reposted by Tuan Kuranes
New project: ImAnim "Animation Engine for Dear ImGui" by @soufianekhiat.bsky.social
- Repo github.com/soufianekhia...
- Post github.com/ocornut/imgu...
December 1, 2025 at 11:12 AM