A shader-based software renderer written from scratch in C89
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.