Year: 2nd Year – Spring Semester(2017)
Grade: 1st Class
Tool Used: Windows GDI
I was tasked with creating a Basic Software 3D Renderer written in C++ and only using GDI calls to explore the roots of Graphics API. Already stablished APIs like OpenGL, Vulkan or DirectX were forbidden to use.
The project implemented rasterization, 3D transformations, wireframe model, solid model, back face culling, depth sorting, flat and smooth lighting, lighting interpolation, directional and point lighting, Gouraud shading and texturing with Z correction (Depth-buffering).
Also a development diary describing my work on the renderer was written as part of the assignment.
Here is a complete video of the implementation.