Computer Graphics Projects

Welcome to my working portfolio of technical computer graphics projects. Click on the image to see the project breakdown.

* Indicates projects with viewable code.

Contact: YuhanL@seas.upenn.edu , DEMO REEL

Pandora’s Blocks *

C++, Qt, OpenGL

Interactive 3D world exploration and alteration program in the style of the popular computer game Minecraft. Created from scratch by team of 3.

Stylization inspired by Avatar’s Pandora.

Painting-In-Progress Shader *

Unity, C#, HLSL, Visual Studio

Toon shader and post-process supporting multiple lighting sources, outlines, and stroked shadows to convey the look of unfinished oil paintings.

Also developed Houdini tool to create procedural Venetian buildings.

Procedural Toy Carousel Generator

Houdini, VEX

Procedural artists’ tool to generate various toy carousels, created by team of 3.

Water Lily Pond Tool

Houdini, VEX

H20 SIDEFX LABS Tech Art Challenge Submission

Aquatic Garden & Water Lily Tool + Hand-drawn Animated Koi Texture

Will-o’-the-Wisp Shader *

WebGL, TypeScript

Procedural noise-driven shader created from manipulating icospheres in WebGL and JavaScript. (LIVE DEMO)

Maya-Style Mesh Editor *

C++, Qt, OpenGL

Mesh editor application that supports half-edge data structure for mesh manipulation, Catmull-Clark subdivision, skeleton binding and skinning.

Fourier Transform 2D Line Drawing

Houdini, VEX

Drawing tool that uses the Discrete Fourier Transform to trace trace vector images with customizable stroke specificity.

Applied to create artist’s sketch, showing drawing process procedurally.

MoCap & Physically-Based Animation

C++, Visual Studio, Unity, MotionBuilder

C++ Visual Studio and Unity plugins exploring forward/inverse kinematics, motion capture, particle physics, and behavioral simulation.

(Post in Progress)

Procedural Honeybee

Houdini, VEX

Procedural Bee with animation.

Ceramic Generator Tool & Tea Simulation

Houdini, Maya

Procedural Houdini tool for generating teacups, vases, glasses, teapots, etc.

Experimentation with Houdini simulation to create surrealistic scene.

Houdini LEGO Transformation Tool

Houdini, VEX

Greedy procedural algorithm that turns any faceted input mesh into modifiable LEGO figures.

Seam Carving Image Resizer *

Python, Python Imaging Library

Content-aware image-resizing application of Dynamic Programming

GLSL Shaders *

C++, OpenGL, Qt

OpenGL CPU/GPU pipeline exploration that implements various vertex/ fragment shaders.

Procedural Medieval Town

Houdini, VEX

Team project of 9 developers and designers working on a large-scale procedural medieval city.

Personally responsible for boat tool.

Frogger Arcade Game *

Java, Java Swing GUI

Recreation of classic 1981 arcade game “Frogger” with hand-drawn assets.

Rasterizer and Camera *

C++, Qt

Rasterizer for drawing scenes composed of 2D and 3D polygons.

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