3D Software Rendering
Table of Contents
About the renderer
The rederer performs rasterization of 3D models. It uses the SDL library for creating window and polling user input. The entirety of the renderer is written from scratch in C.
It implements fundamental graphics programming techniques like loading meshes, backface fulling, frustum clipping, texture mapping, shading etc.
Texture Mapping
Perpective correct texture mapping loaded from png files.
Gouraud Shading
Gouraud Shading by calculating per vertex normal and interpolating the color for each fragment of the model. Based on Directional lighting model.
View Frustum Clipping & Culling
View Frsuting clipping and culling based on the view frustum planes. Model triangles are clipped, and new triangles are formed if needed.
Demo
Project repository: GitHub - 3d renderer in C