Sunday, May 26, 2013

3D Software Based Renderer

3D Software Based Renderer
Language: C++
API: GDI

Features:
Import multiple OBJ models
Wireframe rendering
Render using one constant color
Idle rotation
BackFace culling
Double buffering
Per-vertex shading using the Lambertian illumination model
Specularity for the illumination model
Interpolation using barycentric coordinates
Per-polygon shading using the Lambertian illumination model


Description:

The “Software Renderer” is a demo application which implements concepts like a graphics pipeline, double buffering, hidden-surface removal (back-face culling) and lighting. The graphics pipeline contains vertex processing, triangle setup, occlusion culling, interpolation and rasterization. It is slightly modified for each of the demo’s display modes in order to get a slightly better performance but it contains the same steps.
Double buffering is done manually using bitmaps, which gives the programmer full control. The lighting implementation uses a reflectance model which contains ambient light, one diffuse light and one specular light.


Brief guide:





No comments:

Post a Comment