Ignition Rendering

API Reference

0.1.0
ignition::rendering Namespace Reference

Classes

class  ArrowVisual
 Represents a arrow composite visual. More...
 
class  AxisVisual
 Represents a axis composite visual. More...
 
class  BaseArrowVisual
 
class  BaseAxisVisual
 
class  BaseCamera
 
class  BaseCompositeStore
 
class  BaseDirectionalLight
 
class  BaseGeometry
 
class  BaseGeometryStore
 
class  BaseGrid
 Base implementation of a grid geometry. More...
 
class  BaseLight
 
class  BaseLightStore
 
class  BaseMap
 
class  BaseMaterial
 
class  BaseMaterialMap
 
class  BaseMesh
 
class  BaseNode
 
class  BaseNodeCompositeStore
 
class  BaseNodeStore
 
class  BaseObject
 
class  BasePointLight
 
class  BaseRayQuery
 A Ray Query class used for computing ray object intersections. More...
 
class  BaseRenderEngine
 
class  BaseRenderTarget
 
class  BaseRenderTexture
 
class  BaseRenderWindow
 
class  BaseScene
 
class  BaseSceneStore
 
class  BaseSensor
 
class  BaseSensorStore
 
class  BaseSpotLight
 
class  BaseStore
 
class  BaseStoreWrapper
 
class  BaseSubMesh
 
class  BaseSubMeshStore
 
class  BaseVisual
 
class  BaseVisualStore
 
class  Camera
 Posable camera used for rendering the scene graph. More...
 
class  CompositeStore
 Represents a collection of Store objects, collectively working as a single composite store. More...
 
class  CompositeVisual
 Represents a predefined collection of geometries and visuals. More...
 
class  DirectionalLight
 Represents a infinite directional light. More...
 
class  Geometry
 Represents a geometric shape to be rendered. More...
 
class  Grid
 Represents a grid geometry drawn along the XY plane. If vertical cell count is specified then the grid becomes 3D. More...
 
class  Image
 Encapsulates a raw image buffer and relevant properties. More...
 
class  Light
 Represents a light source in the scene graph. More...
 
class  Map
 Storage map from std::string to template class T. More...
 
class  Material
 Represents a surface material of a Geometry. More...
 
class  Mesh
 Represents a collection of mesh geometries. More...
 
struct  MeshDescriptor
 Describes how a Mesh should be loaded. More...
 
class  Node
 Represents a single posable node in the scene graph. More...
 
class  Object
 Represents an object present in the scene graph. This includes sub-meshes, materials, render targets, as well as posable nodes. More...
 
class  OgreArrowVisual
 
class  OgreAxisVisual
 
class  OgreCamera
 
class  OgreConversions
 Conversions Conversions.hh rendering/Conversions.hh. More...
 
class  OgreDirectionalLight
 
class  OgreGeometry
 
class  OgreGrid
 Ogre implementation of a grid geometry. More...
 
class  OgreLight
 
class  OgreMaterial
 
class  OgreMesh
 
class  OgreMeshFactory
 
class  OgreNode
 
class  OgreObject
 
class  OgrePointLight
 
class  OgreRayQuery
 A Ray Query class used for computing ray object intersections. More...
 
class  OgreRenderEngine
 
class  OgreRenderEnginePlugin
 Plugin for loading ogre render engine. More...
 
class  OgreRenderTarget
 
class  OgreRenderTexture
 
class  OgreRenderWindow
 
class  OgreRTShaderSystem
 Implements Ogre's Run-Time Shader system. More...
 
class  OgreScene
 
class  OgreSensor
 
class  OgreSpotLight
 
class  OgreSubMesh
 
class  OgreSubMeshStoreFactory
 
class  OgreVisual
 
class  OrbitViewController
 A camera view controller. More...
 
class  PixelUtil
 Provides supporting functions for PixelFormat enum. More...
 
