Visualization LibraryA lightweight C++ OpenGL middleware for 2D/3D graphics |
[Home] [Tutorials] [All Classes] [Grouped Classes] |
The ShaderNode class is used to conveniently manage complex hierarchies of Shader[s]. More...
#include <ShaderNode.hpp>
The ShaderNode class is used to conveniently manage complex hierarchies of Shader[s].
Definition at line 45 of file ShaderNode.hpp.
| typedef std::map< ERenderState, RenderStateInfo > vl::ShaderNode::RenderStatesMap |
Definition at line 74 of file ShaderNode.hpp.
| typedef std::map< EEnable, EnableInfo > vl::ShaderNode::EnablesMap |
Definition at line 75 of file ShaderNode.hpp.
| typedef std::map< std::string, UniformInfo > vl::ShaderNode::UniformsMap |
Definition at line 76 of file ShaderNode.hpp.
| vl::ShaderNode::ShaderNode | ( | ) | [inline] |
Definition at line 81 of file ShaderNode.hpp.
| virtual const char* vl::ShaderNode::className | ( | ) | [inline, virtual] |
Returns the name of the class.
Reimplemented from vl::Object.
Definition at line 79 of file ShaderNode.hpp.
| void vl::ShaderNode::setShader | ( | Shader * | shader ) | [inline] |
Definition at line 85 of file ShaderNode.hpp.
| const Shader* vl::ShaderNode::shader | ( | ) | const [inline] |
Definition at line 87 of file ShaderNode.hpp.
References vl::ref< T >::get(), and mShader.
Referenced by setShader().
| Shader* vl::ShaderNode::shader | ( | ) | [inline] |
Definition at line 89 of file ShaderNode.hpp.
References vl::ref< T >::get(), and mShader.
| void vl::ShaderNode::addChild | ( | ShaderNode * | node ) | [inline] |
Definition at line 93 of file ShaderNode.hpp.
References mNodes, mParent, parent(), and VL_CHECK.
Referenced by vl::Terrain::init().
| void vl::ShaderNode::eraseChild | ( | ShaderNode * | node ) | [inline] |
Definition at line 100 of file ShaderNode.hpp.
References child(), childrenCount(), mNodes, mParent, parent(), and VL_CHECK.
| void vl::ShaderNode::eraseChild | ( | unsigned | index ) | [inline] |
Definition at line 112 of file ShaderNode.hpp.
References childrenCount(), mNodes, and VL_CHECK.
| void vl::ShaderNode::eraseChildren | ( | unsigned | start, |
| unsigned | count | ||
| ) | [inline] |
Definition at line 119 of file ShaderNode.hpp.
References childrenCount(), mNodes, mParent, and VL_CHECK.
| int vl::ShaderNode::findChild | ( | const ShaderNode * | node ) | const [inline] |
Definition at line 128 of file ShaderNode.hpp.
References child(), and childrenCount().
| size_t vl::ShaderNode::childrenCount | ( | ) | const [inline] |
Definition at line 136 of file ShaderNode.hpp.
References mNodes.
Referenced by eraseChild(), eraseChildren(), findChild(), and updateHierarchy().
| ShaderNode* vl::ShaderNode::child | ( | unsigned | i ) | [inline] |
Definition at line 138 of file ShaderNode.hpp.
References mNodes.
Referenced by eraseChild(), findChild(), and updateHierarchy().
| const ShaderNode* vl::ShaderNode::child | ( | unsigned | i ) | const [inline] |
Definition at line 140 of file ShaderNode.hpp.
References mNodes.
| ShaderNode* vl::ShaderNode::parent | ( | ) | [inline] |
Definition at line 142 of file ShaderNode.hpp.
References mParent.
Referenced by addChild(), eraseChild(), and updateHierarchy().
| const ShaderNode* vl::ShaderNode::parent | ( | ) | const [inline] |
Definition at line 144 of file ShaderNode.hpp.
References mParent.
| void vl::ShaderNode::updateHierarchy | ( | ) | [inline] |
Definition at line 148 of file ShaderNode.hpp.
References child(), childrenCount(), inherit(), parent(), and updateHierarchy().
Referenced by vl::Terrain::init(), and updateHierarchy().
| void vl::ShaderNode::inherit | ( | ShaderNode * | parent ) | [inline] |
Definition at line 155 of file ShaderNode.hpp.
References vl::IN_Propagate, vl::IN_Sticky, mEnables, mEnables_Final, mRenderStates, mRenderStates_Final, mShader, mUniforms, and mUniforms_Final.
Referenced by updateHierarchy().
| void vl::ShaderNode::setRenderState | ( | RenderState * | rs, |
| EInheritance | inheritance = IN_Propagate |
||
| ) | [inline] |
Definition at line 259 of file ShaderNode.hpp.
References mRenderStates, and vl::RenderState::type().
Referenced by vl::Terrain::init().
| void vl::ShaderNode::eraseRenderState | ( | RenderState * | rs ) | [inline] |
Definition at line 265 of file ShaderNode.hpp.
References mRenderStates, and vl::RenderState::type().
| void vl::ShaderNode::setEnable | ( | EEnable | en, |
| bool | on, | ||
| EInheritance | inheritance = IN_Propagate |
||
| ) | [inline] |
Definition at line 270 of file ShaderNode.hpp.
References mEnables.
Referenced by vl::Terrain::init().
| void vl::ShaderNode::eraseEnable | ( | EEnable | en ) | [inline] |
Definition at line 276 of file ShaderNode.hpp.
References mEnables.
| void vl::ShaderNode::setUniform | ( | Uniform * | unif, |
| EInheritance | inheritance = IN_Propagate |
||
| ) | [inline] |
Definition at line 281 of file ShaderNode.hpp.
References mUniforms, and vl::Uniform::name().
| void vl::ShaderNode::eraseUniform | ( | Uniform * | unif ) | [inline] |
Definition at line 287 of file ShaderNode.hpp.
References mUniforms, and vl::Uniform::name().
| const RenderStatesMap& vl::ShaderNode::renderStates | ( | ) | const [inline] |
Definition at line 294 of file ShaderNode.hpp.
References mRenderStates.
| RenderStatesMap& vl::ShaderNode::renderStates | ( | ) | [inline] |
Definition at line 296 of file ShaderNode.hpp.
References mRenderStates.
| const EnablesMap& vl::ShaderNode::enables | ( | ) | const [inline] |
Definition at line 298 of file ShaderNode.hpp.
References mEnables.
| EnablesMap& vl::ShaderNode::enables | ( | ) | [inline] |
Definition at line 300 of file ShaderNode.hpp.
References mEnables.
| const UniformsMap& vl::ShaderNode::uniforms | ( | ) | const [inline] |
Definition at line 302 of file ShaderNode.hpp.
References mUniforms.
| UniformsMap& vl::ShaderNode::uniforms | ( | ) | [inline] |
Definition at line 304 of file ShaderNode.hpp.
References mUniforms.
std::vector< ref< ShaderNode > > vl::ShaderNode::mNodes [protected] |
Definition at line 307 of file ShaderNode.hpp.
Referenced by addChild(), child(), childrenCount(), eraseChild(), and eraseChildren().
ShaderNode* vl::ShaderNode::mParent [protected] |
Definition at line 308 of file ShaderNode.hpp.
Referenced by addChild(), eraseChild(), eraseChildren(), and parent().
RenderStatesMap vl::ShaderNode::mRenderStates [protected] |
Definition at line 310 of file ShaderNode.hpp.
Referenced by eraseRenderState(), inherit(), renderStates(), and setRenderState().
EnablesMap vl::ShaderNode::mEnables [protected] |
Definition at line 311 of file ShaderNode.hpp.
Referenced by enables(), eraseEnable(), inherit(), and setEnable().
UniformsMap vl::ShaderNode::mUniforms [protected] |
Definition at line 312 of file ShaderNode.hpp.
Referenced by eraseUniform(), inherit(), setUniform(), and uniforms().
RenderStatesMap vl::ShaderNode::mRenderStates_Final [protected] |
Definition at line 314 of file ShaderNode.hpp.
Referenced by inherit().
EnablesMap vl::ShaderNode::mEnables_Final [protected] |
Definition at line 315 of file ShaderNode.hpp.
Referenced by inherit().
UniformsMap vl::ShaderNode::mUniforms_Final [protected] |
Definition at line 316 of file ShaderNode.hpp.
Referenced by inherit().
ref<Shader> vl::ShaderNode::mShader [protected] |
Definition at line 318 of file ShaderNode.hpp.
Referenced by inherit(), setShader(), and shader().