|
|
| SlangShaderGenerator (TypeSystemPtr typeSystem) |
| | Constructor.
|
| |
|
ShaderPtr | generate (const string &name, ElementPtr element, GenContext &context) const override |
| | Generate a shader starting from the given element, translating the element and all dependencies upstream into shader code.
|
| |
|
const string & | getTarget () const override |
| | Return a unique identifier for the target this generator is for.
|
| |
|
virtual const string & | getVersion () const |
| | Return the version string for the Slang version this generator is for.
|
| |
|
void | emitVariableDeclaration (const ShaderPort *variable, const string &qualifier, GenContext &context, ShaderStage &stage, bool assignValue=true) const override |
| | Emit a shader variable.
|
| |
|
string | getVertexDataPrefix (const VariableBlock &vertexData) const override |
| | Determine the prefix of vertex data variables.
|
| |
|
|
virtual void | emitVertexStage (const ShaderGraph &graph, GenContext &context, ShaderStage &stage) const |
| |
|
virtual void | emitPixelStage (const ShaderGraph &graph, GenContext &context, ShaderStage &stage) const |
| |
|
virtual void | emitDirectives (GenContext &context, ShaderStage &stage) const |
| |
|
virtual void | emitConstants (GenContext &context, ShaderStage &stage) const |
| |
|
virtual void | emitUniforms (GenContext &context, ShaderStage &stage, bool emitLighting) const |
| |
|
virtual void | emitInputs (GenContext &context, ShaderStage &stage) const |
| |
|
virtual void | emitOutputs (GenContext &context, ShaderStage &stage) const |
| |
| virtual bool | requiresLighting (const ShaderGraph &graph) const override |
| | Logic to indicate whether code to support direct lighting should be emitted.
|
| |
|
virtual void | emitSpecularEnvironment (GenContext &context, ShaderStage &stage) const |
| | Emit specular environment lookup code.
|
| |
|
virtual void | emitTransmissionRender (GenContext &context, ShaderStage &stage) const |
| | Emit transmission rendering code.
|
| |
|
virtual void | emitLightFunctionDefinitions (const ShaderGraph &graph, GenContext &context, ShaderStage &stage) const |
| | Emit function definitions for lighting code.
|
| |
|
void | SlangSyntaxFromGlsl (ShaderStage &shaderStage) const |
| |
Base class for Slang code generation.
A generator for a specific Slang target should be derived from this class.