All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
kanzi::GlRenderState Class Reference

OpenGL render state. More...

#include <kanzi/rendering/gl_render_state.hpp>

Public Member Functions

 GlRenderState ()
 Empty constructor. More...
 
int acquireUniformLocation (string_view name) const
 Acquire uniform location based on data in this container. More...
 
int acquireUniformLocation (AbstractPropertyType propertyType) const
 Acquire uniform location wrapper. More...
 
void bind (const Renderer3D &renderer)
 Apply the render state and be ready for rendering. More...
 
void attach (MaterialSharedPtr material)
 Attach to a certain material/node combination. More...
 
void applyTextureProperty (Renderer *renderer, Texture *texture, int textureUniformLocation)
 Apply a texture property. More...
 
void reattach ()
 Reattach already-attached material. More...
 
MaterialgetMaterial () const
 Access material. More...
 
void setValue (size_t handle, bool value)
 Set non-property rendering value. More...
 
void setValue (GraphicsBlendMode value)
 Set non-property rendering value. More...
 
void setValue (size_t handle, int value)
 Set non-property rendering value. More...
 
void setValue (size_t handle, float value)
 Set non-property rendering value. More...
 
void setValue (size_t handle, KzcColorRGBA value)
 Set non-property rendering value. More...
 
void setValue (size_t handle, KzcVector2 value)
 Set non-property rendering value. More...
 
void setValue (size_t handle, KzcVector3 value)
 Set non-property rendering value. More...
 
void setValue (size_t handle, KzcVector4 value)
 Set non-property rendering value. More...
 
void setValue (size_t handle, KzcMatrix3x3 value)
 Set non-property rendering value. More...
 
void setValue (size_t handle, KzcMatrix4x4 value)
 Set non-property rendering value. More...
 
void setValue (size_t handle, TextureSharedPtr value)
 Set non-property rendering value. More...
 
template<typename T >
size_t getHandle (string_view name)
 Acquire handle for given type. More...
 
template<typename T >
bool isValid (size_t handle)
 Tell if handle is valid. More...
 
template<>
size_t KANZI_API getHandle (string_view name)
 
template<>
size_t KANZI_API getHandle (string_view name)
 
template<>
size_t KANZI_API getHandle (string_view name)
 
template<>
size_t KANZI_API getHandle (string_view name)
 
template<>
size_t KANZI_API getHandle (string_view name)
 
template<>
size_t KANZI_API getHandle (string_view name)
 
template<>
size_t KANZI_API getHandle (string_view name)
 
template<>
size_t KANZI_API getHandle (string_view name)
 
template<>
size_t KANZI_API getHandle (string_view name)
 
template<>
size_t KANZI_API getHandle (string_view name)
 
template<>
bool KANZI_API isValid (size_t handle)
 
template<>
bool KANZI_API isValid (size_t handle)
 
template<>
bool KANZI_API isValid (size_t handle)
 
template<>
bool KANZI_API isValid (size_t handle)
 
template<>
bool KANZI_API isValid (size_t handle)
 
template<>
bool KANZI_API isValid (size_t handle)
 
template<>
bool KANZI_API isValid (size_t handle)
 
template<>
bool KANZI_API isValid (size_t handle)
 
template<>
bool KANZI_API isValid (size_t handle)
 
template<>
bool KANZI_API isValid (size_t handle)
 

Protected Member Functions

template<typename T >
void reattachValueContainer (T &container)
 Reattach single value container. More...
 

Detailed Description

OpenGL render state.

Constructor & Destructor Documentation

kanzi::GlRenderState::GlRenderState ( )
inlineexplicit

Empty constructor.

Member Function Documentation

int kanzi::GlRenderState::acquireUniformLocation ( string_view  name) const

Acquire uniform location based on data in this container.

Parameters
nameName to query.
Returns
Uniform location integer.
int kanzi::GlRenderState::acquireUniformLocation ( AbstractPropertyType  propertyType) const
inline

Acquire uniform location wrapper.

Parameters
propertyTypeProperty type to query.
Returns
Uniform location integer.
void kanzi::GlRenderState::bind ( const Renderer3D renderer)

Apply the render state and be ready for rendering.

Parameters
rendererRenderer to use.
void kanzi::GlRenderState::attach ( MaterialSharedPtr  material)

Attach to a certain material/node combination.

Parameters
materialMaterial to attach to.
void kanzi::GlRenderState::applyTextureProperty ( Renderer renderer,
Texture texture,
int  textureUniformLocation 
)

Apply a texture property.

Will use render state internal state information.

Parameters
rendererRenderer to use.
textureTexture to apply.
textureUniformLocationLocation of texture uniform.
void kanzi::GlRenderState::reattach ( )

Reattach already-attached material.

