Navonil (Neil) Mukherjee
banner
wedusk.bsky.social
Navonil (Neil) Mukherjee
@wedusk.bsky.social
Graphics research @Qualcomm. Ray tracing fanatic, neural rendering afficionado, math nerd, Crysis cultist. Personal opinions only. RT != endorsements. (He/Him)

Twitter account: @wedusk101
Reposted by Navonil (Neil) Mukherjee
I wrote a blog post on my implementation of the Surfel maintenance pipeline from my Surfel Radiance Cascades project. Most of what I learned came from "SIGGRAPH 2021: Global Illumination Based on Surfels" a great presentation from EA SEED :)
m4xc.dev/blog/surfel-...
MΛX - Surfel Maintenance for Global Illumination
A comprehensive explanation of my implementation of Surfel probe maintenance.
m4xc.dev
January 25, 2025 at 3:45 PM
Reposted by Navonil (Neil) Mukherjee
So... instead of doing anything useful today... I made Blender VSE timeline run Doom. www.youtube.com/watch?v=Y2iD...
Doom running in Blender Video Sequence Editor timeline
YouTube video by Aras Pranckevičius
www.youtube.com
January 16, 2025 at 1:30 PM
Reposted by Navonil (Neil) Mukherjee
Ah this is neat! An open source library for accurately simulating colour mixing in pigments scrtwpns.com/mixbox/

Video below from the author explaining how/why every digital painting app gets this wrong by mixing colours additively, like lights
Talk - Practical Pigment Mixing for Digital Painting
YouTube video by Secret Weapons
www.youtube.com
January 3, 2025 at 3:35 PM
Reposted by Navonil (Neil) Mukherjee
I am privileged to have sat down with @jimkjellin.bsky.social and Andreas Larsson from Machine Games and @geforce-jacobf.bsky.social to talk about the tech behind Indiana Jones and The Great Circle on PC. How was full RT integrated? RTGI? A lot of awesome info here! Enjoy!
youtu.be/k2SBZSm2mOw?...
December 21, 2024 at 3:22 PM
Reposted by Navonil (Neil) Mukherjee
I've never seen a more polished paper teaser video than this one. The 3D Gaussians even cast shadows!
fnzhan.com/Evolutive-Re...
December 11, 2024 at 5:30 PM
Reposted by Navonil (Neil) Mukherjee
In Filament we use a technique similar to Doom's (the linked comment should interest you). We only allow one layer of refraction however for performance reasons. Refractive objects neither opaque nor transparent, we just draw them between those passes.

github.com/google/filam...
github.com
December 4, 2024 at 2:20 AM
Reposted by Navonil (Neil) Mukherjee
I wrote a new article, this time exploring a bit how some games handle refraction.
I discovered quite a few interesting tricks !
www.froyok.fr/blog/2024-12...

#gamedev #rendering
Refracting Pixels | Froyok - Léna Piquet
What started this article is that I wanted to support refraction in my realtime game engine (which you can learn more about here). I didn't find a lot of clear documentation on the subject, so I went ...
www.froyok.fr
December 3, 2024 at 7:30 PM
Reposted by Navonil (Neil) Mukherjee
I built a basic compute raytracer in Unity to test and play with @jbikker.bsky.social's tinybvh. I think it's a good example of utilizing the library as well as a decent starting point for anyone interested in building a wavefront pathtracer in Unity.

github.com/andr3wmac/un...
GitHub - andr3wmac/unity-tinybvh: An example implementation for tinybvh in Unity and a foundation for building compute based raytracing solutions.
An example implementation for tinybvh in Unity and a foundation for building compute based raytracing solutions. - andr3wmac/unity-tinybvh
github.com
November 28, 2024 at 4:19 PM
Reposted by Navonil (Neil) Mukherjee
So Disney Animation has this awesome interactive page that describes at a high level how we make our movies, and now that Moana 2 is out in theaters today, the page has been updated with Moana 2 stuff. Check it out!

disneyanimation.com/process
Filmmaking Process - Moana 2
From sequence to shot to frame, explore our studio pipeline.
disneyanimation.com
November 27, 2024 at 9:05 PM
Reposted by Navonil (Neil) Mukherjee
A while ago I did a writeup on some interesting observations I've made with regards to the Jacobi method, in particular for numerically solving the Poisson equation.

It's not too flashy, but you might find it interesting. Fancy recurrence relations inside!

gist.github.com/vassvik/4044...

#math
a black background with a few white spots on it
Alt: The Jacobi method is typically quite slow and useless in isolation, but it has lot of interesting properties that's useful in other contexts, so it's worth studying.
media.tenor.com
November 24, 2024 at 10:49 PM
Reposted by Navonil (Neil) Mukherjee
My latest article is about one of my favorite techniques in graphics - Müller's method of Polar Decomposition.

It also details some variations, including one which is ~2x faster to compute with more regular convergence.

theorangeduck.com/page/variati...
November 23, 2024 at 4:27 PM
Lumen + HDR = 😍
November 21, 2024 at 7:22 AM
Reposted by Navonil (Neil) Mukherjee
I cannot tell you how much work this was. I hope everyone enjoys it. There's some insane stuff in here.

