Projects
Synthetic 3D Scene Rendering
Synthetic 3D scene rendering from 2D LEGO images using NeRF with volumetric rendering.
MNIST Digits Reconstruction
MNIST Digits reconstruction using VAE and PPCA.
CUDA Path Tracer
High-performance CUDA Path Tracer utilizing material sorting and termination compaction to improve kernel efficiency. Features supported:
- Stackless BVH GPU traversal, tinyObj meshing loading
- Direct lighting with NEE and MIS, Russian roulette path termination
- Physically-based depth of field, Stochastic antialiasing
- BSDF evaluation on diffuse, perfect specular, glass, and glossy materials
Flocking Simulation
Flocking simulation based on the Reynolds Boids algorithm in CUDA. Optimized performace with coherent uniform grid-based search for updating positions and velocities.
Mini-Minecraft
Mini-minecraft game built with C++ in Qt. Features supported:
- Procedural terrain and cave system generation with noise functions
- Real-time shadow mapping
- Day and night cycle, post-process shaders
Cannon Clash
Caribbean-style VR game on Quest 3, allowing players to catch and shoot cannonballs using intuitive handle controls.
Built in Unity.
Undead Road
Post-apocalyptic style, third-person action survival game. The player navigates a heavily armed truck towards the destination while shooting and smashing every zombie that gets in the way.
Built in UE 5.
Yo Mice!
Multiplayer AR game on iOS using AR Foundation Framework and Photon Engine for cross-platform networking.
Built in Unity.
Space
A cosmetic-themed endless runner game, inspired by Space Invaders, with an airdrop system and adaptive difficulty system on iOS.
Built in Unity.
OpenGL Fun
Set up OpenGL pipeline and play with shaders!
- Vertex shaders deformations
- Fragment shaders post-process effects
Fireworks Simulation
Simple Fireworks particle system simulation in C++.