RAMSES Documentation  27.0.130
Information for RAMSES users and developers
Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
ramses::GeometryBinding Class Reference

A geometry binding together with an appearance describe how an object will be rendered to the screen. More...

#include <GeometryBinding.h>

Inheritance diagram for ramses::GeometryBinding:
[legend]
Collaboration diagram for ramses::GeometryBinding:
[legend]

Public Member Functions

status_t setIndices (const ArrayResource &indicesResource)
 Assign a data array with data type UInt16 or UInt32 to be used when accessing vertex data. More...
 
status_t setIndices (const ArrayBuffer &arrayBuffer)
 Assign indices (using index data buffer) to be used when accessing vertex data. More...
 
status_t setInputBuffer (const AttributeInput &attributeInput, const ArrayResource &arrayResource, uint32_t instancingDivisor=0)
 Assign a data array resource to a given effect attribute input. More...
 
status_t setInputBuffer (const AttributeInput &attributeInput, const ArrayResource &arrayResource, uint16_t offset, uint16_t stride)
 Assign a data array resource to a given effect attribute input with offset and stride. More...
 
status_t setInputBuffer (const AttributeInput &attributeInput, const ArrayBuffer &arrayBuffer, uint32_t instancingDivisor=0)
 Assign a vertex attribute buffer to a given effect attribute input. More...
 
status_t setInputBuffer (const AttributeInput &attributeInput, const ArrayBuffer &arrayBuffer, uint16_t offset, uint16_t stride)
 Assign vertex attribute buffer with offset and stride. More...
 
const EffectgetEffect () const
 Gets the effect used to create this geometry binding. More...
 
- Public Member Functions inherited from ramses::SceneObject
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...
 
- Public Member Functions inherited from ramses::RamsesObject
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...
 
- Public Member Functions inherited from ramses::StatusObject
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...
 
StatusObjectoperator= (const StatusObject &other)=delete
 Deleted copy assignment. More...
 

Public Attributes

class GeometryBindingImpl & impl
 Stores internal data for implementation specifics of GeometryBinding. More...
 
- Public Attributes inherited from ramses::SceneObject
class SceneObjectImpl & impl
 
- Public Attributes inherited from ramses::ClientObject
class ClientObjectImpl & impl
 
- Public Attributes inherited from ramses::RamsesObject
class RamsesObjectImpl & impl
 
- Public Attributes inherited from ramses::StatusObject
class StatusObjectImpl & impl
 

Protected Member Functions

 GeometryBinding (GeometryBindingImpl &pimpl)
 Constructor of GeometryBinding. More...
 
 GeometryBinding (const GeometryBinding &other)
 Copy constructor of GeometryBinding. More...
 
GeometryBindingoperator= (const GeometryBinding &other)
 Assignment operator of GeometryBinding. More...
 
virtual ~GeometryBinding ()
 Destructor of the GeometryBinding. More...
 
- Protected Member Functions inherited from ramses::SceneObject
 SceneObject (SceneObjectImpl &pimpl)
 Constructor for SceneObject. More...
 
virtual ~SceneObject ()
 Destructor of the SceneObject. More...
 
- Protected Member Functions inherited from ramses::ClientObject
 ClientObject (ClientObjectImpl &pimpl)
 Constructor for ClientObject. More...
 
virtual ~ClientObject ()
 Destructor of the ClientObject. More...
 
- Protected Member Functions inherited from ramses::RamsesObject
 RamsesObject (RamsesObjectImpl &pimpl)
 Constructor for RamsesObject. More...
 
virtual ~RamsesObject ()
 Destructor of the RamsesObject. More...
 
- Protected Member Functions inherited from ramses::StatusObject
 StatusObject (StatusObjectImpl &pimpl)
 Constructor for StatusObject. More...
 
virtual ~StatusObject ()
 Destructor of the StatusObject. More...
 

Friends

class SceneImpl
 Scene is the factory for creating GeometryBinding instances. More...
 

Detailed Description

A geometry binding together with an appearance describe how an object will be rendered to the screen.

