Over the past few years, it’s become clear to me that there were three graphics papers in the past few years that truly revolutionized their subfields: 3D Gaussian Splatting by Kerbl et al 2023, Monte Carlo Geometry Processing by Sawhney/Crane 2020, and ReSTIR by Bitterli et al 2020.
Andrew Helmer
@andrewhelmer.bsky.social
Rendering Engineer. Taking some time off. Previously Respawn, Google, The Foundry, Luxology. Enthusiast landscape photographer (andrewhelmer.com/photography). All views my own. He/him.
Hopefully one last SIGGRAPH advertisement. I, myself, yours truly, will present on Haolin's behalf a data-driven method for joint adaptive sampling and quadrature for integration. Wed R408A. In the end of the talk I'll argue why everyone is doing the wrong thing. Paper: suikasibyl.github.io/nqr
TinyBVH has just been 𝘂𝗽𝗱𝗮𝘁𝗲𝗱 𝘁𝗼 𝟭.𝟴.𝟬. For CPU ray tracing, it is now the fastest option in most cases - Outperforming Intel Embree and Madmann91 for BVH build time and single-ray performance. On GPU, performance exceeds 4B rays per second - 4 rays per pixel at 4k/120Hz. github.com/jbikker/tiny...
my #1 grizzly beard protip for (game) dev is: if you have a bug that you dont understand the cause of immediately, dont try to fix it; add & iterate visualization / inspection tools until the cause is plain to see. the accumulation of 'observability' in your system's state will pay off many times
In this thread: three cool rendering papers that DisneyResearch|Studios is publishing at EGSR this week. The authors of these papers are peers that I get the privilege of working closely with frequently, and these are projects I've been excited to watch develop! (1/17)
I'm happy to share my latest blog post. In this post, I document how I implemented forward-mode automatic differentiation in my custom shading language and used it to drive mipmap selection in my offline renderer. agraphicsguynotes.com/posts/proced...
Procedural UV Derivatives Evaluation in SORT Renderer
In this post, I want to talk about a topic I have been meaning to write about for quite a few years: texture UV derivatives evaluation in my offline renderer, SORT (Simple Open Source Ray Tracer), whi...
agraphicsguynotes.com
There's a new paper out in JCGT by @jamportz.bsky.social et al. that proposes a super simple modification of existing microfacet models to implement a retroreflection model. What's interesting is that although insanely simple, the model fits measured data pretty well! jcgt.org/published/00...
INTRODUCTION TO SPHERICAL HARMONICS FOR GRAPHICS PROGRAMMERS finally done. gpfault.net/posts/sph.html
Introduction to Spherical Harmonics for Graphics Programmers
gpfault.net
Ahhh Debug Break can be disabled at the PSO level so the driver can effectively optimize them out of they're disabled, that's cool! And I can them them on "at runtime" without re-compiling the shader from source at least!
I finally wrapped up the second post on the series about micro-shadowing. On this one I go over a basic approach based on a microsurface, and I show results for different materials and lighting conditions. irradiance.ca/posts/micros...
www.ubisoft.com/en-us/news/i... Quite cool that the latent space is interpolable, so block texture compression, filtering, and mipmapping all work.
Shipping Neural Texture Compression in Assassin’s Creed Mirage
A neural material texture compression technique that uses machine learning to exploit the cross-channel structure and reconstruct full PBR materials in real time, enabling high compression rate in Ass...
ubisoft.com
I want to do a chain of down sampling using a 6x6 kernel (say, for bloom), representable with 13 bilinear taps. Is it faster to do A) single-pass compute shader (with UAV and globallycoherent), but full manual blending, or B) multiple passes, using a sampler with bilinear interpolation?
All the presentations slides of the Graphics Programming Conference 2025 are up #GPC2025 graphicsprogrammingconference.com/archive/2025/
Graphics Programming Conference
The Graphics Programming Conference is a conference for graphics programmers, from student to industry veteran, taking place in November in Europe.
graphicsprogrammingconference.com
If you haven't seen the HDR debate between Timothy Lottes and Filippo Tarpini (mostly on the other site), it's very interesting! Article: share.google/SlH7YI6l8Cc1... Response: youtu.be/OXpLF69jPhI?... Rebuttal: (attached image from the other site) Second Response: youtu.be/hzOkBfwEruI?...
This is one of the better general write-ups of CPU perf optimization that I've seen: abseil.io/fast/hints.h...
abseil / Performance Hints
An open-source collection of core C++ library code
abseil.io
Way to generate a random integer in the range [0,N) without *usually* using an integer division (which rejection sampling does): lemire.me/blog/2019/06... And a nice explanation here: jacquesheunis.com/post/bounded...
Generating integers uniformly distributed over an range
jacquesheunis.com
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...
sebastianaaltonen.com
Lots and lots of good observations in both of these.
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/
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...
For anyone who's tried to use spherical harmonics for lighting and found the notation- and terminology- heavy definitions confusing, highly recommend this classic: grahamhazel.com/blog/2017/12... I think Graham Hazel's blog was down for a long time, years maybe, but works now!
Alternative definition of Spherical Harmonics for Lighting – Graham Hazel
grahamhazel.com
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!
I've got a new blog post for all of you fine folks! It runs through the additions to D3D12 since it was released, and finishes up with some of the things that have changed for me personally in my code. (And yes it's really been 10 years 👴). therealmjp.github.io/posts/ten-ye...
Ten Years of D3D12
For those of us that have been using it from the start, it can be hard to believe that Direct3D 12 has been around for nearly ten years now. Windows 10 was released on July 29th 2015, and D3D12 has be...
therealmjp.github.io
Highly recommend Peter Shirley's presentation of "Spherical Harmonic Exponentials for Efficient Glossy Reflections". As always, he makes notation-heavy math way more accessible, and it's an amazing technique: youtu.be/jN7FX5COASM?...
Spherical Harmonic Exponentials for Efficient Glossy Reflections
YouTube video by High-Performance Graphics
youtu.be
Great Siggraph 2025 presentation of Gran Turismo's tonemapping pipeline, which also includes a fantastic introduction to light perception and tonemapping, its origins and how it evolved over the years with display technology, recommended read: blog.selfshadow.com/publications...
blog.selfshadow.com
"Hallucinations on the future of real-time rendering", High Performance Graphics 2025 keynote: c0de517e.com/023_hpg.htm
Hallucinations on the future of real-time rendering.
Angelo Pesce's homepage & blog on computers, graphics and other things.
c0de517e.com
Always a great reference for generating an orthonormal basis from a unit vector: jcgt.org/published/00...
At SIGGRAPH 2025, Intel, Disney, & Chaos are doing a course on the nitty gritty details of implementing path guiding methods in 3 production renderers: Cycles, Hyperion, and Corona. I helped write the course notes: 80 pages of great stuff! Coming soon. s2025.conference-schedule.org/presentation...
Found this cool blog post explaining one way to optimize integer divisions by a constant divisor: ridiculousfish.com/blog/posts/l... Could be useful for a lot of things. Eg hash-map with a prime number of entries, do the precomputation on initialization.
Labor of Division (Episode I)
ridiculousfish.com
All HPG 2025 papers are now available on the EG digital library. CGF papers: diglib.eg.org/handle/10.23... Conference papers: diglib.eg.org/handle/10.23... It has been a huge honor to act as HPG papers chair and guest editor and I look forward to an exciting program in Copenhagen.
44-Issue 8
High-Performance Graphics 2025
diglib.eg.org