Ipotrick
Ipotrick reposted
Slides for SIGGRAPH 2026 Advances in Real-Time Rendering in Games course's talk on Variable Rate Ray Tracing in Call of Duty: Modern Warfare 4 by Michał Olejnik from Activision are now online - enjoy!! advances.realtimerendering.com/s2026/index....
Ipotrick reposted
New blog post! In "Quantizing tangent frames", we look at various established methods to represent tangent frames in the vertex data, squeeze a few variants into 32 bits per vertex and look at the resulting precision. zeux.io/2026/04/30/q... Share, like and subscribe!
Ipotrick reposted
Also, ghosting, streaking, boiling and all the other common artifacts are largely gone, its very rare that such an artifact still presents itself.
The indirect diffuse denoising now resolves very fast. Evem better since my recent refactor. Here an example of the output in movement before application of albedo (albedo detail can hide potential artifacts). Direct diffuse in the video is a separate system and not denoised, ignore its noise :).
I believe this is not done by others because it requires quite a high probe resolution to work properly without loosing too much quality. Luckily, last year i developed a self adapting sparse raytraced probe volume that can reach densities high enough to capture the world in enough detail :).
With my rtgi i am also doing something, that i believe, is a novel technique that i have not seen done before. While probes are often used in rtgi for indirect diffuse on hit shading, i use them to replace all rtgi hit shading. On each hit i project the closest probes radiance into the hits.
Unfortunately the image gets denoised by the image compression quite a lot already. It is much worse noise in reality :)
I have been working on a denoiser for raytraced diffuse global illumination in my hobby engine. I am now quite happy with it. It can create a high quality output with only 0.25 rays per pixel. I am particularly proud of how stable it is in movement and on disocclusions.
The radiance cache works by storing another layer of texels on the probe. The new texels store the direct radiance coming into their direction, no cos convolve. When shading rtgi ray hits, i sample the radiance of the 8 closest probes by projecting the radiance back onto the hit ws position.
Experimenting more with hybrid probe and per pixel traced gi. I now use a radiance cache to shade per pixel ray trace hits. It saves a lot of performance and the quality is very close to proper hit shading. Roughly saving ~30-70% of performance for rtgi (local lights make this verrry worthwhile).
Yoo, timberdoodle is in there. Great projects all around :)
It's finally here! I'm pleased to share GP-Direct 2025, the latest edition of the graphics programming discord showcase! No engine? No problem. We wrote our own! Thank you to all the talented people who participated! youtu.be/e9qK6EtqB-Q?... #indiegamedev #graphicsprogramming
Ipotrick reposted
The tech and graphical advancements in Assassin's Creed Shadows are mighty impressive: Micropolygon geometry, fluid wind simulations, ray traced global illumination and so much more. How do they all work and compare to AC games of the past? Find out in my video below! youtu.be/nhFkw5CqMN0
Ipotrick reposted
Thread divergence during constant buffer reads can have a big perf impact, this presentation discusses how to detect this on NVidia GPUs using GPU Trace and Shader profiler. Also shows how useful access to ISA is for understanding what the shader does under the hood. www.youtube.com/watch?v=HSsP...
Ipotrick reposted
Ipotrick reposted
Ipotrick reposted
Thanks to a lot of colleagues' great work, happy to share Vulkan samples for RTX Mega Geometry. They should run on all RTX GPUs using today's new drivers github.com/nvpro-sample... github.com/nvpro-sample... github.com/nvpro-sample... github.com/nvpro-sample...
The trick is to trace rays into a octahedral trace result texture per probe. The texel update threads can then narrow the area of the trace result texture to consider. For visibility updates, a texel area of only 6x6 contains all relevant samples. 6x6 is 7 times less loop iterations compared to 256.
Ipotrick reposted
something I've been thinking about recently: could object-space shading be the key to mitigating artifacts from temporal techniques? accumulating data over time in "shade space" rather than camera frame that flails around. www.oxidegames.com/wp-content/u...
Ipotrick reposted
Graphics Programming weekly - Issue 375 - January 19th, 2025 www.jendrikillner.com/post/graphic...