Examples
ramses-example-basic-animation-realtime/src/main.cpp, ramses-example-basic-animation/src/main.cpp, ramses-example-basic-blending/src/main.cpp, ramses-example-basic-compositing/src/main.cpp, ramses-example-basic-effect-from-glsl/src/main.cpp, ramses-example-basic-file-loading/src/main.cpp, ramses-example-basic-geometry/src/main.cpp, ramses-example-basic-rendergroups/src/main.cpp, ramses-example-basic-renderpasses/src/main.cpp, ramses-example-basic-rendertarget/src/main.cpp, ramses-example-basic-scenegraph/src/main.cpp, ramses-example-basic-texturing/src/main.cpp, ramses-example-data-buffers-texture/src/main.cpp, ramses-example-data-buffers-vertices/src/main.cpp, ramses-example-dcsm-provider/src/main.cpp, ramses-example-geometry-instancing/src/main.cpp, ramses-example-interleaved-vertex-buffers/src/main.cpp, ramses-example-local-client-dcsm/src/main.cpp, ramses-example-local-client/src/main.cpp, ramses-example-local-datalink/src/main.cpp, ramses-example-local-displays/src/main.cpp, ramses-example-local-dma-offscreenbuffer/src/main.cpp, ramses-example-local-geometry-shaders/src/main.cpp, ramses-example-local-offscreenbuffer/src/main.cpp, ramses-example-local-pick-handling/src/main.cpp, ramses-example-local-scene-referencing/src/main.cpp, ramses-example-local-viewport-link/src/main.cpp, and ramses-example-renderonce/src/main.cpp.

Constructor & Destructor Documentation

◆ GeometryBinding() [1/2]

ramses::GeometryBinding::GeometryBinding ( GeometryBindingImpl &  pimpl)
explicitprotected

Constructor of GeometryBinding.

Parameters
[in]pimplInternal data for implementation specifics of GeometryBinding (sink - instance becomes owner)

◆ GeometryBinding() [2/2]

ramses::GeometryBinding::GeometryBinding ( const GeometryBinding other)
protected

Copy constructor of GeometryBinding.

Parameters
[in]otherOther instance of GeometryBinding class

◆ ~GeometryBinding()

virtual ramses::GeometryBinding::~GeometryBinding ( )
protectedvirtual

Destructor of the GeometryBinding.

Member Function Documentation

◆ getEffect()

const Effect& ramses::GeometryBinding::getEffect ( ) const

Gets the effect used to create this geometry binding.

Returns
The effect used to create the geometry binding.

◆ operator=()

GeometryBinding& ramses::GeometryBinding::operator= ( const GeometryBinding other)
protected

Assignment operator of GeometryBinding.

Parameters
[in]otherOther instance of GeometryBinding class
Returns
This instance after assignment

◆ setIndices() [1/2]

status_t ramses::GeometryBinding::setIndices ( const ArrayBuffer arrayBuffer)

Assign indices (using index data buffer) to be used when accessing vertex data.

Indices are optional, when not provided rendering uses sequential attribute elements.

Parameters
[in]arrayBufferIndices data buffer.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().

◆ setIndices() [2/2]

status_t ramses::GeometryBinding::setIndices ( const ArrayResource indicesResource)

Assign a data array with data type UInt16 or UInt32 to be used when accessing vertex data.

Indices are optional, when not provided rendering uses sequential attribute elements.

Parameters
[in]indicesResourceAn array resource carrying indices data.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().
Examples
ramses-example-basic-animation-realtime/src/main.cpp, ramses-example-basic-animation/src/main.cpp, ramses-example-basic-blending/src/main.cpp, ramses-example-basic-compositing/src/main.cpp, ramses-example-basic-effect-from-glsl/src/main.cpp, ramses-example-basic-file-loading/src/main.cpp, ramses-example-basic-rendergroups/src/main.cpp, ramses-example-basic-renderpasses/src/main.cpp, ramses-example-basic-rendertarget/src/main.cpp, ramses-example-basic-scenegraph/src/main.cpp, ramses-example-basic-texturing/src/main.cpp, ramses-example-data-buffers-texture/src/main.cpp, ramses-example-data-buffers-vertices/src/main.cpp, ramses-example-dcsm-provider/src/main.cpp, ramses-example-geometry-instancing/src/main.cpp, ramses-example-local-client-dcsm/src/main.cpp, ramses-example-local-client/src/main.cpp, ramses-example-local-datalink/src/main.cpp, ramses-example-local-displays/src/main.cpp, ramses-example-local-dma-offscreenbuffer/src/main.cpp, ramses-example-local-geometry-shaders/src/main.cpp, ramses-example-local-offscreenbuffer/src/main.cpp, ramses-example-local-pick-handling/src/main.cpp, ramses-example-local-scene-referencing/src/main.cpp, ramses-example-local-viewport-link/src/main.cpp, and ramses-example-renderonce/src/main.cpp.

