Graphics Engineer
Animation
Jello Cube Simulation (OpenGL)
A Jello cube simulation as part of USC CSCI 520 in February 2020 using:
Mass spring system
Hooke law
Runge Kutta Method
Euler Method
Mocap Interpolation (OpenGL)
Motion Capture Key Frame Interpolation as part of USC CSCI 520 in March 2020.
Features:
Linear Euler Interpolation
Bezier Euler Interpolation
SLERP Quaternion Interpolation
Bezier SLERP Quaternion Interpolation
Graphs for comparison between different methods
Inverse Kinematics (OpenGL)
IK and skinning tool as part of USC CSCI 520 in April 2020
Features:
Linear Blend Skinning
Forward Kinematics (FK)
Inverse Kinematics (IK)
Damped Least Squares
Rendering
Ray Tracer
Implemented a ray tracer using C++ as part of the USC CSCI 420 assignment in Spring 2020
Features:
Ray tracing triangles
Ray tracing sphere
Triangle Phong Shading
Sphere Phong Shading
Shadows rays
Still images
Antialiasing Soft shadows
Monte Carlo Path Tracer
A C++ renderer implemented as part of the USC CSCI 580 final project in Fall 2019.
Features:
Materials
Lambertian
Metal
Dielectric
Volume
Textures
Constant
Checker
Image
Perlin noise
Turbulence
Camera Effects
Motion blur
Defocus blur
Monte Carlo and Importance Sampling
Cosine sampling for diffuse surface
Direct light sampling
Metal surface
Glass sphere
Graphics Rasterizer
A C++ rasterizer implemented as part of the USC CSCI 580 assignment in Fall 2019.
Features:
Render the Utah teapot
Rasterize using scan line algorithm
Flat, Gouraud and Phong shading
Antialiasing
C++
3D Graphics Engine
Implemented a 3D Graphics Engine with the following features:
Setup boiler plate code for a graphics engine
Vectors
Matrices
Triangles
Projections
Transformation
Translation
Rotation
Scaling
Lighting and Camera capabilities
Implemented a .obj files parser to render models
Culling and Clipping options
Textures and Depth Buffers
This project runs on the command prompt using olcConsoleGameEngine rasterizer features
A* Path Finding Algorithm
Implemented the A* Path Finding algorithm and depict its traversal graphically
This project runs on the command prompt using olcConsoleGameEngine rasterizer features
Perlin Noise Approximation
Implemented a 1D and 2D representation of a Perlin Noise approximation
This project runs on the command prompt using olcConsoleGameEngine rasterizer features
OpenGL
Height Map
Create a height map given a 2D height field texture as part of USC CSCI 420 in February 2020
Roller Coaster Simulation
A roller coaster simulation as part of USC CSCI 420 in March 2020 using:
Catmull-Rom splines
Animation of riding the rollercoaster
Playground
Projects
Getting Started
Creating a Window
Render Triangles
Shaders
Textures
Transformations
Coordinate Systems
Cameras
Lighting
Colors
Basic Lighting
Materials
Lighting Maps
Light Casters
Multiple Lights