Expand description
§LibreDR is an open-source ray-tracing differentiable renderer
[Codeberg Repo] [API Document]
LibreDR uses client-server-worker structure to better utilize multiple GPUs (or even multiple nodes on a cluster).
Some code examples are under the examples/ directory.
§To run server and worker under Linux:
- Download
libredr_linux_*.tar.gzunder [releases]. - Start server and worker using
examples/scripts/{server,worker}.shor with your own configuration.
Example configurations are inexamples/scripts. Useclinfoto verify OpenCL runtime.
§To run a server and worker under Windows:
- Download
libredr_windows_*.zipunder [releases]. - Start server and worker using
examples/scripts/{server,worker}.bator with your own configuration.
Example configurations are inexamples/scripts.
§To run the example Python codes or your own Python code
- Download
libredr-*.whlunder [releases] and install usingpip install, or install from [PyPI]. - Run Python example codes
examples/scripts/run_example.{sh,bat}or your own client codes.
§All the examples are tested on the following platforms:
| Version | OS | Device | Driver | Note |
|---|---|---|---|---|
| 🟢v0.0.21 | Debian Bookworm Linux 6.7.12+bpo-amd64 | CPU: Intel Core i7-8550U | PoCL v3.1 | Tested on both opencl_program = source and spirv64 |
| 🟢v0.0.21 | Debian Bullseye Linux 6.7.12+bpo-amd64 | GPU: Hygon DCU Z100L | Hygon Proprietary v25.04 | Tested on opencl_program = source |
| 🟢v0.0.21 | Debian Bullseye Linux 6.7.12+bpo-amd64 | GPU: NVIDIA GeForce RTX 3090 | NVIDIA Proprietary v535.216.01 | Tested on opencl_program = source |
| 🟢v0.0.21 | Debian Bullseye Linux 6.7.12+bpo-amd64 | GPU: AMD Radeon RX 6700 XT | AMD ROCm AOMP v19.0-3 | Tested on opencl_program = source |
| 🟢v0.0.21 | Debian Bullseye Linux 6.7.12+bpo-amd64 | GPU: Intel UHD Graphics 620 | Intel NEO v22.43.24595.41 | Tested on opencl_program = spir64 and spirv64 |
| 🟢v0.0.21 | Ubuntu 18.04.2 LTS Linux 4.4.179 | GPU: ARM Mali-T860 | ARM Proprietary v1.r14p0-01rel0-git | Tested on opencl_program = source |
| 🟢v0.0.20 | Windows 10 21H2 (OS Build 19044.5608) | GPU: AMD Radeon RX 6700 XT | AMD Proprietary v24.12.1 | Unix socket and spir* are not available |
| 🟢v0.0.20 | Windows 10 21H2 (OS Build 19044.5608) | GPU: Moore Threads MTT S80 | Moore Threads Proprietary v290.100.1 | Tested on OpenCLOn12 v1.2404.1.0 ⚠️ with performance issue |
To build from source codes for Linux, check the build scripts in examples/scripts_unix/build/. Docker is used to
build manylinux-compatible wheels. For Windows, check examples/scripts_windows/build/.
Copyright (c) 2022-2025 Bohan Yu. All rights reserved.
LibreDR is free software licensed under the GNU Affero General Public License, version 3 or any later version.
Modules§
- camera
- All camera models (Rust and Python)
- client 🔒
- light_
source - All light source models (Rust and Python)
Structs§
- Geometry
- Rust interface for Geometry
- LibreDR
- Rust interface for LibreDR client
- PyGeometry
- Python interface for
Geometry - PyLibreDR
- Python interface for
LibreDRclient
Statics§
- RUNTIME 🔒
Functions§
- init_
static 🔒 - py_
libredr - Initialize Python module.