Path traced live in your browser: brushed champagne metal, neon and haze, lit by an arch of light whose colours slowly flow. 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: brushed champagne metal, neon and haze, 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)