Path traced live in your browser: crystal, chrome, glass, subsurface scattering and porcelain lit by an arch of light. Each light is traced into its own buffer, so their colours flow without tracing again; denoised as it converges. Drag to turn it.Path traced by this page’s own renderer: crystal, chrome, glass, subsurface scattering and porcelain lit by an arch of light.

Jichu Mao

Graphics engineer: real-time rendering, path tracing and GPU performance

Selected work

  • 2024Team of two

    World-Space ReSTIR in Vulkan

    World-space global illumination in a Vulkan ray-tracing pipeline. About 40% more accurate than screen-space ReSTIR in large scenes, for roughly 5% more render time.

    • ≈40%higher accuracy than screen-space ReSTIR in large scenes
    • ≈5%extra render time
    • 1.3 Mtriangles in the subway test scene, at 1 sample per pixel
    • C++
    • Vulkan
    • GLSL
    • Ray Tracing
  • 2024Individual project

    CUDA Path Tracer

    A GPU path tracer in CUDA with glTF scenes, physically based materials, depth of field and environment lighting. Stream compaction cuts frame time from 25.7 to 18.2 ms in open scenes.

    • C++
    • CUDA
    • GPU Programming
    • Path Tracing
  • 2024Individual project

    WebGPU Forward+ and Clustered Deferred Shading

    Forward+ and clustered deferred shading in the browser. With 5,000 moving lights at 4K, clustered deferred runs above 100 fps where naive forward shading manages 3.

    • TypeScript
    • WebGPU
    • WGSL
    • Compute Shaders
  • 2024Individual project

    Vulkan Grass Rendering

    Real-time grass in Vulkan. A compute shader simulates and culls every blade; with 32,768 blades, culling lifts the frame rate from 70 to 228 fps.

    • C++
    • Vulkan
    • GLSL
    • Compute Shaders
  • 2024Individual project

    CUDA Flocking

    Reynolds’ boids simulated on the GPU with CUDA. A coherent uniform grid runs 100,000 boids at 2,677 fps where brute force manages 43.

    • C++
    • CUDA
    • GPU Programming
    • Parallel Computing

More work

Portrait of Jichu Mao

About

I work on real-time rendering and GPU performance, currently on the effect rendering engine at TikTok. Before that: a master’s in Computer Science & Computer Graphics at the University of Pennsylvania, and internships at Infold Games, Apple, TikTok and the University of Alberta.

Away from the GPU I take photographs.

More about meRésumé (PDF)