Tuan Kuranes
banner
tuankuranes.bsky.social
Tuan Kuranes
@tuankuranes.bsky.social
1.4K followers 3.8K following 32 posts
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
Posts Media Videos Starter Packs
Reposted by Tuan Kuranes
I gave a talk at Pacific Graphics 2025 on the topic of "Classical Computer Graphics in the Age of Generative AI". I've uploaded the recording to Youtube today.
www.youtube.com/watch?v=Vyci...
"Classical Computer Graphics in the Age of Generative AI", Pacific Graphics 2025 Keynote, Tzu-Mao Li
YouTube video by Tzu-Mao Li
www.youtube.com
Reposted by Tuan Kuranes
This is your chance to join a group of graphics programmers :-)
🔔 We’re #Hiring! The Forge Interactive is looking for a Graphics Programmer and an Intern to join our team!

🌐 Apply on LinkedIn: The Forge Interactive, Inc.
✉️ Or email: [email protected]

#GraphicsProgramming #Intern #GameDevCareers #OpenRole
Reposted by Tuan Kuranes
Ray marching is a common approach to GPU-accelerated volume rendering, but gives biased transmittance estimates. My new #SIGGRAPHAsia paper (+code) proposes an amazingly simple formula to eliminate this bias almost completely without using more samples.
momentsingraphics.de/SiggraphAsia...
Reposted by Tuan Kuranes
A couple barriers to C development are lack of a fast sorting library and a fast hash set and map. I've found these two libraries to be excellent at providing those. They are macro based, but I think the trade-off is worth it. Both work with C99.
github.com/svpv/qsort
github.com/JacksonAllan...
Reposted by Tuan Kuranes
Old article I wrote about these missiles back in the day: blog.littlepolygon.com/posts/missile/
Reposted by Tuan Kuranes
A new article: Why CIELAB doesn’t improve median cut

It's a common misconception that CIELAB will instantly improve palettes produced by the median cut algorithm. Unfortunately it's not that simple.

📜 30fps.net/pages/median...

It gets pretty technical but I added some context to the intro.
Reposted by Tuan Kuranes
🎄 Introducing our paper A Generalizable Light Transport 3D Embedding for Global Illumination lnkd.in/gQUMSAyV .
🙈 Just as Transformers learn long-range relationships between words or pixels, our new paper shows they can also learn how light interacts and bounces around a 3D scene.
Reposted by Tuan Kuranes
So, I made a hair shader that doesn't require any specially made meshes or textures.

Initially I made this work by sampling many normal directions rotated around the hair strand direction, but I eventually got an approximation working that doesn't rely on multi-sampling.

github.com/runevision/H...
Reposted by Tuan Kuranes
"Return of the Obra Dinn" is seven years old this week.

For this not-particularly-special anniversary, here's a re-cammed and narrated timelapse of (nearly) all character creation, object modeling, scene posing, and general 3D work for Obra Dinn from 2015 to 2018:

youtu.be/90vqCKEEj3s
Return of the Obra Dinn - Narrated Modeling Mega Timelapse
YouTube video by Lucas Pope
youtu.be
Reposted by Tuan Kuranes
Graphics Programming weekly - Issue 413 - October 19th, 2025 www.jendrikillner.com/post/graphic...
Reposted by Tuan Kuranes
New blog site (with RSS!), and

UPDATE ON MESH CONTOURS! I've rewrote that whole part of my star blog article on how to render lines for games, by adding my own PhD work that makes it now possible in realtime!

Read it AGAIN!
panthavma.com/articles/lin...
Reposted by Tuan Kuranes
I finally found the time and energy to make a new blog and write a couple of posts. This time I wrote about PBR content and game development principles. Both posts are quite different so hopefully people find something interesting on either one of them.

irradiance.ca/posts/
Posts
irradiance.ca
Reposted by Tuan Kuranes
Graphics Programming weekly - Issue 412 - October 12th, 2025 www.jendrikillner.com/post/graphic...
Reposted by Tuan Kuranes
When your graphics programmer tells you to stop simulating off-screen cloth, show them this video.
Reposted by Tuan Kuranes
dear imgui 1.92.4 released!
github.com/ocornut/imgu...

Bonus links:
- list of extensions github.com/ocornut/imgu...
- debug tools github.com/ocornut/imgu...
- error recovery github.com/ocornut/imgu...
- getting started github.com/ocornut/imgu...
- bindings & backends github.com/ocornut/imgu...
Reposted by Tuan Kuranes
New article on my site: Better sRGB to greyscale conversion

The commonly used greyscale formula is slightly off when computed in gamma space but can it be fixed?

📜 30fps.net/pages/better...
Reposted by Tuan Kuranes
Computing the exact bijection of the optimal transport (OT) problem between very large point sets is completely untractable…

In our SIGGRAPH Asia 2025 paper: “BSP-OT: Sparse transport plans between discrete measures in log-linear time” we get one with typically 1% of error in a few seconds on CPU!
Reposted by Tuan Kuranes
Happy to announce: ReSWD. Sliced Wasserstein Distances are quite powerful, but they perform a Monte Carlo (MC) integration (over random directions). During an optimization this can lead to noisy gradients due to variance.

Project page: reservoirswd.github.io
Reposted by Tuan Kuranes
Finally sharing what I’ve been building for almost a year now! 🐢✨

Atuin Desktop: runbooks that run

It’s open source and in open beta now 🥰

Built for engineers who need repeatable, reliable workflows. No more copy-pasting from slack or outdated docs
Reposted by Tuan Kuranes
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...