This is a shader-based software renderer written from scratch in C89 with minimal dependencies, available for Windows, macOS, and Linux. Pre-built binaries for Windows, macOS, and Linux are available for download from the Releases page. To build the software renderer from source, a C89 compiler and development files for your window system are required. Install Visual Studio with C++ support and run build_win32.bat. If the software renderer is launched without arguments, one of the available scenes will be chosen randomly. To display a specific scene, additional arguments should be supplied. Metallic-roughness workflow. Specular-glossiness workflow. Image-based lighting (IBL). Orbital camera controls. PBR material inspector. Perspective correct interpolation. Depth testing. Alpha testing. Alpha blending. Cubemapped skybox. Skeletal animation. Tangent space normal mapping.
Features
- Perspective correct interpolation
- Tangent space normal mapping
- Blinn–Phong reflection model
- Homogeneous clipping
- Physically based rendering (PBR)
- Metallic-roughness workflow