Advertisement · 728 × 90

Posts by Krzysztof Narkowicz

Original PBGI instead of raymarching surfels was rasterizing small cubemaps (micro buffers) in order to compute GI. They had a much higher density of surfels and used it for a per pixel final gather instead of caching in an ambient cube probes. cgg.mff.cuni.cz/~jaroslav/gi...

1 week ago 3 0 0 0
Preview
The Evolution of Real-Time Global Illumination in 'Love and Deepspace' (Presented by Arm) Love and Deepspace is a mobile game dedicated to providing players with a near-realistic romantic experience. Providing realistic rendering on mobile devices is our constant goal. Global illumination ...

An interesting idea to use surfels not only as a surface cache (PBGI), but also as a geo approx to trace against. The main use case is mobile, where triangle ray tracing isn’t widely supported in HW, and raymarching SDFs isn’t a great fit for bandwidth-limited devices. gdcvault.com/play/1035619...

1 week ago 26 3 1 1

Planescape: Torment, Kentucky Route Zero, Pentiment, Heavy Rain.

3 weeks ago 5 0 0 0
Direct3D 11.3 Functional Specification

Float to R8_UNorm conversion has a permitted tolerance of 0.6ulp in the DX spec. 0.55/255 on some GPUs rounds down to 0 and on others rounds up to 1/255. Dangerous behavior when R8_UNorm NumFramesAccumulated=0 is used by a denoiser to mark invalid history... microsoft.github.io/DirectX-Spec...

1 month ago 20 4 0 0
Preview
Rainforest Stream In Unreal 5, Tyler Smith Wanted to do some nature sketching in UE5 :D

Inspiring examples of stylized rendering in UE without any modifications to the engine. Just clever meshes and textures. Though I wonder if it holds up with changing lighting conditions?
www.artstation.com/artwork/JrJKVv
www.artstation.com/artwork/kNXBx2

2 months ago 5 0 0 0
Preview
Forget Superresolution, Sample Adaptively (when Path Tracing) Real-time path tracing increasingly operates under extremely low sampling budgets, often below one sample per pixel, as rendering complexity, resolution, and frame-rate requirements continue to rise. ...

Interesting paper showing great results for replacing standard low-res rendering + temporal upsampling (DLSS) with high-res GBuffer + adaptive sampling. Makes sense given rising costs of lighting computations vs GBuffer. arxiv.org/abs/2602.08642

2 months ago 39 10 0 0
Preview
Nanite Tessellation Nanite Tessellation, aka Nanite Dynamic Tessellation, aka Nanite Dynamic Displacement was the next major feature I worked on after Nanite it...

I'm finally writing up how Nanite Tessellation works. The first few blogs posts are up. More will be coming.
graphicrants.blogspot.com/2026/02/nani...

2 months ago 161 50 1 1

Yeah, it's tricky as spatial hashing basically merges geometry into one value and cells have to be large for any caching. You could try to add a bounce index to your key (per Stachowiak), force rayT<cellSize to 0 (we do this) or add ray<cellSize to your key (gpuopen.com/download/GPU...).

3 months ago 4 0 2 0
Advertisement

Yes, it should work as long as those shapes are large enough (don't require explicit sampling) - many titles shipped using hidden Lumen emissives as area fill lights, though that's not as powerful for artists as an additive mesh light. Cool, I really enjoy stylized gfx and tech solutions for it.

5 months ago 3 0 0 0

Amazing results! So you were picking N most important analytical mesh light shapes for a given scene and then intersecting/accumulating for each Lumen ray (including screen space one)?

5 months ago 0 0 2 0

I recommend just reading the slides. After the talk, we filled the presenter notes with more information than we could fit in our live talk.

6 months ago 1 0 0 0

It was recorded, so at some point it should be available on the ACM website.

6 months ago 1 0 1 0

MegaLights slides were just posted online. There's a bunch of details in slide notes if you're curious how our new Stochastic Direct Lighting solution works, why we made it and want to learn a bit about the problem space.

7 months ago 50 13 3 1
Post image

#SIGGRAPH2025 Advances in Real-Time Rendering in Games course slides for "MegaLights: Stochastic Direct Lighting in Unreal Engine 5” talk by @knarkowicz.bsky.social and @tiagocostav.bsky.social from Epic Games are now online
advances.realtimerendering.com/s2025/index....

7 months ago 31 12 0 1
Post image

Thank you @ceruleite.bsky.social for 20 years of organizing the Adavances course. I did learn a lot from it over the years. And also for a really well chosen speaker swag :)

