Beck Lavender

Game Programmer, UK

Menu

Skip to content
  • Home
  • About
  • Career
    • Freelance Programmer
    • Playtonic Games
    • 22cans
  • Projects
    • Lost Words: Beyond the Page
    • Yooka-Laylee
    • Godus
    • The Zelda Dungeon Generator
    • More…
  • Education
  • Blog
  • Contact

3D Software Renderer

University Project

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.

FEATURES:
  • 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.
Bear rendered in wireframe with backface culling turned off.
Teapot lit per-face, using GDI.
Teapot lit per-vertex, using linear interpolation.

Post navigation

← < Rigid Body Simulator
Interactive 3D Environment > →
  • Email
  • LinkedIn
  • Twitter