Skip to content

IsaGeriler/Rasterizer

Repository files navigation

Rasterizer

Overview

This project implements the standard graphics pipeline using C++ and a custom linear algebra library. It handles the full transformation chain (MVP), rasterization, and shading without relying on external graphics APIs like OpenGL or DirectX.

Note: Detailed documentation on the mathematics/theory, implementation of the rasterization algorithms and perspective-correct interpolation is currently being written and will be updated soon.

Key Features

  • Rasterization: Triangle rasterization using edge functions and barycentric coordinates.
  • Math Library: Custom Matrix (4x4) and Vector implementations.
  • Pipeline: Full Model-View-Projection transformation chain.
  • Optimization: Z-Buffering for visibility and Backface Culling.
  • Shading: Perspective-correct attribute interpolation and Lambertian shading.

Final Result

Rainbow 3D Bunny (Geometry Proof)

BunnyRenderGeometry.mp4

Shaded 3D Bunny (Lighting Proof)

BunnyRenderShaded.mp4

About

Building my own, 3D Rasterizer, for self-studying WM9M2 Computer Graphics module.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages