top of page

DEVELOPMENT

      projects written in C, C++, Python, and GLSL

PROJECT PAGE

GGX Microfacets in Smallpt Path-Tracer

I implemented a microfacet model to the smallpt path-tracing renderer using the GGX normal distribution and shadow-masking functions.

Shading to Match the Real: Real-Time Labradorite

I implemented a procedural texture in GLSL for my 3D-modeled version of a personal piece of Labradorite. The shader has multiple layers of Perlin noise, Perlin's marble noise, and physically inspired light-angle and lamellae (layer) refraction calculations.

GLSL Shader Karate

This is a collection of procedural shaders including: a toon shader, shaping functions and curves, procedural animation, and noise.

Duel of Beaks: A 3D Hummingbird Simulation

This project is a simulation of hummingbirds interacting with each other around a feeder.  There are 3 main stages of the development of the project:  asset preparation, flight animation, and simulation control.

Technical Character Animation: Inverse Kinematics

This project is an implementation of inverse kinematics on a chain of joints driven by a user-controlled, end effector (the hummingbird object).

Physically Based Animation: Boids / Flocking System

A flocking "boids" simulation of particles.

Physically Based Animation: Wind-Velocity Field

A face-mesh rigid-body object in an environment that can handle wind-like forces.

OpenGL: Instant Radiosity

A computer graphics project in which I implemented an adaptation of Keller's Instant Radiosity (SIGGRAPH 1997) paper, generating color bleeding in the scene. I also created a normal map texture file and used it in shader calculations.

OpenGL: Labradorite Stanford Bunny

Blinn-Phong shading and 3-point lighting implementation applied to a mesh of the Stanford Bunny loaded via parsing a PPM file and using OpenGL vertex arrays.  The material shading (including the additional textures) and lighting are calculated in GLSL shader programs.

C++/SDL2: Theft of the Rewolf Flowers (2D Video Game)

A 2D video game written in object-oriented C++ using SDL2 and my own pixel art aspects.

Dungeon Generator in Unreal Engine 4

Translation of the dungeon generator code into C++ to use in a 3D game project in Epic Game's Unreal Engine 4, in which a metallic werewolf wanders around a procedurally generated dungeon environment composed of large, stone walls.

2D Dungeon Generator

Dungeon generator project composed of several room- and corridor-generating algorithms, used as my project in an algorithms course.

OpenGL: Particle Challenge

Spewing particles  implemented in OpenGL using textures and physics equations.

OpenGL: Projection-Based Rendering and Transformations

Transformations implemented using matrices and vectors to transform geometry in 3D and 2D coordinate spaces.

OpenGL: Rendering Raycaster

Colored fragments are mapped fromspheres in 3D space to pixels in 2D space using raycasting and the Blinn-Phong lighting model.

OpenGL: Pixel Manipulation

Pixel manipulation through C and OpenGL, concerning reading and writing pixel information and draw lines, circles, and Bézier curves.

Program for Lower Cape Fear Hospice

Software I made for the Lower Cape Fear Hospice Center and its visitors.

Pathfinding

Breadth-First and Depth-First pathfinding algorithms.

Fractal Designs

Visualizing recursion through fractal trees and ferns.

Please reload

bottom of page