8 months ago 6 0 0 0
Post image

It's time to share the program for the 2025 Advances in Real-time Rendering in Games.

Check out all the details here: advances.realtimerendering.com/s2025/index....

and, of course, come attend the course live on Tuesday August 12 at SIGGRAPH in Vancouver!

8 months ago 68 31 2 0
Advertisement

We use a similar technique in UE, but using cheap AO derived from the distance fields, which then artists use to modify materials in material shaders. Though it's much less powerful - more like a procedural scene-aware texturing than a mesh blend system.

8 months ago 0 0 2 0
The Future of Analytical Materials in a Neural World
The Future of Analytical Materials in a Neural World YouTube video by High-Performance Graphics

Amazing talk about Neural Materials. Lots of insight - from why layered materials are important to an overview of current neural solutions and their tradeoffs: youtu.be/xUnXPNFWJUY?...

9 months ago 30 9 0 1

My feeling is that 20y ago there was a huge barrier to start, but if you could land a publishing deal (even on Steam) your game would at least recoup a large part of the budget. Nowadays the risk is much higher.

9 months ago 2 0 0 0

It's very simple. One is checkerboarding and the other one is half/quater res.

10 months ago 3 0 0 0

Well, it's more like "Go, go, go, fuck (KURWAAA), police" :)

11 months ago 1 0 0 0

Great to see you getting this award and certainly well deserved!

11 months ago 3 0 1 0

It's designed for run time compression (e.g. real-time captured env maps), so quality isn't the best. If you can compress those offline then likely Compressonator would be a better choice.

11 months ago 0 0 1 0

I imagine dynamic register allocation is also quite useful on DXR 1.0, as on hit you need to evaluate materials and they can have highly variable complexity. At least in the future, as for now it seems like everyone is either simplifying or caching materials for perf reasons.

1 year ago 0 0 1 0

It reminds me of FMV games, which were a cool idea, but it also was a dead end due to various limitations of the tech.

1 year ago 0 0 2 0
Advertisement

Another great article from Chips and Cheese. This time about dynamic RDNA4 register allocation. Having full dynamic allocation would be huge for all those complex shaders we write nowadays, but as the article shows it's not easy to get there.

1 year ago 18 2 1 0
Preview
Measuring acceleration structures Hardware accelerated raytracing, as supported by DirectX 12 and Vulkan, relies on an abstract data structure that stores scene geometry, known as “acceleration structure” and often referred to as “BVH...

New blog post! "Measuring acceleration structures", in which we will compare BVH costs on various GPU architectures and drivers and attempt to understand the details enough on AMD hardware to make sense of the numbers!

Reposts appreciated :)

zeux.io/2025/03/31/m...

1 year ago 125 56 2 0

I see this more as a big corp opened a service which allows you to order Simpson merch without owning the IP. Yeah, a skilled artist could make such a t-shirt himself, but it's not the same as a company earning money by selling them.

1 year ago 9 0 0 0

Well, obviously would prefer a tech paper actually digging into tech, but still it's a nice post with some hints. Hopefully one day the embargo will be lifted.

1 year ago 0 0 0 0
DLSS 4: Transforming Real-Time Graphics with AI

Interesting to see a bit of details behind the amazing DLSS tech: research.nvidia.com/labs/adlr/DL...

1 year ago 31 7 1 1