Skip to content

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

License

Notifications You must be signed in to change notification settings

thodan/bop_renderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • samples/renderer_minimal.py - A minimal example on how to use the Python bindings of the BOP renderer.
  • samples/renderer_test.py - Comparison of the BOP renderer and the Python renderer from the BOP toolkit.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published