class  PointLight
 Represents a point light. More...
 
class  RayQuery
 A Ray Query class used for computing ray object intersections. More...
 
class  RayQueryResult
 A class that stores ray query intersection results. More...
 
class  RenderEngine
 An abstract interface to a concrete render-engine. A RenderEngine is responsible for initializing a render-engine as well as creating, storing, and destroying scenes. More...
 
class  RenderEngineManager
 Collection of render-engines. This provides access to all the render-engines available at runtime. RenderEngine objects should not be access directly, but instead via the RenderEngineManager to maintain a flexible render-engine agnostic design. More...
 
class  RenderEnginePlugin
 Base plugin class for render engines. More...
 
class  RenderTarget
 Represents a render-target to which cameras can render images. More...
 
class  RenderTexture
 Represents a off-screen render-texture to which cameras can render images. More...
 
class  RenderWindow
 Represents a on-screen render-window to which cameras can render images. More...
 
class  Scene
 Manages a single scene-graph. This class updates scene-wide properties and holds the root scene node. A Scene also serves as a factory for all scene objects. More...
 
class  Sensor
 Represents a scene sensor. The most obvious example is a camera, but it can be anything that generates output from the scene. More...
 
class  ShaderUtil
 Provides supporting functions for ShaderType enum. More...
 
class  SpotLight
 Represents a spotlight. More...
 
class  Store
 Multi-access storage structure of template class T. Template class T is expected to have functions GetId, GetName(), Destroy() which return unsigned int, std::string, and void respectively. This store will ensure that each element's name and ID are unique. More...
 
class  StoreWrapper
 Simple wrapper class that allows a Store of type Derived to be treated as a Store of type Base, where Derived is some class derived from Base. This is useful in storing Stores of different derived types in a single CompositeStore instance. More...
 
class  SubMesh
 Represents a single mesh geometry. More...
 
class  ViewController
 A camera view controller. More...
 
class  Visual
 Represents a visual node in a scene graph. A Visual is the only node that can have Geometry and other Visual children. More...
 

Typedefs

typedef shared_ptr< ArrowVisualArrowVisualPtr
 
typedef shared_ptr< AxisVisualAxisVisualPtr
 
typedef shared_ptr< BaseNodeCompositeStoreBaseNodeCompositeStorePtr
 
typedef shared_ptr< CameraCameraPtr
 
typedef shared_ptr< const ArrowVisualConstArrowVisualPtr
 
typedef shared_ptr< const AxisVisualConstAxisVisualPtr
 
typedef shared_ptr< const CameraConstCameraPtr
 
typedef shared_ptr< const DirectionalLightConstDirectionalLightPtr
 
typedef shared_ptr< const GeometryConstGeometryPtr
 
typedef shared_ptr< const ImageConstImagePtr
 
typedef shared_ptr< const JointVisual > ConstJointVisualPtr
 
typedef shared_ptr< const LightConstLightPtr
 
typedef shared_ptr< const MaterialConstMaterialPtr
 
typedef shared_ptr< const MeshConstMeshPtr
 
typedef shared_ptr< const NodeConstNodePtr
 
typedef shared_ptr< const ObjectFactory > ConstObjectFactoryPtr
 
typedef shared_ptr< const ObjectConstObjectPtr
 
typedef shared_ptr< const PointLightConstPointLightPtr
 
typedef shared_ptr< const RayQueryConstRayQuery
 
typedef shared_ptr< const RenderTargetConstRenderTargetPtr
 
typedef shared_ptr< const RenderTextureConstRenderTexturePtr
 
typedef shared_ptr< const RenderWindowConstRenderWindowPtr
 
typedef shared_ptr< const SceneConstScenePtr
 
typedef shared_ptr< const SensorConstSensorPtr
 
typedef shared_ptr< const SpotLightConstSpotLightPtr
 
typedef shared_ptr< const SubMeshConstSubMeshPtr
 
