2026

Jichu Mao

Graphics Performance Engineer at TikTok

I work on real-time rendering and GPU performance. This site is my hub for art, CG and games: the renderers, shaders, tools and games I’ve built along the way.

See the workAbout me

Portfolio

Selected Works

Renderers, shaders, tools, games and animation. Open a project for demos, renders and source code.

  • 2024Team of two

    World-Space ReSTIR in Vulkan

    • Rendering & GPU
    • C++
    • Vulkan
    • GLSL
    • Ray Tracing
    • Global Illumination
    • ReSTIR

    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.

  • 2024Individual project

    CUDA Path Tracer

    • Rendering & GPU
    • C++
    • CUDA
    • GPU Programming
    • Path Tracing
    • glTF
    • Performance Optimization

    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.

  • 2024Individual project

    WebGPU Forward+ and Clustered Deferred Shading

    • Rendering & GPU
    • TypeScript
    • WebGPU
    • WGSL
    • Compute Shaders
    • Deferred Shading
    • Real-Time Rendering

    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.

  • 2024Individual project

    Vulkan Grass Rendering

    • Rendering & GPU
    • C++
    • Vulkan
    • GLSL
    • Compute Shaders
    • Tessellation
    • Real-Time 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.

  • 2024Individual project

    CUDA Flocking

    • Rendering & GPU
    • C++
    • CUDA
    • GPU Programming
    • Parallel Computing
    • Spatial Data Structures
    • Performance Optimization

    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.

  • 2023Individual project

    Physically-Based Shaders

    • Rendering & GPU
    • C++
    • OpenGL
    • GLSL
    • PBR
    • Image-Based Lighting
    • Qt

    Physically based shading in OpenGL: a Cook-Torrance BRDF with image-based lighting, plus metallic, roughness, normal-map and displacement controls.

  • 2023Team project

    Mini Minecraft

    • Games
    • C++
    • OpenGL
    • GLSL
    • Qt
    • Procedural Generation
    • Game Development

    A Minecraft-like game in C++ and OpenGL with no game engine. I built the procedural terrain, the biomes, texture animation and shape-grammar buildings.

  • 2024Individual project

    Monte Carlo Path Tracer

    • Rendering & GPU
    • C++
    • GLSL
    • OpenGL
    • Path Tracing
    • Multiple Importance Sampling
    • BSDF

    A Monte Carlo path tracer in C++ and GLSL with naive, direct-lighting and multiple-importance-sampling integrators, and BRDF / BTDF materials with Fresnel.

  • 2023Individual project

    GLSL Shaders

    • Rendering & GPU
    • GLSL
    • OpenGL
    • C++
    • Shader Programming
    • Post-Processing

    Vertex and fragment shaders for OpenGL: Blinn-Phong lighting, matcaps, vertex deformation, and post-process effects such as bloom, blur, Sobel edges and Worley noise.

  • 2024Individual project

    Procedural Fireball

    • Rendering & GPU
    • WebGL
    • GLSL
    • TypeScript
    • Procedural Graphics
    • Shader Programming
    • Noise Functions

    A WebGL fireball shaped by 3D Perlin noise and FBM, with live controls for colour, amplitude and frequency. It runs in the browser.

  • 2024Individual project

    Tree Creator – Plugin for Maya & Houdini

    • Tools
    • C++
    • Python
    • Maya API
    • Houdini HDK
    • L-System
    • Plugin Development

    Two plugins, one for Maya and one for Houdini, that grow fractal plants from an L-system grammar the user writes.

  • 2024Individual project

    Animation Toolkit

    • Animation
    • Tools
    • Computer Animation
    • Inverse Kinematics
    • Particle Systems
    • Behavioral Animation
    • Spline Curves

    An interactive animation toolkit: curve and rotation editors, forward and inverse kinematics, particle systems with fireworks, and behavioural animation.

  • 2021Team project

    Gem Match Game

    • Games
    • C++
    • Qt
    • Easy2D
    • Game Development

    A classic gem puzzle game in C++ with Qt Widgets and the Easy2D engine. I wrote the client logic and the gem animations.

  • 2023Individual project

    Maya 3D Scene Modeling Project

    • Art
    • Maya
    • 3D Modeling
    • Texturing
    • Lighting

    A bedroom modelled, textured and lit in Maya 2024.

  • 2023Individual project

    Motion Capture

    • Animation
    • Motion Capture
    • MotionBuilder
    • Character Animation

    Motion capture recorded at UPenn’s SIG Lab and finished in MotionBuilder: three actions cleaned up and blended into one animation.

  • 2023Individual project

    Houdini-based Fireworks Simulation

    • Animation
    • Houdini
    • Particle Simulation
    • VFX

    A fireworks physics simulation in Houdini: particle simulations shaped by bounce and wind, attractive, repulsive and interparticle forces.

About me

Jichu Mao

Hi! I’m Jichu! I am really glad that you have come to my website!

I’m a Graphics Performance Engineer at TikTok, optimizing its real-time effect rendering engine. I graduated from the University of Pennsylvania (UPenn) in May 2026 with a master’s in Computer Science & Computer Graphics.

Before that, I interned at TikTok, Infold Games, Apple Inc. and the University of Alberta, and was a teaching assistant for UPenn’s computer graphics courses. During my studies in Software Engineering and Computer Graphics, I designed & developed various interesting games and software toolkits.

I have shared my previous works here, and I will be really excited if you like it! <3

Read more