Andrew Helmer
@andrewhelmer.bsky.social
Rendering at Respawn Entertainment. Previously Luxology, The Foundry, Google. Enthusiast landscape photographer (andrewhelmer.com/photography). All views my own. He/him.
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/
irradiance.ca/posts/
Posts
irradiance.ca
October 16, 2025 at 3:09 AM
Lots and lots of good observations in both of these.
Reposted by Andrew Helmer
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...
The commonly used greyscale formula is slightly off when computed in gamma space but can it be fixed?
📜 30fps.net/pages/better...
October 13, 2025 at 5:56 PM
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...
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!
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
October 4, 2025 at 7:46 PM
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!
I think Graham Hazel's blog was down for a long time, years maybe, but works now!
Reposted by Andrew Helmer
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!
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!
October 1, 2025 at 1:55 PM
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!
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 Andrew Helmer
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...
(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
September 8, 2025 at 12:49 AM
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...
(And yes it's really been 10 years 👴).
therealmjp.github.io/posts/ten-ye...
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
August 19, 2025 at 8:22 PM
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?...
Reposted by Andrew Helmer
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
August 14, 2025 at 8:44 PM
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...
Reposted by Andrew Helmer
"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
July 13, 2025 at 2:39 PM
"Hallucinations on the future of real-time rendering", High Performance Graphics 2025 keynote: c0de517e.com/023_hpg.htm
Always a great reference for generating an orthonormal basis from a unit vector: jcgt.org/published/00...
July 9, 2025 at 5:34 PM
Always a great reference for generating an orthonormal basis from a unit vector: jcgt.org/published/00...
Reposted by Andrew Helmer
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...
s2025.conference-schedule.org/presentation...
July 7, 2025 at 4:19 AM
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...
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.
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
July 3, 2025 at 5:18 PM
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.
Could be useful for a lot of things. Eg hash-map with a prime number of entries, do the precomputation on initialization.
Reposted by Andrew Helmer
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.
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
June 21, 2025 at 8:13 AM
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.
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.
Reposted by Andrew Helmer
Gigi Version 1.0.0 released!
This includes WebGPU code generation, and the dx12 preview feature cooperative vectors.
A gallery of a few Gigi techniques that you can run in your browser:
electronicarts.github.io/gigi/
Gigi:
github.com/electronicar...
This includes WebGPU code generation, and the dx12 preview feature cooperative vectors.
A gallery of a few Gigi techniques that you can run in your browser:
electronicarts.github.io/gigi/
Gigi:
github.com/electronicar...
June 18, 2025 at 6:07 PM
Gigi Version 1.0.0 released!
This includes WebGPU code generation, and the dx12 preview feature cooperative vectors.
A gallery of a few Gigi techniques that you can run in your browser:
electronicarts.github.io/gigi/
Gigi:
github.com/electronicar...
This includes WebGPU code generation, and the dx12 preview feature cooperative vectors.
A gallery of a few Gigi techniques that you can run in your browser:
electronicarts.github.io/gigi/
Gigi:
github.com/electronicar...
Reposted by Andrew Helmer
Our #SGP25 work studies a simple and effective way to uniformly sample implicit surfaces by casting rays. (1/9)
“Uniform Sampling of Surfaces by Casting Rays” w/ @abhishekmadan.bsky.social @nmwsharp.bsky.social and Alec Jacobson
“Uniform Sampling of Surfaces by Casting Rays” w/ @abhishekmadan.bsky.social @nmwsharp.bsky.social and Alec Jacobson
June 10, 2025 at 2:40 PM
Our #SGP25 work studies a simple and effective way to uniformly sample implicit surfaces by casting rays. (1/9)
“Uniform Sampling of Surfaces by Casting Rays” w/ @abhishekmadan.bsky.social @nmwsharp.bsky.social and Alec Jacobson
“Uniform Sampling of Surfaces by Casting Rays” w/ @abhishekmadan.bsky.social @nmwsharp.bsky.social and Alec Jacobson
Such as a simple and useful technique for uniformly sampling points on a surface, can't believe it hasn't been published before: www.arxiv.org/abs/2506.05268
In short: pick a random ray direction. Then pick a random 2D origin in the normal plane. Trace the ray, and return *all* intersections.
In short: pick a random ray direction. Then pick a random 2D origin in the normal plane. Trace the ray, and return *all* intersections.
Uniform Sampling of Surfaces by Casting Rays
Randomly sampling points on surfaces is an essential operation in geometry processing. This sampling is computationally straightforward on explicit meshes, but it is much more difficult on other shape...
www.arxiv.org
June 8, 2025 at 8:36 PM
Such as a simple and useful technique for uniformly sampling points on a surface, can't believe it hasn't been published before: www.arxiv.org/abs/2506.05268
In short: pick a random ray direction. Then pick a random 2D origin in the normal plane. Trace the ray, and return *all* intersections.
In short: pick a random ray direction. Then pick a random 2D origin in the normal plane. Trace the ray, and return *all* intersections.
Reposted by Andrew Helmer
With @briankaris.bsky.social winning this year’s SIGGRAPH Practitioner award, it’s a great time to repost his HPG 2022 keynote, which is one of the best talks I’ve ever seen. The tech is cool, yes, but what makes the talk is Brian’s approach to R&D and invention.
www.youtube.com/watch?v=NRnj...
www.youtube.com/watch?v=NRnj...
HPG 2022 Keynote: The Journey to Nanite - Brian Karis, Epic Games
YouTube video by High-Performance Graphics
www.youtube.com
May 14, 2025 at 9:36 PM
With @briankaris.bsky.social winning this year’s SIGGRAPH Practitioner award, it’s a great time to repost his HPG 2022 keynote, which is one of the best talks I’ve ever seen. The tech is cool, yes, but what makes the talk is Brian’s approach to R&D and invention.
www.youtube.com/watch?v=NRnj...
www.youtube.com/watch?v=NRnj...
Reposted by Andrew Helmer
Alan Wolfe, William Donnelly, and Henrik Halén,
Importance-Sampled Filter-Adapted Spatio-Temporal Sampling
jcgt.org/published/00...
Importance-Sampled Filter-Adapted Spatio-Temporal Sampling
jcgt.org/published/00...
May 9, 2025 at 7:38 PM
Alan Wolfe, William Donnelly, and Henrik Halén,
Importance-Sampled Filter-Adapted Spatio-Temporal Sampling
jcgt.org/published/00...
Importance-Sampled Filter-Adapted Spatio-Temporal Sampling
jcgt.org/published/00...
Reposted by Andrew Helmer
I'm speaking at @officialgdc.bsky.social this year!
Want to learn about the tech used to ship Alter? Don't let the title scare you, this isn't a technical navmesh talk, in fact you might find it the most interesting if you've never used navmesh before!
schedule.gdconf.com/session/apex...
#GDC2025
Want to learn about the tech used to ship Alter? Don't let the title scare you, this isn't a technical navmesh talk, in fact you might find it the most interesting if you've never used navmesh before!
schedule.gdconf.com/session/apex...
#GDC2025
'Apex Legends': Preventing Exploits and Shipping Risky Features Using... NavMesh??
19th March, 2025 03:30pm - 04:30pm - Apex Legends’ 26th Legend presented a significant technical challenge; one of her abilities all...
schedule.gdconf.com
March 17, 2025 at 3:38 PM
I'm speaking at @officialgdc.bsky.social this year!
Want to learn about the tech used to ship Alter? Don't let the title scare you, this isn't a technical navmesh talk, in fact you might find it the most interesting if you've never used navmesh before!
schedule.gdconf.com/session/apex...
#GDC2025
Want to learn about the tech used to ship Alter? Don't let the title scare you, this isn't a technical navmesh talk, in fact you might find it the most interesting if you've never used navmesh before!
schedule.gdconf.com/session/apex...
#GDC2025
Reposted by Andrew Helmer
JCGT announcements are now on BlueSky: bsky.app/profile/jcgt...
bsky.app
February 11, 2025 at 9:25 PM
JCGT announcements are now on BlueSky: bsky.app/profile/jcgt...
Haven't seen anyone post this talk and I thought it was unusually clear on some of the topics. First half is basically about reducing loading hitches, second half about moving to modern GPU-driven rendering, useful even if you're not working with Unreal. youtu.be/WGv_BjxvJ8M?...
A Taste of Chocolate: Adding a Rendering Fast Path without Breaking Unreal Engine | Unreal Fest 2024
YouTube video by Unreal Engine
youtu.be
December 22, 2024 at 5:52 PM
Haven't seen anyone post this talk and I thought it was unusually clear on some of the topics. First half is basically about reducing loading hitches, second half about moving to modern GPU-driven rendering, useful even if you're not working with Unreal. youtu.be/WGv_BjxvJ8M?...
Interviewer: Can you explain this gap in your resume?
Game engine programmer: alignment padding
Game engine programmer: alignment padding
Interviewer: Can you explain this gap in your resume?
Game designer: experimented with lose a turn mechanics
Game designer: experimented with lose a turn mechanics
Interviewer: Can you explain this gap in your resume?
Astronomer: it doesn't interact with normal matter or photons, but you can see the effect of its gravity.
Astronomer: it doesn't interact with normal matter or photons, but you can see the effect of its gravity.
December 21, 2024 at 1:18 AM
Interviewer: Can you explain this gap in your resume?
Game engine programmer: alignment padding
Game engine programmer: alignment padding