typedef shared_ptr< const VisualConstVisualPtr
 
typedef shared_ptr< DirectionalLightDirectionalLightPtr
 
typedef shared_ptr< GeometryGeometryPtr
 
typedef Store< GeometryGeometryStore
 
typedef std::shared_ptr< GeometryStoreGeometryStorePtr
 
typedef shared_ptr< GridGridPtr
 
typedef shared_ptr< ImageImagePtr
 
typedef shared_ptr< JointVisual > JointVisualPtr
 
typedef shared_ptr< LightLightPtr
 
typedef Store< LightLightStore
 
typedef std::shared_ptr< LightStoreLightStorePtr
 
typedef Map< MaterialMaterialMap
 
typedef std::shared_ptr< MaterialMapMaterialMapPtr
 
typedef shared_ptr< MaterialMaterialPtr
 
typedef shared_ptr< MeshMeshPtr
 
typedef CompositeStore< NodeNodeCompositeStore
 
typedef std::shared_ptr< NodeCompositeStoreNodeCompositeStorePtr
 
typedef shared_ptr< NodeNodePtr
 
typedef Store< NodeNodeStore
 
typedef std::shared_ptr< NodeStoreNodeStorePtr
 
typedef shared_ptr< ObjectFactory > ObjectFactoryPtr
 
typedef shared_ptr< ObjectObjectPtr
 
typedef shared_ptr< OgreArrowVisualOgreArrowVisualPtr
 
typedef shared_ptr< OgreAxisVisualOgreAxisVisualPtr
 
typedef shared_ptr< OgreCameraOgreCameraPtr
 
typedef shared_ptr< OgreDirectionalLightOgreDirectionalLightPtr
 
typedef shared_ptr< OgreGeometryOgreGeometryPtr
 
typedef BaseGeometryStore< OgreGeometryOgreGeometryStore
 
typedef shared_ptr< OgreGeometryStoreOgreGeometryStorePtr
 
typedef shared_ptr< OgreGridOgreGridPtr
 
typedef shared_ptr< OgreJointVisual > OgreJointVisualPtr
 
typedef shared_ptr< OgreLightOgreLightPtr
 
typedef BaseLightStore< OgreLightOgreLightStore
 
typedef shared_ptr< OgreLightStoreOgreLightStorePtr
 
typedef BaseMaterialMap< OgreMaterialOgreMaterialMap
 
typedef shared_ptr< OgreMaterialMapOgreMaterialMapPtr
 
typedef shared_ptr< OgreMaterialOgreMaterialPtr
 
typedef shared_ptr< OgreMeshFactoryOgreMeshFactoryPtr
 
typedef shared_ptr< OgreMeshOgreMeshPtr
 
typedef shared_ptr< OgreNodeOgreNodePtr
 
typedef BaseNodeStore< OgreNodeOgreNodeStore
 
typedef shared_ptr< OgreNodeStoreOgreNodeStorePtr
 
typedef shared_ptr< OgreObjectOgreObjectPtr
 
typedef shared_ptr< OgrePointLightOgrePointLightPtr
 
typedef shared_ptr< OgreRayQueryOgreRayQueryPtr
 
typedef shared_ptr< OgreRenderEngineOgreRenderEnginePtr
 
typedef shared_ptr< OgreRenderTargetOgreRenderTargetPtr
 
typedef shared_ptr< OgreRenderTextureOgreRenderTexturePtr
 
typedef shared_ptr< OgreRenderWindowOgreRenderWindowPtr
 
typedef shared_ptr< OgreSceneOgreScenePtr
 
typedef BaseSceneStore< OgreSceneOgreSceneStore
 
typedef shared_ptr< OgreSceneStoreOgreSceneStorePtr
 
typedef shared_ptr< OgreSensorOgreSensorPtr
 
typedef BaseSensorStore< OgreSensorOgreSensorStore
 
