MaterialX 1.38.2
Classes | Macros | Typedefs | Functions
ShaderStage.h File Reference

Class related to holding information for shader stages. More...

#include <MaterialXGenShader/Export.h>
#include <MaterialXGenShader/GenOptions.h>
#include <MaterialXGenShader/ShaderGraph.h>
#include <MaterialXGenShader/Syntax.h>
#include <MaterialXCore/Node.h>
#include <sstream>

Go to the source code of this file.

Classes

class  VariableBlock
 A block of variables in a shader stage. More...
 
class  ShaderStage
 A shader stage, containing the state and resulting source code for the stage. More...
 

Macros

#define BEGIN_SHADER_STAGE(stage, name)   if (stage.getName() == name) {
 
#define END_SHADER_STAGE(stage, name)   }
 

Typedefs

using VariableBlockPtr = std::shared_ptr< VariableBlock >
 Shared pointer to a VariableBlock.
 
using VariableBlockMap = std::unordered_map< string, VariableBlockPtr >
 Shared pointer to a map between string identifiers and VariableBlocks.
 
using ShaderPortPredicate = std::function< bool(ShaderPort *)>
 A standard function predicate taking an ShaderPort pointer and returning a boolean.
 

Functions

ShaderPort * addStageUniform (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage)
 Utility function for adding a new shader port to a uniform block.
 
ShaderPort * addStageInput (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage)
 Utility function for adding a new shader port to an input block.
 
ShaderPort * addStageOutput (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage)
 Utility function for adding a new shader port to an output block.
 
void addStageConnectorBlock (const string &block, const string &instance, ShaderStage &from, ShaderStage &to)
 Utility function for adding a connector block between stages.
 
void addStageConnector (const string &block, const TypeDesc *type, const string &name, ShaderStage &from, ShaderStage &to)
 Utility function for adding a variable to a stage connector block.
 

Detailed Description

Class related to holding information for shader stages.