ShaderGenPrinter Class Reference

#include <shaderGen.h>

Inheritance diagram for ShaderGenPrinter:

Inheritance graph
[legend]
List of all members.

Detailed Description

Base class used by shaderGen to be API agnostic.

Subclasses implement the various methods in an API specific way.


Public Member Functions

virtual ~ShaderGenPrinter ()
virtual void printShaderHeader (Stream &stream)=0
 Prints a simple header, including the engine name, language type, and the fact that the shader was procedurally generated.
virtual void printMainComment (Stream &stream)=0
 Prints a comment block specifying the beginning of the main() function (or equivalent).
virtual void printVertexShaderCloser (Stream &stream)=0
 Prints the final line of the vertex shader, e.g. return OUT; }, }, END.
virtual void printPixelShaderOutputStruct (Stream &stream)=0
 Prints the output struct for the pixel shader. Probably only used in HLSL/Cg.
virtual void printPixelShaderCloser (Stream &stream)=0
 Prints the final line of the pixel shader.
virtual void printComment (Stream &stream, const String &comment)=0


Constructor & Destructor Documentation

virtual ShaderGenPrinter::~ShaderGenPrinter (  )  [inline, virtual]


Member Function Documentation

virtual void ShaderGenPrinter::printShaderHeader ( Stream stream  )  [pure virtual]

Prints a simple header, including the engine name, language type, and the fact that the shader was procedurally generated.

Implemented in ShaderGenPrinterGLSL, and ShaderGenPrinterHLSL.

virtual void ShaderGenPrinter::printMainComment ( Stream stream  )  [pure virtual]

Prints a comment block specifying the beginning of the main() function (or equivalent).

Implemented in ShaderGenPrinterGLSL, and ShaderGenPrinterHLSL.

virtual void ShaderGenPrinter::printVertexShaderCloser ( Stream stream  )  [pure virtual]

Prints the final line of the vertex shader, e.g. return OUT; }, }, END.

Implemented in ShaderGenPrinterGLSL, and ShaderGenPrinterHLSL.

virtual void ShaderGenPrinter::printPixelShaderOutputStruct ( Stream stream  )  [pure virtual]

Prints the output struct for the pixel shader. Probably only used in HLSL/Cg.

Implemented in ShaderGenPrinterGLSL, and ShaderGenPrinterHLSL.

virtual void ShaderGenPrinter::printPixelShaderCloser ( Stream stream  )  [pure virtual]

Prints the final line of the pixel shader.

Implemented in ShaderGenPrinterGLSL, and ShaderGenPrinterHLSL.

virtual void ShaderGenPrinter::printComment ( Stream stream,
const String comment 
) [pure virtual]