Ignition Rendering: Rendering library for robot applications
Maintainer: ichen [AT] openrobotics [DOT] org
Build | Status |
---|---|
Test coverage | |
Ubuntu Xenial | |
Ubuntu Bionic | |
Homebrew | |
Windows |
Ignition Rendering is a C++ library designed to provide an abstraction for different rendering engines. It offers unified APIs for creating 3D graphics applications.
Ignition Rendering is a component in the ignition framework, a set of libraries designed to rapidly develop robot applications.
Table of Contents
Features
- Support for rendering engines including OGRE and OptiX
- Plugin-based architecture. Mulitple rendering engine plugins can be loaded at run time.
- Object-oriented scene management.
Install
See the installation tutorial.
Usage
The Ign Rendering API can be found in the documentation. See the Documentation section on how to build the documentation files using Doxygen.
You can also take a look at the sample applications in the examples
folder.
Documentation
API documentation can be generated using Doxygen
sudo apt install -y doxygen
Build documentation
cd build
make doc
View documentation
firefox doxygen/html/index.html
Testing
Tests can be run by building the test
target:
cd build
make test
To run tests specific to a render engine, set the RENDER_ENGINE_VALUES
environment variable, e.g.
RENDER_ENGINE_VALUES=ogre2 make test
Folder Structure
-
include/ignition/rendering
: Contains all the public header files which will be installed -
src
: Contains all the C++ source code which are not installed. -
test
: All integration, performance and regression tests go here, under their specific folders. -
examples
: Sample programs to demonstrate different features of ign-rendering -
doc
: Files used by Doxygen when generating documentation.
Rendering engine plugin implementation code is stored in their own folders
-
ogre
: OGRE 1.x rendering engine plugin -
ogre2
: OGRE 2.x rendering engine plugin (available in versions >= ign-rendering1) -
optix
: OptiX rendering engine plugin
Contributing
Please see CONTRIBUTING.md.
Code of Conduct
Please see CODE_OF_CONDUCT.md.
Versioning
This library uses Semantic Versioning. Additionally, this library is part of the Ignition Robotics project which periodically releases a versioned set of compatible and complimentary libraries. See the Ignition Robotics website for version and release information.
License
This library is licensed under Apache 2.0. See also the LICENSE file.