Graphics & Software Engineering

GPU Programming

CUDA Path Tracer

CUDA, C++

CUDA-based path tracer to render globally-illuminated scenes. Performance optimizations, proceduralism, mesh & textures, denoising and antialiasing. (I’m just really proud of this one :))

Boids Flocking Simulation

CUDA, C++

Exploration of CUDA kernels to implement a flocking simulation based on the Reynolds Boids algorithm. CUDA-based optimizations for this project feature a uniform grid with semi-coherent memory access.

GPU Parallel Algorithms

CUDA, C++

Implements various versions of scan (prefix-sum), stream compaction (remove unwated elements), and sort algorithms. CPU + GPU implementations, including naive and work-efficient approaches, for comparison purposes.

Geometry Processing(C

Skinning & Skeletal Animation

C++, Paper Implementation

Various methods for skeletal-based deformation, including linear-blend skinning, dual-quaternion skinning, per-face blend skinning, etc.

Drag & Deform Meshes

C++, Paper Implementation

Interactively deform 3D models by dragging user-set handles.
Multi-resolution surface parameterization, deformed using naive Laplacian editing.

Turning Points Clouds into Geometry

C++, Paper Implementation

Construct mesh from point cloud by computing implicit MLS function with marching cubes algorithm.

Interactive Graphics Engineering

Pandora’s Blocks

C++, Qt, OpenGL

Interactive Avatar/Pandora-inspired 3D world exploration and alteration program in the style of Minecraft. Created in team of 3.

Camera and Rasterizer

C++, Qt

Perspective projection, OBJ/JSON loading, translation/rotation transformations, normal/texture interpolation.

Seam Carving Image Resizer

Python, Python Imaging Library

Content-aware image-resizing application of Dynamic Programming.

Looking for my digital content creation (DCC) and game engine experience?