Kostas Anagnostou
kostasanagnostou.bsky.social
Kostas Anagnostou
@kostasanagnostou.bsky.social
Lead Rendering Engineer at Playground Games working on Fable. Always open for graphics questions or mentoring people who want to get in the industry. I tweet about graphics mostly. Views my own. Blog: https://interplayoflight.wordpress.com/
Pinned
I realised that I jumped straight into posting without an intro first: Hi all, I'm a rendering engineer of 20+ years, currently leading the awesome Fable rendering team. I like my pixels both pretty and fast. I enjoy tinkering with graphics techniques in my spare time and sometimes I blog about it.
The post on using spatial hashing with raytraced ambient occlusion attracted quite a bit of interest so I expanded it into a blog post to discuss how it works behind the scenes to both reduce the noise and its cost. interplayoflight.wordpress.com/2025/11/23/s...
November 23, 2025 at 9:06 PM
Reposted by Kostas Anagnostou
My talk about ray-tracing is out!

youtu.be/CGR1gu2KW2s?...

Here I try to explain it in simple terms, while giving some historical context as well.
There is also a quick RTAO implementation with the worst denoise ever here:

github.com/JorenJoestar...

feedback is more than welcome!
Demystifying Vulkan Ray Tracing
YouTube video by Conferenza Italiana sul Game Development
youtu.be
November 23, 2025 at 10:57 AM
TIL that you can use an LLM to create Latex equations by pretty much describing them. My past, post graduate self who had to painstakenly create them by hand would be jealous.
November 23, 2025 at 11:19 AM
"Get Started with Neural Shading" course videos: youtube.com/playlist?lis...
Get Started with Neural Shading - YouTube
In this course, we will provide an overview of neural shading and how to get started with it in your game or application.
youtube.com
November 14, 2025 at 5:19 PM
Reposted by Kostas Anagnostou
#SIGGRAPH2025 Advances in Real-Time Rendering in Games course talk recording of "Stochastic Tile-Based Lighting in HypeHype" by Jarkko Lempiäinen from HypeHype is now online: www.youtube.com/watch?v=8O44...
SIGGRAPH 2025 Advances: STOCHASTIC TILE-BASED LIGHTING IN HYPEHYPE
YouTube video by SIGGRAPH Advances in Real-Time Rendering
www.youtube.com
November 11, 2025 at 9:40 PM
Reposted by Kostas Anagnostou
#SIGGRAPH2025 Advances in Real-Time Rendering in Games course talk recording of "Strand-Based Hair And Fur Rendering In Indiana Jones and The Great Circle" by Sergei Kulikov from MachineGames is now online: youtu.be/jSE1XXBEK-w
SIGGRAPH 2025 Advances: STRAND-BASED HAIR AND FUR RENDERING IN INDIANA JONES AND THE GREAT CIRCLE
YouTube video by SIGGRAPH Advances in Real-Time Rendering
youtu.be
November 11, 2025 at 11:45 PM
Did a quick and dirty implementation of a spatial hash structure to speedup RTAO, ray results are stored in cells indexed by pos/normal/cell size and after storing a few rays occlusion can be queried from the cell instead of raytracing it. 3x faster raytraced AO for that scene with no denoising.
November 11, 2025 at 11:30 PM
Reposted by Kostas Anagnostou
New blog post! Behind the scenes of some of the techniques involved in making our last PC demo 💫 gboisse.github.io/posts/this-i...
November 5, 2025 at 9:15 PM
Finally got around to adding support for (hardware) VRS to the toy engine. Forcing a 2x2 shading rate and comparing in GPU trace, a summary of what is happening for the gbuffer pass (2nd trace VRS on), the GPU is doing the same number of z-tests, while doing about 64% less pixel shader work. 1/3
November 2, 2025 at 4:58 PM
Happy Halloween!
October 31, 2025 at 8:11 PM
Some information about Ghost of Yōtei's rendering systems blog.playstation.com/2025/10/23/g...
Ghost of Yōtei – tech deep dive
Sucker Punch delves into the tech that helped them bring Atsu’s engrossing journey to live.
blog.playstation.com
October 25, 2025 at 3:50 PM
ReGIR - An advanced implementation for many-lights offline rendering tomclabault.github.io/blog/2025/re...
ReGIR - An advanced implementation for many-lights offline rendering | Tom Clabault
Tom Clabault's website
tomclabault.github.io
October 20, 2025 at 7:30 PM
Good read! "Neural Super Sampling for Mobile": huggingface.co/Arm/neural-s...
huggingface.co
October 15, 2025 at 9:32 PM
Reposted by Kostas Anagnostou
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
October 15, 2025 at 6:51 PM
Interesting read on the future of game graphics, from 12 years ago: mcvuk.com/business-new...
Starry eyed: Where game graphics go next - MCV/DEVELOP
Develop examines the truth about photorealism in the next generation
mcvuk.com
October 11, 2025 at 5:58 PM
Reading AMD GPU ISA
Reading AMDGCN ISA
rocm.blogs.amd.com
October 9, 2025 at 10:08 PM
Quick experiment in Compiler Explorer to observe how VGPR allocation differs between wave32 and wave64 on RDNA: with wave32 it appears to be in batches of 8 while with wave64 it is in batches of 4 VGPRs. godbolt.org/z/W6ee8MhMx
Compiler Explorer - HLSL (RGA 2.6.2 (DXC trunk))
// The entry point and target profile are needed to compile this example: // -T ps_6_6 -E PSMain RWBuffer<float> output; cbuffer SomeData { float dataArray[10]; int index; } //Undefin...
godbolt.org
October 8, 2025 at 10:01 PM
Really good, maths-free, introduction to the Fourier transform from this year's Siggraph, recommended watch: dl.acm.org/doi/10.1145/...
Introduction to the Fourier Transform | Proceedings of the Special Interest Group on Computer Graphics and Interactive Techniques Conference Courses
dl.acm.org
October 8, 2025 at 7:39 PM
Quick tip, add the "-fspv-target-env=vulkan1.1" command line argument to Compiler Explorer's RGA to get it to compile HLSL shaders with wave intrinsics: godbolt.org/z/PKoh5d51K
Compiler Explorer - HLSL (RGA 2.6.2 (DXC trunk))
// The entry point and target profile are needed to compile this example: // -T ps_6_6 -E PSMain struct PSInput { float4 position : SV_Position; float4 color : COLOR0; }; float4 PSMain(PS...
godbolt.org
October 6, 2025 at 7:41 PM
"Inside NVIDIA GPUs: Anatomy of high performance matmul kernels", includes a great intro to GPU architecture and PTX/SASS: www.aleksagordic.com/blog/matmul
Inside NVIDIA GPUs: Anatomy of high performance matmul kernels - Aleksa Gordić
From GPU architecture and PTX/SASS to warp-tiling and deep asynchronous tensor core pipelines.
www.aleksagordic.com
October 1, 2025 at 7:36 PM
Reposted by Kostas Anagnostou
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...
September 30, 2025 at 5:40 PM
Reposted by Kostas Anagnostou
#SIGGRAPH2025 Advances in Real-Time Rendering in Games course talks slides posted: "Adaptive Voxel-Based Order-Independent Transparency" shipping in the upcoming Call of Duty: Black Ops 7 by Michal Drobot from Activision Central Tech is now online: advances.realtimerendering.com/s2025/index....
September 30, 2025 at 1:08 AM
Reposted by Kostas Anagnostou
A little something I've been meaning to write for a while martinfullerblog.wordpress.com/2025/09/26/a...

Thank you to the awesome people at Machine Games and id Software!
Anisotropic Scaling in Indiana Jones and the Great Circle and DOOM: The Dark Ages
While working on Indiana Jones and the Great Circle and later DOOM: The Dark Ages, it became apparent that both titles are particularly sensitive to anisotropic sampling cost on the Xbox Series con…
martinfullerblog.wordpress.com
September 26, 2025 at 9:31 AM
Nsight Graphics' GPU Trace/Trace Analysis often provides more low level hardware information, in the form of tooltips and performance advice, than the documentation available online does, worth exploring a few captures to understand the GPU architecture better.
September 22, 2025 at 5:02 PM