◆ setInputBuffer() [1/4]

status_t ramses::GeometryBinding::setInputBuffer ( const AttributeInput attributeInput,
const ArrayBuffer arrayBuffer,
uint16_t  offset,
uint16_t  stride 
)

Assign vertex attribute buffer with offset and stride.

Custom offset and/or stride can be only used with array buffers of data type ramses::EDataType::ByteBlob.

Parameters
[in]attributeInputThe effect attribute input to set the buffer to
[in]arrayBufferThe vertex attribute buffer.
[in]offsetOffset in bytes for where the attribute data is starting within the data blob.
[in]strideStride of the interleaved vertex attribute.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().

◆ setInputBuffer() [2/4]

status_t ramses::GeometryBinding::setInputBuffer ( const AttributeInput attributeInput,
const ArrayBuffer arrayBuffer,
uint32_t  instancingDivisor = 0 
)

Assign a vertex attribute buffer to a given effect attribute input.

Parameters
[in]attributeInputThe effect attribute input to set the buffer to
[in]arrayBufferThe vertex attribute buffer.
[in]instancingDivisorThe vertex attribute divisor used during instanced rendering. Default is 0, which means no instancing.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().

◆ setInputBuffer() [3/4]

status_t ramses::GeometryBinding::setInputBuffer ( const AttributeInput attributeInput,
const ArrayResource arrayResource,
uint16_t  offset,
uint16_t  stride 
)

Assign a data array resource to a given effect attribute input with offset and stride.

Custom offset and/or stride can be only used with array buffers of data type ramses::EDataType::ByteBlob.

Parameters
[in]attributeInputThe effect attribute input to set the buffer to
[in]arrayResourceThe vertex attribute buffer.
[in]offsetOffset in bytes for where the attribute data is starting within the data blob.
[in]strideStride of the interleaved vertex attribute.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().

◆ setInputBuffer() [4/4]

status_t ramses::GeometryBinding::setInputBuffer ( const AttributeInput attributeInput,
const ArrayResource arrayResource,
uint32_t  instancingDivisor = 0 
)

Assign a data array resource to a given effect attribute input.

Parameters
[in]attributeInputThe effect attribute input to set the buffer to
[in]arrayResourceAn array resource carrying vertex data.
[in]instancingDivisorThe vertex attribute divisor used during instanced rendering. Default is 0, which means no instancing.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().
Examples
ramses-example-basic-animation-realtime/src/main.cpp, ramses-example-basic-animation/src/main.cpp, ramses-example-basic-blending/src/main.cpp, ramses-example-basic-compositing/src/main.cpp, ramses-example-basic-effect-from-glsl/src/main.cpp, ramses-example-basic-file-loading/src/main.cpp, ramses-example-basic-geometry/src/main.cpp, ramses-example-basic-rendergroups/src/main.cpp, ramses-example-basic-renderpasses/src/main.cpp, ramses-example-basic-rendertarget/src/main.cpp, ramses-example-basic-scenegraph/src/main.cpp, ramses-example-basic-texturing/src/main.cpp, ramses-example-data-buffers-texture/src/main.cpp, ramses-example-data-buffers-vertices/src/main.cpp, ramses-example-dcsm-provider/src/main.cpp, ramses-example-geometry-instancing/src/main.cpp, ramses-example-interleaved-vertex-buffers/src/main.cpp, ramses-example-local-client-dcsm/src/main.cpp, ramses-example-local-client/src/main.cpp, ramses-example-local-datalink/src/main.cpp, ramses-example-local-displays/src/main.cpp, ramses-example-local-dma-offscreenbuffer/src/main.cpp, ramses-example-local-geometry-shaders/src/main.cpp, ramses-example-local-offscreenbuffer/src/main.cpp, ramses-example-local-pick-handling/src/main.cpp, ramses-example-local-scene-referencing/src/main.cpp, ramses-example-local-viewport-link/src/main.cpp, and ramses-example-renderonce/src/main.cpp.

Friends And Related Function Documentation

◆ SceneImpl

friend class SceneImpl
friend

Scene is the factory for creating GeometryBinding instances.

Member Data Documentation

◆ impl

class GeometryBindingImpl& ramses::GeometryBinding::impl

Stores internal data for implementation specifics of GeometryBinding.


The documentation for this class was generated from the following file: