|
HDK
|
#include <MaterialXGenShader/Export.h>#include <MaterialXGenShader/GenOptions.h>#include <MaterialXGenShader/ShaderGraph.h>#include <MaterialXGenShader/Syntax.h>#include <MaterialXFormat/File.h>#include <MaterialXCore/Node.h>#include <map>#include <sstream>
Include dependency graph for ShaderStage.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| class | VariableBlock |
| class | ShaderStage |
| struct | ShaderStage::Scope |
Namespaces | |
| Stage | |
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. More... | |
| using | VariableBlockMap = std::map< string, VariableBlockPtr > |
| using | ShaderPortPredicate = std::function< bool(ShaderPort *)> |
| A standard function predicate taking an ShaderPort pointer and returning a boolean. More... | |
| using | ShaderStagePtr = std::shared_ptr< ShaderStage > |
| Shared pointer to a ShaderStage. More... | |
Functions | |
| ShaderPort * | addStageUniform (const string &block, TypeDesc type, const string &name, ShaderStage &stage) |
| Utility function for adding a new shader port to a uniform block. More... | |
| ShaderPort * | addStageUniform (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage) |
| ShaderPort * | addStageInput (const string &block, TypeDesc type, const string &name, ShaderStage &stage, bool shouldWiden=false) |
| Utility function for adding a new shader port to an input block. More... | |
| ShaderPort * | addStageInput (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage, bool shouldWiden=false) |
| ShaderPort * | addStageOutput (const string &block, TypeDesc type, const string &name, ShaderStage &stage, bool shouldWiden=false) |
| Utility function for adding a new shader port to an output block. More... | |
| ShaderPort * | addStageOutput (const string &block, const TypeDesc *type, const string &name, ShaderStage &stage, bool shouldWiden=false) |
| void | addStageConnectorBlock (const string &block, const string &instance, ShaderStage &from, ShaderStage &to) |
| Utility function for adding a connector block between stages. More... | |
| void | addStageConnector (const string &block, TypeDesc type, const string &name, ShaderStage &from, ShaderStage &to, bool shouldWiden=false) |
| Utility function for adding a variable to a stage connector block. More... | |
| void | addStageConnector (const string &block, const TypeDesc *type, const string &name, ShaderStage &from, ShaderStage &to, bool shouldWiden=false) |
Variables | |
| MX_GENSHADER_API const string | Stage::PIXEL |
| MX_GENSHADER_API const string | Stage::VERTEX |
Class related to holding information for shader stages
Definition in file ShaderStage.h.
| #define BEGIN_SHADER_STAGE | ( | stage, | |
| name | |||
| ) |
Definition at line 31 of file ShaderStage.h.
Definition at line 28 of file ShaderStage.h.
| #define END_SHADER_STAGE | ( | stage, | |
| name | |||
| ) | } |
Definition at line 34 of file ShaderStage.h.
| using ShaderPortPredicate = std::function<bool(ShaderPort*)> |
A standard function predicate taking an ShaderPort pointer and returning a boolean.
Definition at line 62 of file ShaderStage.h.
| using ShaderStagePtr = std::shared_ptr<ShaderStage> |
Shared pointer to a ShaderStage.
Definition at line 342 of file ShaderStage.h.
| using VariableBlockMap = std::map<string, VariableBlockPtr> |
Shared pointer to a map between string identifiers and VariableBlocks. The order may affect the order of the respective definitions in the generated code.
Definition at line 60 of file ShaderStage.h.
| using VariableBlockPtr = std::shared_ptr<VariableBlock> |
Shared pointer to a VariableBlock.
Definition at line 57 of file ShaderStage.h.
|
inline |
Utility function for adding a variable to a stage connector block.
Definition at line 410 of file ShaderStage.h.
|
inline |
Definition at line 420 of file ShaderStage.h.
|
inline |
Utility function for adding a connector block between stages.
Definition at line 400 of file ShaderStage.h.
|
inline |
Utility function for adding a new shader port to an input block.
Definition at line 362 of file ShaderStage.h.
|
inline |
Definition at line 371 of file ShaderStage.h.
|
inline |
Utility function for adding a new shader port to an output block.
Definition at line 381 of file ShaderStage.h.
|
inline |
Definition at line 390 of file ShaderStage.h.
|
inline |
Utility function for adding a new shader port to a uniform block.
Definition at line 345 of file ShaderStage.h.
|
inline |
Definition at line 353 of file ShaderStage.h.