This is my implementation of a graphics engine after following Dmitry Sokolov's excellent Tinyrenderer tutorial.
Lesson 1: Bresenham's Line Drawing AlgorithmLesson 2: Triangle Rasterization and Back Face CullingLesson 3: Hidden Faces Removal (z buffer)- Lesson 4: Perspective Projection
- Lesson 5: Moving the Camera
- Lesson 6a: Shaders for the Software Renderer
- Lesson 6b: Tangent Space Normal Mapping
- Lesson 7: Shadow Mapping
- Lesson 8: Ambient Occlusion
- Lesson 9: Real OpenGL (GLSL) Application