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
.
Install Command Line Tools for Xcode with the command below and
run build_macos.sh
.
xcode-select --install
Install GCC and Xlib with the following commands and run build_linux.sh
.
sudo apt install gcc libx11-dev
sudo dnf install gcc libX11-devel
sudo zypper install gcc libX11-devel
A CMakeLists.txt
file is provided for generating project files using
CMake (see examples below).
mkdir build
cd build
cmake -G "Visual Studio 16 2019" ..
start Renderer.sln
mkdir build
cd build
cmake -G Xcode ..
open Renderer.xcodeproj
mkdir build
cd build
cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Release ..
make
If the software renderer is launched without arguments, one of the available scenes will be chosen randomly. To display a specific scene (see below), additional arguments should be supplied. The command line syntax is:
Viewer [test_name [scene_name]]
For PBR scenes, a material inspector that is very similar to the layers view of Marmoset Viewer is provided. Double click to bring it up.
Scene | Command |
---|---|
Viewer blinn azura |
|
Viewer blinn centaur |
|
Viewer blinn craftsman |
|
Viewer blinn elfgirl |
|
Viewer blinn kgirl |
|
Viewer blinn lighthouse |
|
Viewer blinn mccree |
|
Viewer blinn nier2b |
|
Viewer blinn phoenix |
|
Viewer blinn vivi |
|
Viewer blinn whip |
|
Viewer blinn witch |
|
Viewer pbr assassin |
|
Viewer pbr buster |
|
Viewer pbr crab |
|
Viewer pbr dieselpunk |
|
Viewer pbr drone |
|
Viewer pbr helmet |
|
Viewer pbr horse |
|
Viewer pbr junkrat |
|
Viewer pbr ornitier |
|
Viewer pbr ponycar |
|
Viewer pbr robot |
|
Viewer pbr sphere |
|
Viewer pbr spheres |
MIT License