Headless OpenGL compute shader Path Tracer using EGL
An renderer that runs entirely without a display server,
using EGL for GPU-accelerated rendering in headless environments
GLSL compute shaders for path tracing
Physically based rendering
EGL for headless rendering
glTF 2.0 loading
Open Image Denoiser
Debug images output: raw, albedo, normals
Logging system
Unit tests with googleTest
Docker ready
Mode
CMake Flag
Output
Description
Core
-DBUILD_MODE=CORE
-
Build only core rendering library for testing
CLI
-DBUILD_MODE=CLI
renderer_cli
Standalone CLI application
Worker
-DBUILD_MODE=WORKER
renderer_worker
Build renderer worker for web service
Both
-DBUILD_MODE=BOTH
renderer_cli + renderer_worker
Build both CLI and worker versions
Option
CMake Flag
Description
Tests
-DBUILD_TESTS=ON
Build unit tests
docker build --file renderer/Dockerfile -t prizm --build-arg BUILD_MODE=CLI .
cd renderer
mkdir build && cd build
cmake .. -DBUILD_MODE=CLI
cmake --build .
docker run --rm prizm renderer_cli < width> < height> < samples> < input_scene> [OPTIONS]
./renderer_cli < width> < height> < samples> < input_scene> [OPTIONS]
Argument
Type
Description
width
int
Output image width
height
int
Output image height
samples
int
Number of samples per pixel
input_scene
string
Path to .glb/.gltf scene file
Option
Type
Description
-h, --help
-
Show help message
-o, --output
string
Output image path (default: output.png)
-v, --verbose
-
Enable detailed logging
-d, --debug
-
Save debug images (raw, albedo, normals)
-p, --plane
float
Add ground plane at scene center with specified size
-c, --camera
vec3 vec3 float
Set camera: position lookAt fov
docker build --file renderer/Dockerfile -t prizm --build-arg BUILD_MODE=WORKER .
cd renderer
mkdir build && cd build
cmake .. -DBUILD_MODE=WORKER
cmake --build .
docker run --rm prizm renderer_worker
cd renderer/build && ./renderer_worker
docker build --file renderer/Dockerfile -t prizm --build-arg BUILD_MODE=CORE --build-arg BUILD_TESTS=ON .
docker run --rm prizm test
cd renderer
mkdir build && cd build
cmake .. -DBUILD_MODE=CORE
cmake --build .
./test