# Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics

[Home] [Tutorials] [All Classes] [Grouped Classes]

Public Member Functions | Protected Attributes

# vl::RenderStateSet Class Reference

A set of RenderState objects managed by a Shader. More...

`#include <RenderStateSet.hpp>`

Inheritance diagram for vl::RenderStateSet:

List of all members.

## Public Member Functions

| RenderStateSet ()
virtual const char * | className ()
| Returns the name of the class.
void | setRenderState (RenderState *renderstate)
RenderState * | renderState (ERenderState type)
const RenderState * | renderState (ERenderState type) const
const std::vector< ref < RenderState > > & | renderStates () const
void | eraseRenderState (ERenderState type)
void | eraseAllRenderStates ()
const GLSLProgram * | glslProgram () const
| Returns the GLSLProgram associated to a RenderStateSet (if any)
GLSLProgram * | glslProgram ()
| Returns the GLSLProgram associated to a RenderStateSet (if any)

## Protected Attributes

std::vector< ref< RenderState > > | mRenderStates
GLSLProgram * | mGLSLProgram

## Detailed Description

A set of RenderState objects managed by a Shader.

See also:
  Shader, Effect, Actor

Definition at line 47 of file RenderStateSet.hpp.

## Constructor & Destructor Documentation

vl::RenderStateSet::RenderStateSet | ( | ) | `[inline]`

Definition at line 50 of file RenderStateSet.hpp.

References VL_DEBUG_SET_OBJECT_NAME.

## Member Function Documentation

virtual const char* vl::RenderStateSet::className | ( | ) | `[inline, virtual]`

Returns the name of the class.

Reimplemented from vl::Object.

Definition at line 54 of file RenderStateSet.hpp.

void RenderStateSet::setRenderState | ( | RenderState * | renderstate ) |

Definition at line 39 of file RenderStateSet.cpp.

References mGLSLProgram, mRenderStates, vl::RS_GLSLProgram, and vl::RenderState::type().

RenderState * RenderStateSet::renderState | ( | ERenderState | type ) |

Definition at line 57 of file RenderStateSet.cpp.

References mRenderStates.

Referenced by vl::Shader::getClipPlane(), vl::Shader::getGLSLProgram(), and vl::Shader::getLight().

const RenderState * RenderStateSet::renderState | ( | ERenderState | type ) | const

Definition at line 65 of file RenderStateSet.cpp.

References mRenderStates.

const std::vector< ref<RenderState> >& vl::RenderStateSet::renderStates | ( | ) | const`[inline]`

Definition at line 64 of file RenderStateSet.hpp.

Referenced by vl::OpenGLContext::applyRenderStates(), and vl::Rendering::fillRenderQueue().

void RenderStateSet::eraseRenderState | ( | ERenderState | type ) |

Definition at line 73 of file RenderStateSet.cpp.

References mGLSLProgram, mRenderStates, and vl::RS_GLSLProgram.

void vl::RenderStateSet::eraseAllRenderStates | ( | ) | `[inline]`

Definition at line 68 of file RenderStateSet.hpp.

const GLSLProgram* vl::RenderStateSet::glslProgram | ( | ) | const`[inline]`

Returns the GLSLProgram associated to a RenderStateSet (if any)

Definition at line 71 of file RenderStateSet.hpp.

Referenced by vl::Renderer::render().

GLSLProgram* vl::RenderStateSet::glslProgram | ( | ) | `[inline]`

Returns the GLSLProgram associated to a RenderStateSet (if any)

Definition at line 74 of file RenderStateSet.hpp.

## Member Data Documentation

std::vector< ref<RenderState> > vl::RenderStateSet::mRenderStates`[protected]`

Definition at line 77 of file RenderStateSet.hpp.

Referenced by eraseRenderState(), renderState(), and setRenderState().

GLSLProgram* vl::RenderStateSet::mGLSLProgram`[protected]`

Definition at line 78 of file RenderStateSet.hpp.

Referenced by eraseRenderState(), and setRenderState().

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

- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlGraphics/RenderStateSet.hpp
- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlGraphics/RenderStateSet.cpp

Visualization Library v2011.05.1142 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Thu May 26 2011 22:51:45.
Permission is granted to use this page to write and publish articles regarding Visualization Library.