|
|
| GlslShaderGenerator (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 GLSL 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) const |
| |
|
virtual void | emitLightData (GenContext &context, ShaderStage &stage) const |
| |
|
virtual void | emitInputs (GenContext &context, ShaderStage &stage) const |
| |
|
virtual void | emitOutputs (GenContext &context, ShaderStage &stage) const |
| |
|
virtual HwResourceBindingContextPtr | getResourceBindingContext (GenContext &context) const |
| |
|
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.
|
| |
Base class for GLSL (OpenGL Shading Language) code generation.
A generator for a specific GLSL target should be derived from this class.