64K RAM SYSTEM 38911 BYTES OF STUFF I MADE
3D Raster Engine
This project is an example of a Software 3D rasterization engine.
It was written as coursework for uni and involves loading in a model file and dealing with all the math to draw it onto the screen. This does not use a framework or API so it’s entirely handled by the software.
The project is written in C++ and covers
- Vertices
 - Vectors
 - Matrix Operations
 - Back face Culling
 - Z Buffering (Painter's algorithm)
 - Camera
 - Wireframe
 - Gouraude Shading
 - Lighting (Ambient, Directional, Point, Spot)
 - Specular Lighting
 - UV Texture Mapping
 
It follows the graphics pipeline applying the model transformations, perspective transformation and the view transformation.
The parts of this project I believe deviate from the other submissions is that I used inheritance for the lighting, having a standard light class that handled applying the color changes to the pixel but having the actual math calculated.
I also allowed for different lighting settings to be created and stored in a vector array for loading later, as well as another vector array to hold models allowing for multiple models to be displayed.
Below if a video of the full showcase submitted, I scored a 100/100 for this project.
If you've come here from my CV and want to see the source code email me and I would be happy to send it.
You can see the code in my locally hosted repo with the following link: https://git.idunnodev.com/iDunnoDev/Graphics-Rasterizer
Tech Used
Info
Date Written: 
12/2021