Half-Life 2: 20th Anniversary Documentary
youtu.be/YCjNT9qGjh4
November 15, 2024 at 11:03 PM
Reposted by Navonil (Neil) Mukherjee
For those who missed this post on the-network-that-is-not-to-be-named, I made public my "secrets" for writing a good CVPR paper (or any scientific paper). I've compiled these tips of many years. It's long but hopefully it helps people write better papers. perceiving-systems.blog/en/post/writ...
Writing a good scientific paper
perceiving-systems.blog
November 20, 2024 at 10:18 AM
Reposted by Navonil (Neil) Mukherjee
"Occupancy Explained" GPC 2024 presentation slides are now available online: gpuopen.com/presentation..., they are missing notes though so to fill in the gaps I recommend this great post from 2023: gpuopen.com/learn/occupa...
gpuopen.com
November 20, 2024 at 1:06 PM
Reposted by Navonil (Neil) Mukherjee
Essential learning: intro-to-restir.cwyman.org
November 20, 2024 at 2:22 PM
Reposted by Navonil (Neil) Mukherjee
HLSL++ reached 600 stars today. I started the project because I didn't like the interface of the math library we had at Tt. I understand why though, it's a lot of effort. Thank you to everyone who finds it useful and contributed.
github.com/redorav/hlslpp
GitHub - redorav/hlslpp: Math library using HLSL syntax with multiplatform SIMD support
Math library using HLSL syntax with multiplatform SIMD support - redorav/hlslpp
github.com
November 19, 2024 at 9:14 AM
Reposted by Navonil (Neil) Mukherjee
Short but interesting presentation on reading and understanding AMD GPU (GCN) ISA: slides drive.google.com/file/d/1O9yT..., recording youtube.com/watch?v=HYrs.... References CUDA but most of it is applicable to normal shaders as well
2020-06-30 10-00 Rene van Oostrum.pdf
drive.google.com
November 19, 2024 at 1:09 PM
Reposted by Navonil (Neil) Mukherjee
Significant new work on LOD of aggregates! mangosister.github.io/scene_agn_si...
Efficient Scene Appearance Aggregation for Level-of-Detail Rendering
mangosister.github.io
November 15, 2024 at 6:19 PM
Reposted by Navonil (Neil) Mukherjee
Some details about the great strand hair tech used in Dragon Age: Veilguard. A 6.5ms budget for hair rendering is very impressive! www.ea.com/technology//...
Bringing Locks to Life With Strand Hair Technology in Dragon Age: The Veilguard
See how Frostbite and BioWare took Strand Hair tech to the next level, simulating up to 50,000 individual strands for over 100 hairstyles in Dragon Age: The Veilguard.
www.ea.com
November 13, 2024 at 5:30 PM
Reposted by Navonil (Neil) Mukherjee
Absolutely huge list of (mostly) graphics related resources, not all links are still active but you're bound to find something interesting in there tfpsly.free.fr/bookmarks.html
Technical links
tfpsly.free.fr
November 12, 2024 at 4:31 PM
Reposted by Navonil (Neil) Mukherjee
A Shadertoy-like tutorial framework for workgraphs, focusing on the GPU implementation and hiding the CPU-side setup. gpuopen.com/learn/work-g...
Work Graph Playground: a learning framework for GPU Work Graphs
Read about our latest sample for D3D12 GPU Work Graphs. We're making Work Graphs more accessible with a tutorial framework.
gpuopen.com
November 11, 2024 at 5:01 PM
Reposted by Navonil (Neil) Mukherjee
New in tiny_bvh.h today:
- 4/8-wide BVH layout
- Conversion (collapse) from BVH2 to BVH4/8, Wald-style
- Basic intersect functions for both layouts.
BVH4 will primarily feed a fast OpenCL intersection function, but the CPU may also benefit. BVH8 will be used for CWBVH.
github.com/jbikker/tiny...
GitHub - jbikker/tinybvh: Single-header BVH construction and traversal library.
Single-header BVH construction and traversal library. - jbikker/tinybvh
github.com
November 10, 2024 at 10:48 AM
Reposted by Navonil (Neil) Mukherjee
This is a great presentation of the journey to use ML to improve GI in a shipped game. This is exactly the kind of NN applications that I find appealing, small NNs to improve specific parts of rendering systems. advances.realtimerendering.com/s2024/conten...
advances.realtimerendering.com
November 6, 2024 at 10:11 PM
Reposted by Navonil (Neil) Mukherjee
Just learned on 'the other side' that source code for the EON rough diffuse BRDF model has been released on GitHub by Arnold's Jamie Portsmouth:

github.com/portsmouth/E...
GitHub - portsmouth/EON-diffuse: Source code for the EON rough diffuse BRDF model
Source code for the EON rough diffuse BRDF model. Contribute to portsmouth/EON-diffuse development by creating an account on GitHub.
github.com
November 7, 2024 at 8:15 AM