University Project: Implement a 3D rendering pipeline, written in C++ using Win32 GDI. Consists of a set of geometric operations and rasterisation. Imports 3D models stored in Alias Wavefront OBJ format.
Displays object by performing a series of matrix transformations: model to world, world to view, and view to view port.
- Filled and wireframe rendering.
- Filling with scanline or GDI.
- Backface culling.
- Basic depth sort.
- Ambient, diffuse and specular lighting.
- Linear interpolation of per-vertex shading.
- Double buffering.
- Idle rotation along all 3 axes simultaneously.
- Choice between several different models to load and display.
- Arrow keys translate camera and zoom in and out.