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

An effect description holds all necessary information for an effect to be created. More...

#include <EffectDescription.h>

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

Public Member Functions

 EffectDescription ()
 Constructor of EffectDescription. More...
 
status_t setVertexShader (const char *shaderSource)
 Sets vertex shader source from string. More...
 
status_t setFragmentShader (const char *shaderSource)
 Sets fragment shader source from string. More...
 
status_t setGeometryShader (const char *shaderSource)
 Sets geometry shader source from string. More...
 
status_t setVertexShaderFromFile (const char *shaderSourceFileName)
 Reads and sets vertex shader source from file. More...
 
status_t setFragmentShaderFromFile (const char *shaderSourceFileName)
 Reads and sets fragment shader source from file. More...
 
status_t setGeometryShaderFromFile (const char *shaderSourceFileName)
 Reads and sets geometry shader source from file. More...
 
status_t addCompilerDefine (const char *define)
 Adds a compiler define. The define string will be injected as defined into the final shader code. More...
 
status_t setUniformSemantic (const char *inputName, EEffectUniformSemantic semanticType)
 Sets an uniform semantic. Used for uniforms which are not locally available on the client, such as projection matrix, framebuffer resolution etc. Value of an uniform corresponding to the given semantic name will be automatically set based on its semantic type. More...
 
status_t setAttributeSemantic (const char *inputName, EEffectAttributeSemantic semanticType)
 Sets an attribute semantic. Used to mark attributes as special inputs (eg. text specific inputs). These attributes are then set to use data provided by Ramses, not user. More...
 
const char * getVertexShader () const
 Gets vertex shader code. More...
 
const char * getFragmentShader () const
 Gets fragment shader code that is currently set. More...
 
const char * getGeometryShader () const
 Gets geometry shader code that is currently set. More...
 
uint32_t getNumberOfCompilerDefines () const
 Gets number of compiler defines. More...
 
const char * getCompilerDefine (uint32_t index) const
 Gets compiler define. 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 EffectDescriptionImpl & impl
 Stores internal data for implementation specifics of EffectDescription. More...
 
- Public Attributes inherited from ramses::StatusObject
class StatusObjectImpl & impl
 

Friends

class RamsesClientImpl
 RamsesClientImpl needs access to internals of EffectDescription. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ramses::StatusObject
 StatusObject (StatusObjectImpl &pimpl)
 Constructor for StatusObject. More...
 
virtual ~StatusObject ()
 Destructor of the StatusObject. More...
 

Detailed Description

An effect description holds all necessary information for an effect to be created.

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, ramses-example-renderonce/src/main.cpp, ramses-example-text-basic/src/main.cpp, and ramses-example-text-languages/src/main.cpp.

Constructor & Destructor Documentation

◆ EffectDescription()

ramses::EffectDescription::EffectDescription ( )

Constructor of EffectDescription.

Member Function Documentation

◆ addCompilerDefine()

status_t ramses::EffectDescription::addCompilerDefine ( const char *  define)

Adds a compiler define. The define string will be injected as defined into the final shader code.

Parameters
[in]defineDefinition name to be set at compilation time.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().

◆ getCompilerDefine()

const char* ramses::EffectDescription::getCompilerDefine ( uint32_t  index) const

Gets compiler define.

Parameters
[in]indexIndex of define to retrieve.
Returns
Compiler define for given index. nullptr if not previously set.

◆ getFragmentShader()

const char* ramses::EffectDescription::getFragmentShader ( ) const

Gets fragment shader code that is currently set.

Returns
Fragment shader source code. Empty string if not previously set.

◆ getGeometryShader()

const char* ramses::EffectDescription::getGeometryShader ( ) const

Gets geometry shader code that is currently set.

Returns
Geometry shader source code. Empty string if not previously set.

◆ getNumberOfCompilerDefines()

uint32_t ramses::EffectDescription::getNumberOfCompilerDefines ( ) const

Gets number of compiler defines.

Returns
Number of compiler defines that were previously added.

◆ getVertexShader()

const char* ramses::EffectDescription::getVertexShader ( ) const

Gets vertex shader code.

Returns
Vertex shader source code. Empty string if not previously set.