typedef shared_ptr< OgreSensorStoreOgreSensorStorePtr
 
typedef shared_ptr< OgreSpotLightOgreSpotLightPtr
 
typedef shared_ptr< OgreSubMeshOgreSubMeshPtr
 
typedef BaseSubMeshStore< OgreSubMeshOgreSubMeshStore
 
typedef shared_ptr< OgreSubMeshStoreOgreSubMeshStorePtr
 
typedef shared_ptr< OgreVisualOgreVisualPtr
 
typedef BaseVisualStore< OgreVisualOgreVisualStore
 
typedef shared_ptr< OgreVisualStoreOgreVisualStorePtr
 
typedef shared_ptr< PointLightPointLightPtr
 
typedef shared_ptr< RayQueryRayQueryPtr
 
typedef shared_ptr< RenderTargetRenderTargetPtr
 
typedef shared_ptr< RenderTextureRenderTexturePtr
 
typedef shared_ptr< RenderWindowRenderWindowPtr
 
typedef shared_ptr< SceneScenePtr
 
typedef Store< SceneSceneStore
 
typedef std::shared_ptr< SceneStoreSceneStorePtr
 
typedef shared_ptr< SensorSensorPtr
 
typedef Store< SensorSensorStore
 
typedef std::shared_ptr< SensorStoreSensorStorePtr
 
template<class T >
using shared_ptr = std::shared_ptr< T >
 
typedef shared_ptr< SpotLightSpotLightPtr
 
typedef shared_ptr< SubMeshSubMeshPtr
 
typedef Store< SubMeshSubMeshStore
 
typedef std::shared_ptr< SubMeshStoreSubMeshStorePtr
 
typedef shared_ptr< VisualVisualPtr
 
typedef Store< VisualVisualStore
 
typedef std::shared_ptr< VisualStoreVisualStorePtr
 

Enumerations

enum  PixelFormat {
  PF_UNKNOWN = 0, PF_L8 = 1, PF_R8G8B8 = 2, PF_B8G8R8 = 3,
  PF_BAYER_RGGB8 = 4, PF_BAYER_BGGR8 = 5, PF_BAYER_GBGR8 = 6, PF_BAYER_GRGB8 = 7,
  PF_COUNT = 8
}
 
enum  ShaderType {
  ST_UNKNOWN = 0, ST_PIXEL = 1, ST_VERTEX = 2, ST_NORM_OBJ = 3,
  ST_NORM_TAN = 4, ST_COUNT = 5
}
 Available types of shaders. Note that not all rendering-engines will be able to use each type. They will instead default to the closest alternative. More...
 

Functions

RenderEngineengine (const std::string &_name)
 Get the render-engine registered under the given name. If no render-engine is registered under the given name, NULL will be returned. More...
 
RenderEngineengine (const unsigned int _index)
 Get the render-engine registered at the given index. If no render-engine is registered at the given index, NULL will be returned. More...
 
unsigned int engineCount ()
 Get the number of available render-engines. More...
 
bool fini ()
 Destroy all render-engines and related resources. More...
 
bool hasEngine (const std::string &_name)
 Determine if a render-engine is registered under the given name. More...
 
bool init ()
 Initialized shared render-engine features. More...
 
bool load ()
 Load shared render-engine resources. More...
 
void registerEngine (const std::string &_name, RenderEngine *_engine)
 Register a new render-engine under the given name. If the given name is already in use, the render-engine will not be registered. More...
 
void unregisterEngine (const std::string &_name)
 Unregister a render-engine registered under the given name. If the no render-engine is registered under the given name no work will be done. More...
 
void unregisterEngine (RenderEngine *_engine)
 Unregister the given render-engine. If the given render-engine is not currently registered, no work will be done. More...
 
void unregisterEngine (const unsigned int _index)
 Unregister a render-engine at the given index. If the no render-engine is registered at the given index, no work will be done. More...
 

