/ tags / School

CS488 Final Project

This is my final project for the CS488 Graphics course. It has OpenGL rendering a few cubes with specular+diffuse shading and parallax mapping. Originally, the idea was to get a simulated windowing environment, but there's never enough time.

Kirsch Edge Detection

In my ECE327 course, the final project was to implement a Kirsch Edge Detector in VHDL for an FPGA.


I wrote my raytracer as a part of my CS488 Graphics course. It’s pretty straight-forward: single-threaded, non-AA non-accelerated raytracer. It renders polygons and spheres.

Software Rasterization

As a part of my CS488 Graphics course, I wrote a software implementation of edge rasterization. Features a full projection matrix, screen clipping, frustum culling, etc + object transformation. The 2 RGB gnomons represent the model-space and world-space. A line drawing API was given.


I wrote a functional 3D-rendered Tetris game as a part of my CS488 Graphics course. The game is still "flat", it's just rendered using cubes in OpenGL. Most of the game logic was provided.