Visualization Library v1.0.3A lightweight C++ OpenGL middleware for 2D/3D graphics |
[Download] [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 77 of file ShaderNode.hpp.
typedef std::map< EEnable, EnableInfo > vl::ShaderNode::EnablesMap |
Definition at line 78 of file ShaderNode.hpp.
typedef std::map< std::string, UniformInfo > vl::ShaderNode::UniformsMap |
Definition at line 79 of file ShaderNode.hpp.
vl::ShaderNode::ShaderNode | ( | ) | [inline] |
Definition at line 82 of file ShaderNode.hpp.
void vl::ShaderNode::setShader | ( | Shader * | shader ) | [inline] |
Definition at line 86 of file ShaderNode.hpp.
const Shader* vl::ShaderNode::shader | ( | ) | const [inline] |
Definition at line 88 of file ShaderNode.hpp.
References vl::ref< T >::get(), and mShader.
Referenced by setShader().
Shader* vl::ShaderNode::shader | ( | ) | [inline] |
Definition at line 90 of file ShaderNode.hpp.
References vl::ref< T >::get(), and mShader.
void vl::ShaderNode::addChild | ( | ShaderNode * | node ) | [inline] |
Definition at line 94 of file ShaderNode.hpp.
References mNodes, mParent, NULL, parent(), and VL_CHECK.
Referenced by vl::Terrain::init().
void vl::ShaderNode::eraseChild | ( | ShaderNode * | node ) | [inline] |
Definition at line 101 of file ShaderNode.hpp.
References child(), childrenCount(), mNodes, mParent, NULL, parent(), and VL_CHECK.
void vl::ShaderNode::eraseChild | ( | unsigned | index ) | [inline] |
Definition at line 113 of file ShaderNode.hpp.
References childrenCount(), mNodes, NULL, and VL_CHECK.
void vl::ShaderNode::eraseChildren | ( | unsigned | start, |
unsigned | count | ||
) | [inline] |
Definition at line 120 of file ShaderNode.hpp.
References childrenCount(), mNodes, mParent, NULL, and VL_CHECK.
int vl::ShaderNode::findChild | ( | const ShaderNode * | node ) | const [inline] |
Definition at line 129 of file ShaderNode.hpp.
References child(), and childrenCount().
size_t vl::ShaderNode::childrenCount | ( | ) | const [inline] |
Definition at line 137 of file ShaderNode.hpp.
References mNodes.
Referenced by eraseChild(), eraseChildren(), findChild(), and updateHierarchy().
ShaderNode* vl::ShaderNode::child | ( | unsigned | i ) | [inline] |
Definition at line 139 of file ShaderNode.hpp.
References mNodes.
Referenced by eraseChild(), findChild(), and updateHierarchy().
const ShaderNode* vl::ShaderNode::child | ( | unsigned | i ) | const [inline] |
Definition at line 141 of file ShaderNode.hpp.
References mNodes.
ShaderNode* vl::ShaderNode::parent | ( | ) | [inline] |
Definition at line 143 of file ShaderNode.hpp.
References mParent.
Referenced by addChild(), eraseChild(), and updateHierarchy().
const ShaderNode* vl::ShaderNode::parent | ( | ) | const [inline] |
Definition at line 145 of file ShaderNode.hpp.
References mParent.
void vl::ShaderNode::updateHierarchy | ( | ) | [inline] |
Definition at line 149 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 156 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 | ( | EInheritance | inheritance, |
RenderStateNonIndexed * | rs | ||
) | [inline] |
Definition at line 260 of file ShaderNode.hpp.
References mRenderStates, and vl::RenderState::type().
Referenced by vl::Terrain::init().
void vl::ShaderNode::setRenderState | ( | EInheritance | inheritance, |
RenderState * | rs, | ||
int | index | ||
) | [inline] |
Definition at line 266 of file ShaderNode.hpp.
References mRenderStates, and vl::RenderState::type().
void vl::ShaderNode::eraseRenderState | ( | RenderStateNonIndexed * | rs ) | [inline] |
Definition at line 272 of file ShaderNode.hpp.
References mRenderStates, and vl::RenderState::type().
void vl::ShaderNode::eraseRenderState | ( | RenderState * | rs, |
int | index | ||
) | [inline] |
Definition at line 277 of file ShaderNode.hpp.
References mRenderStates, vl::RenderState::type(), and VL_CHECK.
void vl::ShaderNode::setEnable | ( | EEnable | en, |
bool | on, | ||
EInheritance | inheritance = IN_Propagate |
||
) | [inline] |
Definition at line 285 of file ShaderNode.hpp.
References mEnables.
Referenced by vl::Terrain::init().
void vl::ShaderNode::eraseEnable | ( | EEnable | en ) | [inline] |
Definition at line 291 of file ShaderNode.hpp.
References mEnables.
void vl::ShaderNode::setUniform | ( | Uniform * | unif, |
EInheritance | inheritance = IN_Propagate |
||
) | [inline] |
Definition at line 296 of file ShaderNode.hpp.
References mUniforms, and vl::Uniform::name().
void vl::ShaderNode::eraseUniform | ( | Uniform * | unif ) | [inline] |
Definition at line 302 of file ShaderNode.hpp.
References mUniforms, and vl::Uniform::name().
const RenderStatesMap& vl::ShaderNode::renderStates | ( | ) | const [inline] |
Definition at line 309 of file ShaderNode.hpp.
References mRenderStates.
RenderStatesMap& vl::ShaderNode::renderStates | ( | ) | [inline] |
Definition at line 311 of file ShaderNode.hpp.
References mRenderStates.
const EnablesMap& vl::ShaderNode::enables | ( | ) | const [inline] |
Definition at line 313 of file ShaderNode.hpp.
References mEnables.
EnablesMap& vl::ShaderNode::enables | ( | ) | [inline] |
Definition at line 315 of file ShaderNode.hpp.
References mEnables.
const UniformsMap& vl::ShaderNode::uniforms | ( | ) | const [inline] |
Definition at line 317 of file ShaderNode.hpp.
References mUniforms.
UniformsMap& vl::ShaderNode::uniforms | ( | ) | [inline] |
Definition at line 319 of file ShaderNode.hpp.
References mUniforms.
std::vector< ref< ShaderNode > > vl::ShaderNode::mNodes [protected] |
Definition at line 322 of file ShaderNode.hpp.
Referenced by addChild(), child(), childrenCount(), eraseChild(), and eraseChildren().
ShaderNode* vl::ShaderNode::mParent [protected] |
Definition at line 323 of file ShaderNode.hpp.
Referenced by addChild(), eraseChild(), eraseChildren(), and parent().
RenderStatesMap vl::ShaderNode::mRenderStates [protected] |
Definition at line 325 of file ShaderNode.hpp.
Referenced by eraseRenderState(), inherit(), renderStates(), and setRenderState().
EnablesMap vl::ShaderNode::mEnables [protected] |
Definition at line 326 of file ShaderNode.hpp.
Referenced by enables(), eraseEnable(), inherit(), and setEnable().
UniformsMap vl::ShaderNode::mUniforms [protected] |
Definition at line 327 of file ShaderNode.hpp.
Referenced by eraseUniform(), inherit(), setUniform(), and uniforms().
RenderStatesMap vl::ShaderNode::mRenderStates_Final [protected] |
Definition at line 329 of file ShaderNode.hpp.
Referenced by inherit().
EnablesMap vl::ShaderNode::mEnables_Final [protected] |
Definition at line 330 of file ShaderNode.hpp.
Referenced by inherit().
UniformsMap vl::ShaderNode::mUniforms_Final [protected] |
Definition at line 331 of file ShaderNode.hpp.
Referenced by inherit().
ref<Shader> vl::ShaderNode::mShader [protected] |
Definition at line 333 of file ShaderNode.hpp.
Referenced by inherit(), setShader(), and shader().