Typedef Documentation

◆ ArrowVisualPtr

◆ AxisVisualPtr

◆ BaseNodeCompositeStorePtr

◆ CameraPtr

◆ ConstArrowVisualPtr

◆ ConstAxisVisualPtr

◆ ConstCameraPtr

◆ ConstDirectionalLightPtr

◆ ConstGeometryPtr

◆ ConstImagePtr

typedef shared_ptr<const Image> ConstImagePtr

◆ ConstJointVisualPtr

typedef shared_ptr<const JointVisual> ConstJointVisualPtr

◆ ConstLightPtr

typedef shared_ptr<const Light> ConstLightPtr

◆ ConstMaterialPtr

◆ ConstMeshPtr

typedef shared_ptr<const Mesh> ConstMeshPtr

◆ ConstNodePtr

typedef shared_ptr<const Node> ConstNodePtr

◆ ConstObjectFactoryPtr

typedef shared_ptr<const ObjectFactory> ConstObjectFactoryPtr

◆ ConstObjectPtr

◆ ConstPointLightPtr

◆ ConstRayQuery

◆ ConstRenderTargetPtr

◆ ConstRenderTexturePtr

◆ ConstRenderWindowPtr

◆ ConstScenePtr

typedef shared_ptr<const Scene> ConstScenePtr

◆ ConstSensorPtr

◆ ConstSpotLightPtr

◆ ConstSubMeshPtr

◆ ConstVisualPtr

◆ DirectionalLightPtr

◆ GeometryPtr

◆ GeometryStore

◆ GeometryStorePtr

◆ GridPtr

◆ ImagePtr

◆ JointVisualPtr

typedef shared_ptr<JointVisual> JointVisualPtr

◆ LightPtr

◆ LightStore

◆ LightStorePtr

◆ MaterialMap

◆ MaterialMapPtr

◆ MaterialPtr

◆ MeshPtr

◆ NodeCompositeStore

◆ NodeCompositeStorePtr

◆ NodePtr

◆ NodeStore

typedef Store<Node> NodeStore

◆ NodeStorePtr

◆ ObjectFactoryPtr

typedef shared_ptr<ObjectFactory> ObjectFactoryPtr

◆ ObjectPtr

◆ OgreArrowVisualPtr

◆ OgreAxisVisualPtr

◆ OgreCameraPtr

◆ OgreDirectionalLightPtr

◆ OgreGeometryPtr

◆ OgreGeometryStore

◆ OgreGeometryStorePtr

◆ OgreGridPtr

◆ OgreJointVisualPtr

typedef shared_ptr<OgreJointVisual> OgreJointVisualPtr

◆ OgreLightPtr

◆ OgreLightStore

◆ OgreLightStorePtr

◆ OgreMaterialMap

◆ OgreMaterialMapPtr

◆ OgreMaterialPtr

◆ OgreMeshFactoryPtr

◆ OgreMeshPtr

◆ OgreNodePtr

◆ OgreNodeStore

◆ OgreNodeStorePtr

◆ OgreObjectPtr

◆ OgrePointLightPtr

◆ OgreRayQueryPtr

◆ OgreRenderEnginePtr

◆ OgreRenderTargetPtr

◆ OgreRenderTexturePtr

◆ OgreRenderWindowPtr

◆ OgreScenePtr

◆ OgreSceneStore

◆ OgreSceneStorePtr

◆ OgreSensorPtr

◆ OgreSensorStore

◆ OgreSensorStorePtr

◆ OgreSpotLightPtr

◆ OgreSubMeshPtr

◆ OgreSubMeshStore

◆ OgreSubMeshStorePtr

◆ OgreVisualPtr

◆ OgreVisualStore

◆ OgreVisualStorePtr

◆ PointLightPtr

◆ RayQueryPtr

◆ RenderTargetPtr

◆ RenderTexturePtr

◆ RenderWindowPtr

