![]() |
RAMSES Documentation
27.0.130
Information for RAMSES users and developers
|
The RenderGroup is a container used to collect renderables which are supposed to be rendered together. Renderables added to it can be ordered within the RenderGroup so that they will be rendered in given order. RenderGroup can then be added to a RenderPass (again with optional order of RenderGroup within the RenderPass) so a hierarchical ordering of renderables can be achieved. The RenderGroup can also contain other nested RenderGroups ordered together with the renderables. If a RenderGroup with nested RenderGroups is added to a RenderPass, all renderables in all nested RenderGroups will be rendered within the RenderPass as well. The order inside a nested RenderGroup is local, i.e. all its renderables/RenderGroups are rendered before the next renderable/RenderGroup of its parent RenderGroup. More...
#include <RenderGroup.h>
Public Member Functions | |
status_t | addMeshNode (const MeshNode &mesh, int32_t orderWithinGroup=0) |
Add a mesh to this RenderGroup. If a mesh is already contained in this RenderGroup only its render order is updated. Mesh can be added to multiple RenderGroup instances. More... | |
status_t | removeMeshNode (const MeshNode &mesh) |
Remove a mesh from this RenderGroup. More... | |
bool | containsMeshNode (const MeshNode &mesh) const |
Checks whether a mesh was added to this RenderGroup. More... | |
status_t | getMeshNodeOrder (const MeshNode &mesh, int32_t &orderWithinGroup) const |
Gets a render order of given MeshNode within this RenderGroup. More... | |
status_t | addRenderGroup (const RenderGroup &renderGroup, int32_t orderWithinGroup=0) |
Add a RenderGroup to this RenderGroup. If a RenderGroup is already contained in this RenderGroup only its render order is updated. RenderGroup can be added to multiple RenderGroup instances. More... | |
status_t | removeRenderGroup (const RenderGroup &renderGroup) |
Remove a RenderGroup from this RenderGroup. More... | |
bool | containsRenderGroup (const RenderGroup &renderGroup) const |
Checks whether a RenderGroup was added to this RenderGroup. More... | |
status_t | getRenderGroupOrder (const RenderGroup &renderGroup, int32_t &orderWithinGroup) const |
Gets a render order of given RenderGroup within this RenderGroup. More... | |
status_t | removeAllRenderables () |
Will remove all renderables from this RenderGroup. Renderables in nested RenderGroups will stay. More... | |
status_t | removeAllRenderGroups () |
Will remove all RenderGroups from this RenderGroup. This is done NON-recursively, i.e. the RenderGroups themselves stay untouched. More... | |
![]() | |
sceneObjectId_t | getSceneObjectId () const |
Returns scene object id which is automatically assigned at creation time of object and is unique within scope of one scene. More... | |
sceneId_t | getSceneId () const |
Returns sceneid to which this object belongs to. More... | |
![]() | |
const char * | getName () const |
Returns the name of the object. More... | |
status_t | setName (const char *name) |
Changes the name of the object. More... | |
ERamsesObjectType | getType () const |
Gets type of the object. More... | |
bool | isOfType (ERamsesObjectType type) const |
Checks if the object is of given type. More... | |
![]() | |
status_t | validate () const |
Generates verbose validation of the object. More... | |
const char * | getValidationReport (EValidationSeverity minSeverity=EValidationSeverity_Info) const |
Provides verbose report in human readable form generated by validate. More... | |
const char * | getStatusMessage (status_t status) const |
Get the string description for a status provided by a RAMSES API function. More... | |
StatusObject (const StatusObject &other)=delete | |
Deleted copy constructor. More... | |
StatusObject & | operator= (const StatusObject &other)=delete |
Deleted copy assignment. More... | |
Public Attributes | |
class RenderGroupImpl & | impl |
![]() | |
class SceneObjectImpl & | impl |
![]() | |
class ClientObjectImpl & | impl |
![]() | |
class RamsesObjectImpl & | impl |
![]() | |
class StatusObjectImpl & | impl |
Protected Member Functions | |
RenderGroup (RenderGroupImpl &pimpl) | |
Constructor for RenderGroup. More... | |
virtual | ~RenderGroup () |
Destructor of the RenderGroup. More... | |
![]() | |
SceneObject (SceneObjectImpl &pimpl) | |
Constructor for SceneObject. More... | |
virtual | ~SceneObject () |
Destructor of the SceneObject. More... | |
![]() | |
ClientObject (ClientObjectImpl &pimpl) | |
Constructor for ClientObject. More... | |
virtual | ~ClientObject () |
Destructor of the ClientObject. More... | |
![]() | |
RamsesObject (RamsesObjectImpl &pimpl) | |
Constructor for RamsesObject. More... | |
virtual | ~RamsesObject () |
Destructor of the RamsesObject. More... | |
![]() | |
StatusObject (StatusObjectImpl &pimpl) | |
Constructor for StatusObject. More... | |
virtual | ~StatusObject () |
Destructor of the StatusObject. More... | |
Friends | |
class | SceneImpl |
Scene is the factory for creating RenderGroup instances. More... | |
The RenderGroup is a container used to collect renderables which are supposed to be rendered together. Renderables added to it can be ordered within the RenderGroup so that they will be rendered in given order. RenderGroup can then be added to a RenderPass (again with optional order of RenderGroup within the RenderPass) so a hierarchical ordering of renderables can be achieved. The RenderGroup can also contain other nested RenderGroups ordered together with the renderables. If a RenderGroup with nested RenderGroups is added to a RenderPass, all renderables in all nested RenderGroups will be rendered within the RenderPass as well. The order inside a nested RenderGroup is local, i.e. all its renderables/RenderGroups are rendered before the next renderable/RenderGroup of its parent RenderGroup.
|
explicitprotected |
Constructor for RenderGroup.
[in] | pimpl | Internal data for implementation specifics of RenderGroup (sink - instance becomes owner) |
|
protectedvirtual |
Destructor of the RenderGroup.
Add a mesh to this RenderGroup. If a mesh is already contained in this RenderGroup only its render order is updated. Mesh can be added to multiple RenderGroup instances.
[in] | mesh | The mesh to add to this RenderGroup. |
[in] | orderWithinGroup | Order within the RenderGroup that will be used for rendering. Mesh with lower number will be rendered before a mesh with higher number. |
status_t ramses::RenderGroup::addRenderGroup | ( | const RenderGroup & | renderGroup, |
int32_t | orderWithinGroup = 0 |
||
) |
Add a RenderGroup to this RenderGroup. If a RenderGroup is already contained in this RenderGroup only its render order is updated. RenderGroup can be added to multiple RenderGroup instances.
[in] | renderGroup | The RenderGroup to add to this RenderGroup. |
[in] | orderWithinGroup | Order within the RenderGroup that will be used for rendering. RenderGroup with lower number will be rendered before a RenderGroup with higher number. |
bool ramses::RenderGroup::containsMeshNode | ( | const MeshNode & | mesh | ) | const |
Checks whether a mesh was added to this RenderGroup.
[in] | mesh | The mesh to query |
true
if the mesh is contained in this RenderGroup false
otherwise bool ramses::RenderGroup::containsRenderGroup | ( | const RenderGroup & | renderGroup | ) | const |
Checks whether a RenderGroup was added to this RenderGroup.
[in] | renderGroup | The RenderGroup to query |
true
if the RenderGroup is contained in this RenderGroup false
otherwise status_t ramses::RenderGroup::getMeshNodeOrder | ( | const MeshNode & | mesh, |
int32_t & | orderWithinGroup | ||
) | const |
Gets a render order of given MeshNode within this RenderGroup.
[in] | mesh | The MeshNode to query order for |
[out] | orderWithinGroup | Order of the MeshNode within this RenderGroup |
status_t ramses::RenderGroup::getRenderGroupOrder | ( | const RenderGroup & | renderGroup, |
int32_t & | orderWithinGroup | ||
) | const |
Gets a render order of given RenderGroup within this RenderGroup.
[in] | renderGroup | The RenderGroup to query order for |
[out] | orderWithinGroup | Order of the RenderGroup within this RenderGroup |
status_t ramses::RenderGroup::removeAllRenderables | ( | ) |
Will remove all renderables from this RenderGroup. Renderables in nested RenderGroups will stay.
status_t ramses::RenderGroup::removeAllRenderGroups | ( | ) |
Will remove all RenderGroups from this RenderGroup. This is done NON-recursively, i.e. the RenderGroups themselves stay untouched.
Remove a mesh from this RenderGroup.
[in] | mesh | The mesh to remove from this RenderGroup. |
status_t ramses::RenderGroup::removeRenderGroup | ( | const RenderGroup & | renderGroup | ) |
Remove a RenderGroup from this RenderGroup.
[in] | renderGroup | The RenderGroup to remove from this RenderGroup. |
|
friend |
Scene is the factory for creating RenderGroup instances.
class RenderGroupImpl& ramses::RenderGroup::impl |
Stores internal data for implementation specifics of RenderGroup.