MaterialX 1.38.10
Loading...
Searching...
No Matches
ShaderStage.h File Reference

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

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...
 
struct  ShaderStage::Scope
 

Macros

#define DEFINE_SHADER_STAGE(stage, name)   if (stage.getName() == name)
 
#define BEGIN_SHADER_STAGE(stage, 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.
 
using ShaderStagePtr = std::shared_ptr< ShaderStage >
 Shared pointer to a ShaderStage.
 

Functions

ShaderPortaddStageUniform (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage)
 Utility function for adding a new shader port to a uniform block.
 
ShaderPortaddStageInput (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage, bool shouldWiden=false)
 Utility function for adding a new shader port to an input block.
 
ShaderPortaddStageOutput (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage, bool shouldWiden=false)
 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, bool shouldWiden=false)
 Utility function for adding a variable to a stage connector block.
 

Detailed Description

Class related to holding information for shader stages.

Macro Definition Documentation

◆ BEGIN_SHADER_STAGE

#define BEGIN_SHADER_STAGE (   stage,
  name 
)
Value:
if (stage.getName() == name) \
{