Coding Projects

3D Model Renderer

This project was a personal one that I found quite interesting to deal with. I stumbled across a YouTube video while scrolling through my page by a channel named Javidx9. In the video, he creates a fully-functioning 3D-renderer that can take in coordinates in 3D space and project them to 2D space to visualize them. He hard codes everything in C++, and I used the math equations he uses, but implemented it from scratch in Java using processing’s PApplet library. I added a few more features to it as well, including a way to drag-rotate, zoom in and out, and pan to the left and right. Instructions are on the GitHub page.

Raytracing Engine

This was another personal coding project which was much more annoying to debug than the 3D-Renderer. This is a raytracing machine, following math from Peter Shirley’s C++-based “Raytracing in One Weekend”, but, like the 3D Renderer, implemented in Java. The engine mimics the way light would work in real life, and traces from every pixel of the camera out into the scene, made up of objects. The class-based math in Java works quite differently compared to C++, and I had to figure many things out myself by trial and error. It is still a work in progress, but still has a lot of very cool features!