Visualization LibraryA lightweight C++ OpenGL middleware for 2D/3D graphics |
[Home] [Tutorials] [All Classes] [Grouped Classes] |
Manages most of the OpenGL rendering states responsible of the final aspect of the rendered objects. More...
#include <Shader.hpp>
Manages most of the OpenGL rendering states responsible of the final aspect of the rendered objects.
A Shader represents a rendering pass. Using the Effect class you can assign more rendering passes to an Actor. You can also specify different sets of rendering passes for each Effect LOD, for more information see Effect.
| Shader::Shader | ( | ) |
Constructor.
| vl::Shader::Shader | ( | const Shader & | other ) | [inline] |
Copy constructor.
Calls operator=(other).
| Shader::~Shader | ( | ) | [virtual] |
Destructor.
| virtual const char* vl::Shader::className | ( | ) | [inline, virtual] |
Returns the name of the class.
Reimplemented from vl::Object.
Copy RenderStates, Enables, Uniforms and Scissor from another Shader.
Note that the destination Shader still keeps its own copy of the RenderStateSet, EnableSet and UniformSet objects.
| GLSLProgram * Shader::gocGLSLProgram | ( | ) |
Gets or creates a GLSLProgram and returns it.
| const GLSLProgram * Shader::getGLSLProgram | ( | ) | const |
Returns a GLSLProgram if it exists or NULL otherwise.
| GLSLProgram * Shader::getGLSLProgram | ( | ) |
Returns a GLSLProgram if it exists or NULL otherwise.
| PixelTransfer * Shader::gocPixelTransfer | ( | ) |
| const PixelTransfer* vl::Shader::getPixelTransfer | ( | ) | const [inline] |
| PixelTransfer* vl::Shader::getPixelTransfer | ( | ) | [inline] |
| Hint * Shader::gocHint | ( | ) |
| const Hint* vl::Shader::getHint | ( | ) | const [inline] |
| Hint* vl::Shader::getHint | ( | ) | [inline] |
| CullFace * Shader::gocCullFace | ( | ) |
| const CullFace* vl::Shader::getCullFace | ( | ) | const [inline] |
| CullFace* vl::Shader::getCullFace | ( | ) | [inline] |
| FrontFace * Shader::gocFrontFace | ( | ) |
| const FrontFace* vl::Shader::getFrontFace | ( | ) | const [inline] |
| FrontFace* vl::Shader::getFrontFace | ( | ) | [inline] |
| DepthFunc * Shader::gocDepthFunc | ( | ) |
| const DepthFunc* vl::Shader::getDepthFunc | ( | ) | const [inline] |
| DepthFunc* vl::Shader::getDepthFunc | ( | ) | [inline] |
| DepthMask * Shader::gocDepthMask | ( | ) |
| const DepthMask* vl::Shader::getDepthMask | ( | ) | const [inline] |
| DepthMask* vl::Shader::getDepthMask | ( | ) | [inline] |
| ColorMask * Shader::gocColorMask | ( | ) |
| const ColorMask* vl::Shader::getColorMask | ( | ) | const [inline] |
| ColorMask* vl::Shader::getColorMask | ( | ) | [inline] |
| PolygonMode * Shader::gocPolygonMode | ( | ) |
| const PolygonMode* vl::Shader::getPolygonMode | ( | ) | const [inline] |
| PolygonMode* vl::Shader::getPolygonMode | ( | ) | [inline] |
| ShadeModel * Shader::gocShadeModel | ( | ) |
| const ShadeModel* vl::Shader::getShadeModel | ( | ) | const [inline] |
| ShadeModel* vl::Shader::getShadeModel | ( | ) | [inline] |
| BlendEquation * Shader::gocBlendEquation | ( | ) |
| const BlendEquation* vl::Shader::getBlendEquation | ( | ) | const [inline] |
| BlendEquation* vl::Shader::getBlendEquation | ( | ) | [inline] |
| AlphaFunc * Shader::gocAlphaFunc | ( | ) |
| const AlphaFunc* vl::Shader::getAlphaFunc | ( | ) | const [inline] |
| AlphaFunc* vl::Shader::getAlphaFunc | ( | ) | [inline] |
| Material * Shader::gocMaterial | ( | ) |
| const Material* vl::Shader::getMaterial | ( | ) | const [inline] |
| Material* vl::Shader::getMaterial | ( | ) | [inline] |
| LightModel * Shader::gocLightModel | ( | ) |
| const LightModel* vl::Shader::getLightModel | ( | ) | const [inline] |
| LightModel* vl::Shader::getLightModel | ( | ) | [inline] |
| Fog * Shader::gocFog | ( | ) |
| const Fog* vl::Shader::getFog | ( | ) | const [inline] |
| Fog* vl::Shader::getFog | ( | ) | [inline] |
| PolygonOffset * Shader::gocPolygonOffset | ( | ) |
| const PolygonOffset* vl::Shader::getPolygonOffset | ( | ) | const [inline] |
| PolygonOffset* vl::Shader::getPolygonOffset | ( | ) | [inline] |
| LogicOp * Shader::gocLogicOp | ( | ) |
| const LogicOp* vl::Shader::getLogicOp | ( | ) | const [inline] |
| LogicOp* vl::Shader::getLogicOp | ( | ) | [inline] |
| DepthRange * Shader::gocDepthRange | ( | ) |
| const DepthRange* vl::Shader::getDepthRange | ( | ) | const [inline] |
| DepthRange* vl::Shader::getDepthRange | ( | ) | [inline] |
| LineWidth * Shader::gocLineWidth | ( | ) |
| const LineWidth* vl::Shader::getLineWidth | ( | ) | const [inline] |
| LineWidth* vl::Shader::getLineWidth | ( | ) | [inline] |
| PointSize * Shader::gocPointSize | ( | ) |
| const PointSize* vl::Shader::getPointSize | ( | ) | const [inline] |
| PointSize* vl::Shader::getPointSize | ( | ) | [inline] |
| LineStipple * Shader::gocLineStipple | ( | ) |
| const LineStipple* vl::Shader::getLineStipple | ( | ) | const [inline] |
| LineStipple* vl::Shader::getLineStipple | ( | ) | [inline] |
| PolygonStipple * Shader::gocPolygonStipple | ( | ) |
| const PolygonStipple* vl::Shader::getPolygonStipple | ( | ) | const [inline] |
| PolygonStipple* vl::Shader::getPolygonStipple | ( | ) | [inline] |
| PointParameter * Shader::gocPointParameter | ( | ) |
| const PointParameter* vl::Shader::getPointParameter | ( | ) | const [inline] |
| PointParameter* vl::Shader::getPointParameter | ( | ) | [inline] |
| StencilFunc * Shader::gocStencilFunc | ( | ) |
| const StencilFunc* vl::Shader::getStencilFunc | ( | ) | const [inline] |
| StencilFunc* vl::Shader::getStencilFunc | ( | ) | [inline] |
| StencilOp * Shader::gocStencilOp | ( | ) |
| const StencilOp* vl::Shader::getStencilOp | ( | ) | const [inline] |
| StencilOp* vl::Shader::getStencilOp | ( | ) | [inline] |
| StencilMask * Shader::gocStencilMask | ( | ) |
| const StencilMask* vl::Shader::getStencilMask | ( | ) | const [inline] |
| StencilMask* vl::Shader::getStencilMask | ( | ) | [inline] |
| BlendColor * Shader::gocBlendColor | ( | ) |
| const BlendColor* vl::Shader::getBlendColor | ( | ) | const [inline] |
| BlendColor* vl::Shader::getBlendColor | ( | ) | [inline] |
| BlendFunc * Shader::gocBlendFunc | ( | ) |
| const BlendFunc* vl::Shader::getBlendFunc | ( | ) | const [inline] |
| BlendFunc* vl::Shader::getBlendFunc | ( | ) | [inline] |
| SampleCoverage * Shader::gocSampleCoverage | ( | ) |
| const SampleCoverage* vl::Shader::getSampleCoverage | ( | ) | const [inline] |
| SampleCoverage* vl::Shader::getSampleCoverage | ( | ) | [inline] |
| Light * Shader::gocLight | ( | int | light_index ) |
| const Light * Shader::getLight | ( | int | light_index ) | const |
| Light * Shader::getLight | ( | int | light_index ) |
| ClipPlane * Shader::gocClipPlane | ( | int | plane_index ) |
| const ClipPlane * Shader::getClipPlane | ( | int | plane_index ) | const |
| ClipPlane * Shader::getClipPlane | ( | int | plane_index ) |
| TextureUnit * Shader::gocTextureUnit | ( | int | unit_index ) |
| const TextureUnit* vl::Shader::getTextureUnit | ( | int | unit_index ) | const [inline] |
| TextureUnit* vl::Shader::getTextureUnit | ( | int | unit_index ) | [inline] |
| TexEnv * Shader::gocTexEnv | ( | int | unit_index ) |
| const TexEnv* vl::Shader::getTexEnv | ( | int | unit_index ) | const [inline] |
| TexEnv* vl::Shader::getTexEnv | ( | int | unit_index ) | [inline] |
| TexGen * Shader::gocTexGen | ( | int | unit_index ) |
| const TexGen* vl::Shader::getTexGen | ( | int | unit_index ) | const [inline] |
| TexGen* vl::Shader::getTexGen | ( | int | unit_index ) | [inline] |
| TextureMatrix * Shader::gocTextureMatrix | ( | int | unit_index ) |
| const TextureMatrix* vl::Shader::getTextureMatrix | ( | int | unit_index ) | const [inline] |
| TextureMatrix* vl::Shader::getTextureMatrix | ( | int | unit_index ) | [inline] |
| void vl::Shader::reset | ( | ) | [inline] |
| void vl::Shader::enable | ( | EEnable | capability ) | [inline] |
| void vl::Shader::disable | ( | EEnable | capability ) | [inline] |
| const std::vector<EEnable>& vl::Shader::enables | ( | ) | const [inline] |
| int vl::Shader::isEnabled | ( | EEnable | capability ) | const [inline] |
| void vl::Shader::disableAll | ( | ) | [inline] |
| bool vl::Shader::blendingEnabled | ( | ) | const [inline] |
| void vl::Shader::setRenderState | ( | RenderState * | renderstate ) | [inline] |
| const RenderState* vl::Shader::renderState | ( | ERenderState | type ) | const [inline] |
| RenderState* vl::Shader::renderState | ( | ERenderState | type ) | [inline] |
| const std::vector< ref<RenderState> >& vl::Shader::renderStates | ( | ) | const [inline] |
| void vl::Shader::eraseRenderState | ( | ERenderState | type ) | [inline] |
| void vl::Shader::eraseRenderState | ( | RenderState * | rs ) | [inline] |
| void vl::Shader::eraseAllRenderStates | ( | ) | [inline] |
| const GLSLProgram* vl::Shader::glslProgram | ( | ) | const [inline] |
Returns the GLSLProgram associated to a Shader (if any)
| GLSLProgram* vl::Shader::glslProgram | ( | ) | [inline] |
Returns the GLSLProgram associated to a Shader (if any)
| void vl::Shader::setUniform | ( | Uniform * | uniform ) | [inline] |
Equivalent to gocUniformSet()->setUniform(...)
Equivalent to gocUniformSet()->uniforms(...)
| void vl::Shader::eraseUniform | ( | const std::string & | name ) | [inline] |
Equivalent to gocUniformSet()->eraseUniform(...)
| void vl::Shader::eraseUniform | ( | const Uniform * | uniform ) | [inline] |
Equivalent to gocUniformSet()->eraseUniform(...)
| void vl::Shader::eraseAllUniforms | ( | ) | [inline] |
Equivalent to gocUniformSet()->eraseAllUniforms(...)
| Uniform* vl::Shader::gocUniform | ( | const std::string & | name ) | [inline] |
Equivalent to gocUniformSet()->gocUniform(...)
| Uniform* vl::Shader::getUniform | ( | const std::string & | name ) | [inline] |
Equivalent to gocUniformSet()->getUniform(...)
| const Uniform* vl::Shader::getUniform | ( | const std::string & | name ) | const [inline] |
Equivalent to gocUniformSet()->getUniform(...)
| EnableSet* vl::Shader::gocEnableSet | ( | ) | [inline] |
| EnableSet* vl::Shader::getEnableSet | ( | ) | [inline] |
| const EnableSet* vl::Shader::getEnableSet | ( | ) | const [inline] |
| RenderStateSet* vl::Shader::gocRenderStateSet | ( | ) | [inline] |
| RenderStateSet* vl::Shader::getRenderStateSet | ( | ) | [inline] |
| const RenderStateSet* vl::Shader::getRenderStateSet | ( | ) | const [inline] |
| UniformSet* vl::Shader::gocUniformSet | ( | ) | [inline] |
Returns the UniformSet installed (creating it if no UniformSet has been installed)
| UniformSet* vl::Shader::getUniformSet | ( | ) | [inline] |
Returns the UniformSet installed.
| const UniformSet* vl::Shader::getUniformSet | ( | ) | const [inline] |
Returns the UniformSet installed.
| void vl::Shader::setEnableSet | ( | EnableSet * | es ) | [inline] |
| void vl::Shader::setRenderStateSet | ( | RenderStateSet * | rss ) | [inline] |
| void vl::Shader::setUniformSet | ( | UniformSet * | us ) | [inline] |
| void vl::Shader::setScissor | ( | Scissor * | scissor ) | [inline] |
| const Scissor* vl::Shader::scissor | ( | ) | const [inline] |
| Scissor* vl::Shader::scissor | ( | ) | [inline] |
| void vl::Shader::setShaderAnimator | ( | ShaderAnimator * | animator ) | [inline] |
Installs the ShaderAnimator used to update/animate a Shader (see vl::ShaderAnimator documentation).
| ShaderAnimator* vl::Shader::shaderAnimator | ( | ) | [inline] |
Returns the ShaderAnimator used to update/animate a Shader (see vl::ShaderAnimator documentation).
| const ShaderAnimator* vl::Shader::shaderAnimator | ( | ) | const [inline] |
Returns the ShaderAnimator used to update/animate a Shader (see vl::ShaderAnimator documentation).
| Real vl::Shader::lastUpdateTime | ( | ) | const [inline] |
Last time this Actor was animated/updated using a shaderAnimator().
| void vl::Shader::setLastUpdateTime | ( | Real | time ) | [inline] |
Used internally.
ref<RenderStateSet> vl::Shader::mRenderStateSet [protected] |
ref<EnableSet> vl::Shader::mEnableSet [protected] |
ref<UniformSet> vl::Shader::mUniformSet [protected] |
ref<Scissor> vl::Shader::mScissor [protected] |
ref<ShaderAnimator> vl::Shader::mShaderAnimator [protected] |
Real vl::Shader::mLastUpdateTime [protected] |