Rendering

Multithreaded Raytracer

Built entirely from scratch in C++, I created a multithreaded raytracer that renders objects with Lambertian, Metal, and Dielectric materials. 

Stargazers

Stargazers is a 3D game engine built entirely from scratch using Three.js, including a hand-written lighting engine, model-loading, and more. In this project, I developed the lighting shaders complete with specular & diffuse.

F-EULER

A 2D racing game made entirely in 68k Assembly in just two weeks. I implemented collisions, pixel-by-pixel image rendering, and acceleration. Written with no external libraries. 

F-EULER uses a hand-written image loading and printing script, able to take in BMP files and print them fast. In order to get sprites moving on the screen, each frame had a buffer of rectangular zones that are cleared at the start of each frame.

To create collisions, I was inspired by the original Mario Kart to create a separate collision material file, which stored each pixel's collision material. I used this both for telling when the ship went off-road, as well as checking the player's lap.

The ship's acceleration was hand-written with fixed-point math, calculated using a pre-calculated sine function for each of the 8 possible rotational positions.