Ipotrick @ipotrick.bsky.social · 6hSpecular RTGI! Extended my RTGI to support specular as well as diffuse. Spec and Diff rays are shot from a shared fixed ray pool, the rays are dynamically distributed across the screen based on demand. Perf impact over diffuse-only is around 25%. Am very happy with the result. 081
Reposted by Ipotrickceruleite.bsky.social @ceruleite.bsky.social · 15/08/2026Slides 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.... 14724
Ipotrick @ipotrick.bsky.social · 08/08/2026yea i do a loose matching surface surface test using dual sided plane distance tests. The spatial spread is bilateral hor vert split weighted reservoir resampling, its also really wide, like 16 by 16 in pretrace texture space. 030
Ipotrick @ipotrick.bsky.social · 08/08/2026Pioneer Pretraced rayguiding! * Shoot low res rays * Spatially spread bright ray hits * Use bright rays to guide real traced rays Drastically improved directional GI quality, low cost, around 0.2-0.3ms extra Inspired by Restir, but this has 0 additional temporal lag! 1356
Ipotrick @ipotrick.bsky.social · 05/08/2026ah it really butchered the video anyway :D. It is still somewhat visible. 010
Ipotrick @ipotrick.bsky.social · 05/08/2026Bsky tends to remove noise from videos but i think its still visible here. A comparison of the temporal accumulation only (spatial passes disabled here for visualization purpose). Ray Redistribution On vs Off. Same performance, much better resolve with redistribution. 140
Ipotrick @ipotrick.bsky.social · 05/08/2026In these images i move from right to left, showing only the temporal accumulation with spatial passes disabled. Shows how even half the rays resolve a better quality image in disocclusions compared to fixed ray rate per pixel. 000
Ipotrick @ipotrick.bsky.social · 05/08/2026Adaptive ray rate per pixel! A series of compute passes distribute a fixed budget of rays over the pixels on the screen, a fixed trace dispatch goes over the final ray list and traces them. Improves disocclusions drastically. Allows way fewer (i'm using 2x fewer) rays per pixel at BETTER quality. 1283
Ipotrick @ipotrick.bsky.social · 22/06/2026NEW: Surface Detail Guiding! Analyzing surface detail (using albedo and normals, showin in the heatmap) to inform the spatial denoise passes. Flat color -> wide softer blur. Detailed surface -> smaller blur allowing sharp lighting. 0172
Reposted by IpotrickArseny Kapoulkine @zeux.io · 30/04/2026New 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!zeux.ioQuantizing tangent framesI’ve been working on tangent space generation recently, and also pondering the tradeoffs between QTangent and normal-angle storage. So when, in a completely unrelated discussion, someone said “you cou... 15114
Reposted by Ipotrickceruleite.bsky.social @ceruleite.bsky.social · 04/06/2026Advances in Real-Time Rendering in Games will be returning SIGGRAPH 2026... The course will be on Tuesday of SIGGRAPH, room and other details TBD. Cool talks lined up - stay tuned for more info. 2507
Ipotrick @ipotrick.bsky.social · 22/02/2026Also, ghosting, streaking, boiling and all the other common artifacts are largely gone, its very rare that such an artifact still presents itself. 070
Ipotrick @ipotrick.bsky.social · 22/02/2026The 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 :). 0160
Ipotrick @ipotrick.bsky.social · 18/02/2026Testing in many different settings is very important for graphics techniques. What works in one setting will fall apart horribly in another. Usually its best to have actual game data to work with. At home i use a lot of dumb test scenes. Very happy to say the GI now works well in all of them 🥳 070
Ipotrick @ipotrick.bsky.social · 14/02/2026I will write a blog on all my drnoiser pipeline in a while i hope 020
Ipotrick @ipotrick.bsky.social · 14/02/2026Mooore denoising tricks 😃!! I tested variance as well as ray-length guided spatial filtering. Variance guided filtering is good at preserving lighting silhouettes, while ray-length guiding adds a lot of contact hardening sharpness! 1. no guiding 2. variance guiding 3. ray-length guiding 090
Ipotrick @ipotrick.bsky.social · 13/02/2026More images of the improved denoiser. This showcases how much smarter the prefilter is now. Its able to keep much more lighting energy at better temporal stability. This is a better comparison than in my last post. 140
Ipotrick @ipotrick.bsky.social · 13/02/2026I found a few tricks to make the denoiser able to handle a much sparser signal while also increasing temporal stability. With these tricks applied, indirect lighting now looks much better in dark areas. Bright small areas can not illuminate distant pixels much more accurately. Before vs After: 010
Ipotrick @ipotrick.bsky.social · 13/02/2026I found a bunch of new tricks for denoising. Using them, i re-architected the whole denoising pipeline. Old: prefilter -> stochastic blur -> upscale -> temporal New: prefilter -> stochastic blur -> temporal -> smooth blur -> upscale. Perf and quality are much better with the new architecture. 071
Ipotrick @ipotrick.bsky.social · 04/02/2026I think most raytracing effects and denoisers don't really think about needs of fast games like shooters. For my RTGI denoiser, i put in a lot of care to get an immediately readable and stable image from the first frame after dis-occlusion. its very satisfying. 1341
Ipotrick @ipotrick.bsky.social · 02/02/2026The firefly filter is very aggressive. It makes the image much too dark. But its temporal stability improvements are massive. It is worth the tradeoff for me. 010
Ipotrick @ipotrick.bsky.social · 02/02/2026Crude blur here is a mip map blur similar to the mip map based "history reconstruction" blur of Nvidia ReBlur. The thin-ness factor is calculated with the firefly filter. It estimates how many valid spatial blur samples each pixel probably gets by doing plane distance tests of surrounding pixels. 000
Ipotrick @ipotrick.bsky.social · 02/02/2026My RTGI denoiser had temporal stability issues on thin geometry. While tinkering, i found two tricks to improve this significantly: 1. Based on a per pixel "thin-ness" factor, a crude blur is applied. 2. A geometric mean based firefly filter does the rest. Works much better than i expected. 2120
Reposted by IpotrickClaas Gefroi @claasgefroi.bsky.social · 12/01/2026Diese kostbaren zwei Stunden am späten Abend, wenn niemand mehr etwas von einem will und nichts mehr zu erledigen ist, wenn man tun kann, was man wirklich möchte. So müssten ganze Tage, Wochen, Jahre, Leben sein. 520213
Ipotrick @ipotrick.bsky.social · 11/01/2026its quite wobbly unstable. Could be made more stable. But as its used for the rtgi atm it has to adapt fast 000
Ipotrick @ipotrick.bsky.social · 09/01/2026I would like to showcase the denoisers improvements in movement but videos really just remove all noise so i cant really show the difference :/ 040
Ipotrick @ipotrick.bsky.social · 09/01/2026I 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 :). 040
Ipotrick @ipotrick.bsky.social · 09/01/2026With 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. 1183
Ipotrick @ipotrick.bsky.social · 09/01/2026Unfortunately the image gets denoised by the image compression quite a lot already. It is much worse noise in reality :) 010
Ipotrick @ipotrick.bsky.social · 09/01/2026I 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. 040
Ipotrick @ipotrick.bsky.social · 30/08/2025It's surprisingly detailed considering the low probe density. It's also practically completely free as its trivial to calculate the radiance in the same shader as the irradiance per texel. 000
Ipotrick @ipotrick.bsky.social · 30/08/2025The 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. 191
Ipotrick @ipotrick.bsky.social · 30/08/2025Experimenting 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). 060
Ipotrick @ipotrick.bsky.social · 13/08/2025perf is not too great now, probes take around 500us to update, 600us to eval screen irradiance. Rtgi replaces the eval screen irradiance but takes around 2-3ms now. 010
Ipotrick @ipotrick.bsky.social · 12/08/2025Goal is to shoot short traces from pixels (up to maybe 15 meters). On miss the ray would read the probe volume radiance in the rays direction. The shorter raylength improves performance immensly. This hybrid RTGI/probe GI is something that i believe could be very performant and pretty. 000
Ipotrick @ipotrick.bsky.social · 12/08/2025Started to experiment with raytraced diffuse gi. My probe GI works well but it just can not represent fine details with good performance/memory usage. AO helps it a lot i want even more. Most of the work on RTGI is denoising, very interesting work. Here the current state: Probes only vs RTGI: 270
Ipotrick @ipotrick.bsky.social · 11/08/2025Yoo, timberdoodle is in there. Great projects all around :) 131
Reposted by IpotrickMolly Bangles @mollybangles.bsky.social · 24/03/2025It’s Timberdoodle time 💛🪶🥔 American Woodcock in Bryant Park, NYC, March 2025 6923102
Reposted by IpotrickAlex Battaglia @dachsjaeger.bsky.social · 22/03/2025The 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 1827021
Reposted by IpotrickKostas Anagnostou @kostasanagnostou.bsky.social · 10/12/2024Thread 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...youtube.comHow to Improve Shader Performance by Resolving LDC DivergenceYouTube video by NVIDIA Game Developer 1638
Reposted by IpotrickAlex Battaglia @dachsjaeger.bsky.social · 14/02/2025While watching all the trailers from the Sony State of Play I could not help but notice that 90% of the games shown are Unreal Engine games... with each new scene/effect/character shown it is hard not to think "that will probably stutter on PC". 2027815
Reposted by IpotrickChristoph Kubisch @pixeljetstream.bsky.social · 30/01/2025Thanks 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...github.comGitHub - nvpro-samples/vk_animated_clusters: Sample that uses VK_NV_cluster_acceleration_structure to animate meshes for ray tracingSample that uses VK_NV_cluster_acceleration_structure to animate meshes for ray tracing - nvpro-samples/vk_animated_clusters 211335
Ipotrick @ipotrick.bsky.social · 24/01/2025the warping of the octahedral mapping means that this is not an ideal way to sample in all cases as sometimes the texel distances are much shorter than in other areas of the probe. But generally, this does not seem to cause issues. 000
Ipotrick @ipotrick.bsky.social · 24/01/2025this is a color coded debug view showing the debugged depth texel (red) and the weight it assigns to all the trace results (green). As you can see, the weights become 0 nearly immediately. Sampling a texel area of 6x6 for this resolution is more than enough to get all valid traces. 110