This helper class stores a reference to a Shader and all sub-shaders that are part of its evaluation. More...
#include <mitsuba/hw/vpl.h>
Public Member Functions | |
| DependencyNode (Shader *shader=NULL) | |
| Create from a Shader object.  More... | |
| DependencyNode (const DependencyNode &node) | |
| Copy constructor.  More... | |
| std::string | generateCode (std::ostringstream &oss, int &id) const | 
| Generate GLSL code for the entire shader chain.  More... | |
| void | resolve (GPUProgram *program, int &id) | 
| Resolve all parameters of the shader chain.  More... | |
| void | bind (GPUProgram *program, const DependencyNode &targetNode, int &textureUnitOffset) | 
| Bind all referenced resources (textures etc)  More... | |
| void | unbind () | 
| Release resources that were bound by bind()  More... | |
| void | toString (std::ostringstream &oss) const | 
| Generate a textual summary of the entire shader chain.  More... | |
| std::string | toString () const | 
Public Attributes | |
| const Shader * | shader | 
| std::vector< DependencyNode > | children | 
| std::vector< int > | parameterIDs | 
This helper class stores a reference to a Shader and all sub-shaders that are part of its evaluation.
It also allows to generate GLSL code for the entire chain, and to bind any uniform parameters to the target parameters
      
  | 
  inline | 
Create from a Shader object.
      
  | 
  inline | 
Copy constructor.
      
  | 
  inline | 
Bind all referenced resources (textures etc)
      
  | 
  inline | 
Generate GLSL code for the entire shader chain.
      
  | 
  inline | 
Resolve all parameters of the shader chain.
      
  | 
  inline | 
Generate a textual summary of the entire shader chain.
      
  | 
  inline | 
      
  | 
  inline | 
Release resources that were bound by bind()
| std::vector<DependencyNode> mitsuba::VPLShaderManager::DependencyNode::children | 
| std::vector<int> mitsuba::VPLShaderManager::DependencyNode::parameterIDs | 
| const Shader* mitsuba::VPLShaderManager::DependencyNode::shader |