Sign in

Jiayin Cao

@jiayincao.bsky.social
217 followers 50 following 30 posts

Principal Devtech @Nvidia. Former graphics engineer at Ready At Dawn, Naughty Dog, Ubisoft. Views are my own.

PostsRepliesMedia
Jiayin Cao @jiayincao.bsky.social · 04/10/2026
I've spent the whole day improving the QBvh implementation in my renderer. Traversal throughput is now about 2.2–2.5× higher than before. There is still a gap between the latest version and Embree, but that gap has narrowed significantly.
051
Jiayin Cao @jiayincao.bsky.social · 26/09/2026
I've managed to port most of scenes, except those which require unsupported features, from PBRT v4 to SORT Here is a page that reveals all cases that can be ported over, with a few unsupported Except lacking white balancing, most scene look fine comapred with PBRT reference
070
Jiayin Cao @jiayincao.bsky.social · 23/09/2026
I found two most interesting scenes from the pbrt 4 scene repo. And threw them to my renderer. It is not a perfect match with PBRT, which is not my goal anyway. (PBRT may have applied some post processing for the first scene so it looks very different)
080
Jiayin Cao @jiayincao.bsky.social · 20/09/2026
I wanted to support PBRT scene for quite a while. It is non-trivial amount of plumbing work. With the new asset build pipeline, I asked Codex to help implement a processor that reads PBRT scenes. The renderer is agnostic of it. It works for some scene now Left, pbrt Right, SORT
051
Jiayin Cao @jiayincao.bsky.social · 18/09/2026
I got a fiber based texture cache system implemented in my offline renderer. It is now able to render a scene that can't fit within physical memory. Image 1 is the scene I'm testing with. Image 2, 3 and 4 show some profilling data that reveals the benefit of the feature (TBC)
171
Jiayin Cao @jiayincao.bsky.social · 22/07/2026
I still remember more than 10 years ago, it took me more or less one or two weeks to integrate a CPU profiler in my renderer. Nowdays, you can make one profiler for your program from scratch within a few hours with AI. It is not as powerful, but still pretty crazy.
030
Jiayin Cao @jiayincao.bsky.social · 20/07/2026
Pretty much finished the new asset build pipeline for my renderer. It now reads processed binary assets instead of raw source files. Learned a lot building it, I'll put together a blog post on the design decisions and implementation when I find the time.
0170
Jiayin Cao @jiayincao.bsky.social · 22/06/2026
Working on an asset pipeline for my offline renderer One feature I'm adding is a build page that visualizes asset generation and dependencies, making it much easier to inspect and debug issues. Built a mostly working prototype in a day with Codex's help Still lots to iterate next
0110
Jiayin Cao @jiayincao.bsky.social · 08/06/2026
I'm happy to share my latest blog post. In this post, I document how I implemented forward-mode automatic differentiation in my custom shading language and used it to drive mipmap selection in my offline renderer. agraphicsguynotes.com/posts/proced...
agraphicsguynotes.com
Procedural UV Derivatives Evaluation in SORT Renderer
In this post, I want to talk about a topic I have been meaning to write about for quite a few years: texture UV derivatives evaluation in my offline renderer, SORT (Simple Open Source Ray Tracer), whi...
0306
Jiayin Cao @jiayincao.bsky.social · 25/05/2026
After years of thinking about it, I finally got a reasonable approximation for mipmap selection working in my renderer. The biggest challenge, by far, was supporting procedural UV generation in my shading language. I believe I have enough content to put down a blog post next.
0160
Jiayin Cao @jiayincao.bsky.social · 17/05/2026
One of the technical blockers that prevents me from rendering scenes like Moana in my offline renderer is the lack of derivative support in my custom shading language. I'm happy to share that I have implemented a solution. Below is a screenshot of a few unit tests.
090
Jiayin Cao @jiayincao.bsky.social · 31/03/2026
Earlier in GDC, folks in our teams shared the latest progress of NvRTX branch of Unreal engine. The presentation is now public online youtube.com/watch?v=so9l... The source code for all the new hair pt work is available in our latest release of NvRTX as well developer.nvidia.com/game-engines...
youtube.com
What's New in RTX for Unreal Engine 5
YouTube video by NVIDIA Game Developer
0302
Jiayin Cao @jiayincao.bsky.social · 06/03/2026
This year at GDC, my peers Evan, Kelsey, and Richard will showcase the latest progress in the UE NvRTX branch, including LSS optimized hair strands path tracing, an area I’ve had the privilege to work on over the past couple of months. schedule.gdconf.com/session/stat...
0264
Jiayin Cao @jiayincao.bsky.social · 20/02/2026
I'd like to share @daqilin.bsky.social and I co-authored a chapter in the latest GPU Zen 4 book. We cover the engineering details of implementing ReSTIR GI & PT in UE5's NvRTX branch, adopted in NVIDIA's Zorah project showcased at CES and GDC last year. The book is now available on Amazon.
15210
Reposted by Jiayin Cao
Louis Bavoil @louisbavoil.bsky.social · 15/05/2025
New blog post: developer.nvidia.com/blog/path-tr...
developer.nvidia.com
Path Tracing Optimization in Indiana Jones™: Shader Execution Reordering and Live State Reductions | NVIDIA Technical Blog
This post is part of the Path Tracing Optimizations in Indiana Jones™ series. While adding a path-tracing mode to Indiana Jones and the Great Circle™ in 2024, we used Shader Execution Reordering (SER)...
06614
Reposted by Jiayin Cao
Adam Marrs @acmarrs.bsky.social · 02/05/2025
Our #GDC25 talk on Path Tracing Nanite in UE5 is now available on YouTube: youtu.be/8AnVpcIczyk
youtu.be
GDC 2025 | Path Tracing Nanite in NVIDIA Zorah - Full Session Replay
YouTube video by NVIDIA Game Developer
0145
Jiayin Cao @jiayincao.bsky.social · 10/05/2025
Here is a new blog post of mine, where I dive deep into the theory and math behind ReSTIR GI. Big thanks to Markus Kettunen for verifying the theory, reviewing the article, and catching a key detail I had missed. agraphicsguynotes.com/posts/unders...
agraphicsguynotes.com
Understanding The Math Behind ReSTIR GI
Recently, I had the pleasure of contributing to Nvidia’s Zorah project, the flagship demo for the RTX 50 Series GPUs. My primary role was to provide technical support for light transport in Zorah, whi...
110430
Jiayin Cao @jiayincao.bsky.social · 21/04/2025
A nice hugo blog post tool that I built today Sometimes, when we work on a post with a bunch of references, we may need to remove or add items in between. When the article is almost done, adding/removing any of the references requires updating a bunch of hardcoded numbers, which is error prone
131
Reposted by Jiayin Cao
Adam Marrs @acmarrs.bsky.social · 16/04/2025
Our #GDC25 talk "Path Tracing Nanite in NVIDIA Zorah" is now online, free to watch for all: www.nvidia.com/en-us/on-dem...
nvidia.com
Path Tracing Nanite in NVIDIA Zorah | Game Developers Conference (GDC) 2025 | NVIDIA On-Demand
In this session, we will discuss the cutting-edge algorithms and techniques behind NVIDIA's Zorah Blackwell launch demo
33813