Reposted by Andrew HelmerJMS55 @jms5517.bsky.social · 18/09/2026New blog post! Go read about making ReSTIR better, killing ReSTIR, improving denoising, and more! jms55.github.io/posts/2026-0... 14515
Andrew Helmer @andrewhelmer.bsky.social · 12/09/2026david.alvarezrosa.com/posts/optimi...david.alvarezrosa.comOptimizing a Spin-Lock | David Álvarez RosaA spin-lock is a lock that never sleeps. Instead of yielding to the scheduler, the thread stays on the CPU and spins. No syscalls. No context switches. In this … 000
Andrew Helmer @andrewhelmer.bsky.social · 05/09/2026Sebastian Aaltonen's No Graphics API is now on Github! github.com/sebbbi/NoGra...github.comGitHub - sebbbi/NoGraphicsAPI: Minimal graphics API. Built on top of latest Vulkan extensions. As close as possibly to my "No Graphics API" blog post and the SIGGRAPH talk.Minimal graphics API. Built on top of latest Vulkan extensions. As close as possibly to my "No Graphics API" blog post and the SIGGRAPH talk. - sebbbi/NoGraphicsAPI 16216
Andrew Helmer @andrewhelmer.bsky.social · 03/09/2026Taken in Kyrgyzstan on a trip with two friends, 2023. I don't plan to post much of my photography on Bluesky, but this is the first photo I've edited in a few years. I'm on a personal sabbatical right now, so I have a bit more free time to go through the backlog. 000
Reposted by Andrew HelmerYining Karl Li @yiningkarlli.bsky.social · 25/07/2026Over 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. 1191
Reposted by Andrew HelmerTzu-Mao Li @tzumaoli.bsky.social · 20/07/2026Hopefully 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 0156
Reposted by Andrew HelmerJacco Bikker 🎦 @jbikker.bsky.social · 08/07/2026TinyBVH 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... 68120
Reposted by Andrew Helmermmalex @mmalex.bsky.social · 06/07/2026my #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 1226242
Reposted by Andrew HelmerYining Karl Li @yiningkarlli.bsky.social · 02/07/2026In 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) 13412
Reposted by Andrew HelmerJiayin Cao @jiayincao.bsky.social · 08/06/2026I'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...agraphicsguynotes.comProcedural UV Derivatives Evaluation in SORT RendererIn 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... 0306
Reposted by Andrew HelmerYining Karl Li @yiningkarlli.bsky.social · 23/05/2026There'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... 28817
Andrew Helmer @andrewhelmer.bsky.social · 19/04/2026Not only a very cool technique, but first authored by a high school student! 030
Reposted by Andrew Helmernicebyte @nicebyte.bsky.social · 12/04/2026INTRODUCTION TO SPHERICAL HARMONICS FOR GRAPHICS PROGRAMMERS finally done. gpfault.net/posts/sph.htmlgpfault.netIntroduction to Spherical Harmonics for Graphics Programmers 1027886
Reposted by Andrew HelmerJeremy Laumon @jeremy.laumon.name · 13/03/2026Ahhh 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! 173
Reposted by Andrew HelmerPablo Zurita @pzurita.bsky.social · 05/03/2026I 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... 15316
Andrew Helmer @andrewhelmer.bsky.social · 27/02/2026www.ubisoft.com/en-us/news/i... Quite cool that the latent space is interpolable, so block texture compression, filtering, and mipmapping all work.ubisoft.comShipping Neural Texture Compression in Assassin’s Creed MirageA 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... 060
Andrew Helmer @andrewhelmer.bsky.social · 10/01/2026I 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? 120
Reposted by Andrew HelmerMAK @makramd.bsky.social · 05/01/2026All the presentations slides of the Graphics Programming Conference 2025 are up #GPC2025 graphicsprogrammingconference.com/archive/2025/graphicsprogrammingconference.comGraphics Programming ConferenceThe Graphics Programming Conference is a conference for graphics programmers, from student to industry veteran, taking place in November in Europe. 03412
Andrew Helmer @andrewhelmer.bsky.social · 26/12/2025If 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?... 0151
Andrew Helmer @andrewhelmer.bsky.social · 20/12/2025This is one of the better general write-ups of CPU perf optimization that I've seen: abseil.io/fast/hints.h...abseil.ioabseil / Performance HintsAn open-source collection of core C++ library code 010
Andrew Helmer @andrewhelmer.bsky.social · 17/12/2025Way 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...jacquesheunis.comGenerating integers uniformly distributed over an range 010
Reposted by Andrew HelmerSebastian Aaltonen @sebaaltonen.bsky.social · 16/12/2025My "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".sebastianaaltonen.comNo Graphics API — Sebastian AaltonenGraphics 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... 19474193
Andrew Helmer @andrewhelmer.bsky.social · 16/10/2025Lots and lots of good observations in both of these. 010
Reposted by Andrew HelmerPekka Väänänen @pekkavaa.bsky.social · 13/10/2025New 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... 1389
Andrew Helmer @andrewhelmer.bsky.social · 04/10/2025For 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!grahamhazel.comAlternative definition of Spherical Harmonics for Lighting – Graham Hazel 02410
Reposted by Andrew HelmerBaptiste GENEST @baptiste-genest.bsky.social · 01/10/2025Computing 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! 14516
Reposted by Andrew Helmermjp @mjp123.bsky.social · 08/09/2025I'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...therealmjp.github.ioTen Years of D3D12For 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... 715153
Andrew Helmer @andrewhelmer.bsky.social · 19/08/2025Highly 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?...youtu.beSpherical Harmonic Exponentials for Efficient Glossy ReflectionsYouTube video by High-Performance Graphics 170
Reposted by Andrew HelmerKostas Anagnostou @kostasanagnostou.bsky.social · 14/08/2025Great 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 110633
Reposted by Andrew HelmerKostas Anagnostou @kostasanagnostou.bsky.social · 13/07/2025"Hallucinations on the future of real-time rendering", High Performance Graphics 2025 keynote: c0de517e.com/023_hpg.htmc0de517e.comHallucinations on the future of real-time rendering.Angelo Pesce's homepage & blog on computers, graphics and other things. 0197
Andrew Helmer @andrewhelmer.bsky.social · 09/07/2025Always a great reference for generating an orthonormal basis from a unit vector: jcgt.org/published/00... 150
Reposted by Andrew HelmerYining Karl Li @yiningkarlli.bsky.social · 07/07/2025At 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... 08416
Andrew Helmer @andrewhelmer.bsky.social · 03/07/2025Found 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.ridiculousfish.comLabor of Division (Episode I) 110
Reposted by Andrew HelmerChristoph Peters @momentsingraphics.bsky.social · 21/06/2025All 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.diglib.eg.org44-Issue 8High-Performance Graphics 2025 15224
Reposted by Andrew HelmerAlan Wolfe @demofox.bsky.social · 18/06/2025Gigi 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... 14310
Reposted by Andrew HelmerSelena Ling @selenaling.bsky.social · 10/06/2025Our #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 14917
Andrew Helmer @andrewhelmer.bsky.social · 08/06/2025Such 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.arxiv.orgUniform Sampling of Surfaces by Casting RaysRandomly 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... 5356
Reposted by Andrew HelmerYining Karl Li @yiningkarlli.bsky.social · 14/05/2025With @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...youtube.comHPG 2022 Keynote: The Journey to Nanite - Brian Karis, Epic GamesYouTube video by High-Performance Graphics 37114
Reposted by Andrew HelmerJCGT announcements @handle.invalid · 09/05/2025Alan Wolfe, William Donnelly, and Henrik Halén, Importance-Sampled Filter-Adapted Spatio-Temporal Sampling jcgt.org/published/00... 05315
Reposted by Andrew HelmerIan Holstead @ianholstead.bsky.social · 17/03/2025I'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... #GDC2025schedule.gdconf.com'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... 131
Reposted by Andrew Helmermjp @mjp123.bsky.social · 11/02/2025JCGT announcements are now on BlueSky: bsky.app/profile/jcgt...bsky.app 04425
Andrew Helmer @andrewhelmer.bsky.social · 22/12/2024Haven'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?...youtu.beA Taste of Chocolate: Adding a Rendering Fast Path without Breaking Unreal Engine | Unreal Fest 2024YouTube video by Unreal Engine 020
Andrew Helmer @andrewhelmer.bsky.social · 21/12/2024Interviewer: Can you explain this gap in your resume? Game engine programmer: alignment padding 060