Home

Awesome

BOP renderer

A simple C++ renderer with Python bindings utilized in the BOP toolkit.

The renderer is based on OSMesa, an off-screen rendering library, which makes it suitable for rendering on servers.

Dependences

The BOP renderer depends on OSMesa which requires LLVM. You can install OSMesa and LLVM using the provided script osmesa-install/osmesa-install.sh, which is a modified version of script osmesa-install (the changes are documented in osmesa-install/README.md).

The installation locations can be set by osmesaprefix and llvmprefix in osmesa-install.sh. If you do not want to install LLVM, set buildllvm to 0 in osmesa-install.sh.

To install OSMesa and LLVM, go to folder bop_renderer and run:

mkdir osmesa-install/build
cd osmesa-install/build
../osmesa-install.sh

On Debian/Ubuntu systems, this is also available through sudo apt install libosmesa6-dev.

Moreover, the BOP renderer depends on the following header-only libraries, which are provided in folder 3rd (no installation is required for these libraries): glm, lodepng, pybind11, RPly.

Compilation

Compile by:

cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build

Note: The BOP renderer was tested on Linux only.

Samples