◆ setAttributeSemantic()

status_t ramses::EffectDescription::setAttributeSemantic ( const char *  inputName,
EEffectAttributeSemantic  semanticType 
)

Sets an attribute semantic. Used to mark attributes as special inputs (eg. text specific inputs). These attributes are then set to use data provided by Ramses, not user.

Parameters
[in]inputNameName of the effect input as used in the shader source code.
[in]semanticTypeSemantic type to be used for given input.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().
Examples
ramses-example-text-basic/src/main.cpp, and ramses-example-text-languages/src/main.cpp.

◆ setFragmentShader()

status_t ramses::EffectDescription::setFragmentShader ( const char *  shaderSource)

Sets fragment shader source from string.

Parameters
[in]shaderSourceFragment shader source code.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().
Examples
ramses-example-local-client-dcsm/src/main.cpp, ramses-example-local-dma-offscreenbuffer/src/main.cpp, and ramses-example-local-scene-referencing/src/main.cpp.

◆ setFragmentShaderFromFile()

status_t ramses::EffectDescription::setFragmentShaderFromFile ( const char *  shaderSourceFileName)

Reads and sets fragment shader source from file.

Parameters
[in]shaderSourceFileNameFile with fragment shader source code.
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/src/main.cpp, ramses-example-local-datalink/src/main.cpp, ramses-example-local-displays/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-viewport-link/src/main.cpp, ramses-example-renderonce/src/main.cpp, ramses-example-text-basic/src/main.cpp, and ramses-example-text-languages/src/main.cpp.

◆ setGeometryShader()

status_t ramses::EffectDescription::setGeometryShader ( const char *  shaderSource)

Sets geometry shader source from string.

Parameters
[in]shaderSourceGeometry shader source code.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().

◆ setGeometryShaderFromFile()

status_t ramses::EffectDescription::setGeometryShaderFromFile ( const char *  shaderSourceFileName)

Reads and sets geometry shader source from file.

Parameters
[in]shaderSourceFileNameFile with geometry shader source code.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().
Examples
ramses-example-local-geometry-shaders/src/main.cpp.

◆ setUniformSemantic()

status_t ramses::EffectDescription::setUniformSemantic ( const char *  inputName,
EEffectUniformSemantic  semanticType 
)

Sets an uniform semantic. Used for uniforms which are not locally available on the client, such as projection matrix, framebuffer resolution etc. Value of an uniform corresponding to the given semantic name will be automatically set based on its semantic type.

Parameters
[in]inputNameName of the effect input as used in the shader source code.
[in]semanticTypeSemantic type to be used for given input.
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-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, ramses-example-renderonce/src/main.cpp, ramses-example-text-basic/src/main.cpp, and ramses-example-text-languages/src/main.cpp.

◆ setVertexShader()

status_t ramses::EffectDescription::setVertexShader ( const char *  shaderSource)

Sets vertex shader source from string.

Parameters
[in]shaderSourceVertex shader source code.
Returns
StatusOK for success, otherwise the returned status can be used to resolve error message using getStatusMessage().
Examples
ramses-example-local-client-dcsm/src/main.cpp, ramses-example-local-dma-offscreenbuffer/src/main.cpp, and ramses-example-local-scene-referencing/src/main.cpp.

◆ setVertexShaderFromFile()

status_t ramses::EffectDescription::setVertexShaderFromFile ( const char *  shaderSourceFileName)

Reads and sets vertex shader source from file.

Parameters
[in]shaderSourceFileNameFile with vertex shader source code.
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/src/main.cpp, ramses-example-local-datalink/src/main.cpp, ramses-example-local-displays/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-viewport-link/src/main.cpp, ramses-example-renderonce/src/main.cpp, ramses-example-text-basic/src/main.cpp, and ramses-example-text-languages/src/main.cpp.

Friends And Related Function Documentation

◆ RamsesClientImpl

friend class RamsesClientImpl
friend

RamsesClientImpl needs access to internals of EffectDescription.

Member Data Documentation

◆ impl

class EffectDescriptionImpl& ramses::EffectDescription::impl

Stores internal data for implementation specifics of EffectDescription.


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