Does nothing if no material attached.

Material* kanzi::GlRenderState::getMaterial ( ) const
inline

Access material.

Returns
Pointer to material.
void kanzi::GlRenderState::setValue ( size_t  handle,
bool  value 
)
inline

Set non-property rendering value.

Parameters
handleName.
valueValue.
Returns
Handle.
void kanzi::GlRenderState::setValue ( GraphicsBlendMode  value)
inline

Set non-property rendering value.

Parameters
valueValue.
void kanzi::GlRenderState::setValue ( size_t  handle,
int  value 
)
inline

Set non-property rendering value.

Parameters
handleName.
valueValue.
Returns
Handle.
void kanzi::GlRenderState::setValue ( size_t  handle,
float  value 
)
inline

Set non-property rendering value.

Parameters
handleName.
valueValue.
Returns
Handle.
void kanzi::GlRenderState::setValue ( size_t  handle,
KzcColorRGBA  value 
)
inline

Set non-property rendering value.

Parameters
handleName.
valueValue.
Returns
Handle.
void kanzi::GlRenderState::setValue ( size_t  handle,
KzcVector2  value 
)
inline

Set non-property rendering value.

Parameters
handleName.
valueValue.
Returns
Handle.
void kanzi::GlRenderState::setValue ( size_t  handle,
KzcVector3  value 
)
inline

Set non-property rendering value.

Parameters
handleName.
valueValue.
Returns
Handle.
void kanzi::GlRenderState::setValue ( size_t  handle,
KzcVector4  value 
)
inline

Set non-property rendering value.

Parameters
handleName.
valueValue.
Returns
Handle.
void kanzi::GlRenderState::setValue ( size_t  handle,
KzcMatrix3x3  value 
)
inline

Set non-property rendering value.

Parameters
handleName.
valueValue.
Returns
Handle.
void kanzi::GlRenderState::setValue ( size_t  handle,
KzcMatrix4x4  value 
)
inline

Set non-property rendering value.

Parameters
handleName.
valueValue.
Returns
Handle.
void kanzi::GlRenderState::setValue ( size_t  handle,
TextureSharedPtr  value 
)
inline

Set non-property rendering value.

Parameters
handleName.
valueValue.
Returns
Handle.
template<typename T >
size_t kanzi::GlRenderState::getHandle ( string_view  name)

Acquire handle for given type.

Parameters
nameName to get handle to.
Returns
Handle.
template<typename T >
bool kanzi::GlRenderState::isValid ( size_t  handle)

Tell if handle is valid.

Not all handles link to valid uniform locations, the uniform ID may be invalid.

Parameters
handleHandle to check.
Returns
True if valid, false if not.
template<typename T >
void kanzi::GlRenderState::reattachValueContainer ( T &  container)
inlineprotected

Reattach single value container.

Parameters
containerContainer to iterate.
template<>
size_t KANZI_API kanzi::GlRenderState::getHandle ( string_view  name)
template<>
size_t KANZI_API kanzi::GlRenderState::getHandle ( string_view  name)
template<>
size_t KANZI_API kanzi::GlRenderState::getHandle ( string_view  name)
template<>
size_t KANZI_API kanzi::GlRenderState::getHandle ( string_view  name)
template<>
size_t KANZI_API kanzi::GlRenderState::getHandle ( string_view  name)
template<>
size_t KANZI_API kanzi::GlRenderState::getHandle ( string_view  name)
template<>
size_t KANZI_API kanzi::GlRenderState::getHandle ( string_view  name)
template<>
size_t KANZI_API kanzi::GlRenderState::getHandle ( string_view  name)
template<>
size_t KANZI_API kanzi::GlRenderState::getHandle ( string_view  name)
template<>
size_t KANZI_API kanzi::GlRenderState::getHandle ( string_view  name)
template<>
bool KANZI_API kanzi::GlRenderState::isValid ( size_t  handle)
template<>
bool KANZI_API kanzi::GlRenderState::isValid ( size_t  handle)
template<>
bool KANZI_API kanzi::GlRenderState::isValid ( size_t  handle)
template<>
bool KANZI_API kanzi::GlRenderState::isValid ( size_t  handle)
template<>
bool KANZI_API kanzi::GlRenderState::isValid ( size_t  handle)
template<>
bool KANZI_API kanzi::GlRenderState::isValid ( size_t  handle)
template<>
bool KANZI_API kanzi::GlRenderState::isValid ( size_t  handle)
template<>
bool KANZI_API kanzi::GlRenderState::isValid ( size_t  handle)
template<>
bool KANZI_API kanzi::GlRenderState::isValid ( size_t  handle)
template<>
bool KANZI_API kanzi::GlRenderState::isValid ( size_t  handle)

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