◆ ScenePtr

◆ SceneStore

◆ SceneStorePtr

◆ SensorPtr

◆ SensorStore

◆ SensorStorePtr

◆ shared_ptr

◆ SpotLightPtr

◆ SubMeshPtr

◆ SubMeshStore

◆ SubMeshStorePtr

◆ VisualPtr

◆ VisualStore

◆ VisualStorePtr

Enumeration Type Documentation

◆ PixelFormat

Enumerator
PF_UNKNOWN 

< Unknown or errant type

PF_L8 

< Grayscale, 1-byte per channel

PF_R8G8B8 

< RGB, 1-byte per channel

PF_B8G8R8 

< BGR, 1-byte per channel

PF_BAYER_RGGB8 

< Bayer RGGB, 1-byte per channel

PF_BAYER_BGGR8 

< Bayer BGGR, 1-byte per channel

PF_BAYER_GBGR8 

< Bayer GBGR, 1-byte per channel

PF_BAYER_GRGB8 

< Bayer GRGB, 1-byte per channel

PF_COUNT 

< Number of pixel format types

◆ ShaderType

enum ShaderType

Available types of shaders. Note that not all rendering-engines will be able to use each type. They will instead default to the closest alternative.

ShaderType.hh ignition/rendering/ShaderType.hh

Enumerator
ST_UNKNOWN 

Unknown or errant type.

ST_PIXEL 

Shader shader.

ST_VERTEX 

Vertex shader.

ST_NORM_OBJ 

Object-space normal map shader.

ST_NORM_TAN 

Tangent-space normal map shader.

ST_COUNT 

Total number of shader types.

Function Documentation

◆ engine() [1/2]

RenderEngine* ignition::rendering::engine ( const std::string _name)

Get the render-engine registered under the given name. If no render-engine is registered under the given name, NULL will be returned.

Parameters
[in]_nameName of the desired render-engine
Returns
The specified render-engine

◆ engine() [2/2]

RenderEngine* ignition::rendering::engine ( const unsigned int  _index)

Get the render-engine registered at the given index. If no render-engine is registered at the given index, NULL will be returned.

Parameters
[in]_indexIndex of the desired render-engine
Returns
The specified render-engine

◆ engineCount()

unsigned int ignition::rendering::engineCount ( )

Get the number of available render-engines.

Returns
The number of available render-engines

◆ fini()

bool ignition::rendering::fini ( )

Destroy all render-engines and related resources.

Returns
True if successful

◆ hasEngine()

bool ignition::rendering::hasEngine ( const std::string _name)

Determine if a render-engine is registered under the given name.

Parameters
[in]_nameName of the desired render-engine
Returns
True if a render-engine is registered under the given name

◆ init()

bool ignition::rendering::init ( )

Initialized shared render-engine features.

Returns
True if successful

◆ registerEngine()

void ignition::rendering::registerEngine ( const std::string _name,
RenderEngine _engine 
)

Register a new render-engine under the given name. If the given name is already in use, the render-engine will not be registered.

Parameters
[in]_nameName the render-engine will be registered under
[in]_engineRender-engine to be registered

◆ unregisterEngine() [1/3]

void ignition::rendering::unregisterEngine ( const std::string _name)

Unregister a render-engine registered under the given name. If the no render-engine is registered under the given name no work will be done.

Parameters
[in]_nameName of the render-engine to unregister

◆ unregisterEngine() [2/3]

void ignition::rendering::unregisterEngine ( RenderEngine _engine)

Unregister the given render-engine. If the given render-engine is not currently registered, no work will be done.

Parameters
[in]_engineRender-engine to unregister

◆ unregisterEngine() [3/3]

void ignition::rendering::unregisterEngine ( const unsigned int  _index)

Unregister a render-engine at the given index. If the no render-engine is registered at the given index, no work will be done.

Parameters
[in]_indexIndex of the render-engine to unregister