The goal of this project is to learn and understand how do Graphic API's such as OpenGL, DirectX & Vulkan work at a low level.
This project does not rely on external libraries (except the files mentioned below*) and it will not be working directly with the GPU, also I am not trying to implement the most optimal known algorithms but implementing my own approach, implementing other's more optimal algorithms will be the main focus in my future learning projects. The output of the renderer will be found in the file called
'output.tga' because I am not interested in doing it real time for now as it is, as I mentioned earlier, just to learn the basics of rendering at a low-level, painting pixel per pixel.
*The 'tgaimage.cpp' and 'tgaimage.h' files are written by ssloy.
For now, the MiniRenderer project allows for the loading of 3D models in the .obj format and drawing their wireframes:
Filling triangles.
Temporary flat shading with Z-buffer algorithm: