Giovanni Perez Colon

First Hit Ray Tracer

A simple 3D renderer made with no graphics API.

Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
Portfolio Image
  • Category Software Development
  • Core Tech C++
  • Project Date Spring 2024
  • Project Site GitHub

Overview

This ray tracer served as the foundational project for my Computer Graphics course. I built the rendering engine entirely from scratch, defining 3D primitives using their continuous mathematical representations rather than polygonal meshes. I implemented the Blinn-Phong shading model to calculate diffuse and specular lighting, while manually computing the Model-View-Projection (MVP) matrices to handle camera perspective. To strictly rely on the underlying math, I avoided all rasterization APIs, using OpenGL only to open the window, and rendered the final frame by writing raw pixel data directly to a TGA image buffer.