Go to the documentation of this file.
28 #ifndef __GLSLProgram_H__
29 #define __GLSLProgram_H__
64 String doGet(
const void* target)
const;
65 void doSet(
void* target,
const String& shaderNames);
71 String doGet(
const void* target)
const;
72 void doSet(
void* target,
const String& val);
81 void attachToProgramObject(
const GLhandleARB programObject );
82 void detachFromProgramObject(
const GLhandleARB programObject );
86 bool getPassTransformStates(
void)
const;
87 bool getPassSurfaceAndLightStates(
void)
const;
90 void attachChildShader(
const String& name);
98 const String& getLanguage(
void)
const;
109 {
return mInputOperationType; }
113 {
return mOutputOperationType; }
122 { mInputOperationType = operationType; }
126 { mOutputOperationType = operationType; }
131 { mMaxOutputVertices = maxOutputVertices; }
134 bool compile(
const bool checkErrors =
true);
140 String doGet(
const void* target)
const;
141 void doSet(
void* target,
const String& val);
147 String doGet(
const void* target)
const;
148 void doSet(
void* target,
const String& val);
154 String doGet(
const void* target)
const;
155 void doSet(
void* target,
const String& val);
161 String doGet(
const void* target)
const;
162 void doSet(
void* target,
const String& val);
174 void loadFromSource(
void);
180 void createLowLevelImpl(
void);
182 void unloadHighLevelImpl(
void);
184 void unloadImpl(
void);
189 void buildConstantDefinitions()
const;
217 #endif // __GLSLProgram_H__
unsigned long long int ResourceHandle
virtual void setMaxOutputVertices(int maxOutputVertices)
Set the maximum number of vertices that a single run of this geometry program can emit.
static CmdColumnMajorMatrices msCmdColumnMajorMatrices
GLSLProgramContainer::iterator GLSLProgramContainerIterator
const String & getPreprocessorDefines(void) const
Sets the preprocessor defines use to compile the program.
bool getColumnMajorMatrices(void) const
Gets whether matrix packed in column-major order.
virtual int getMaxOutputVertices(void) const
Returns the maximum number of vertices that this geometry program can output in a single run.
void setPreprocessorDefines(const String &defines)
Sets the preprocessor defines use to compile the program.
virtual RenderOperation::OperationType getInputOperationType(void) const
Returns the operation type that this geometry program expects to receive as input.
String mPreprocessorDefines
Preprocessor options.
virtual void setOutputOperationType(RenderOperation::OperationType operationType)
Set the operation type that this geometry program will emit.
Command object for setting the maximum output vertices (geometry shader only)
int mMaxOutputVertices
The maximum amount of vertices that this (geometry) program can output.
Command object for setting the output operation type (geometry shader only)
Command object for attaching another GLSL Program.
static CmdInputOperationType msInputOperationTypeCmd
Abstract class which is command object which gets/sets parameters.
vector< GLSLProgram * >::type GLSLProgramContainer
Container of attached programs.
GLhandleARB mGLHandle
GL handle for shader object.
static CmdPreprocessorDefines msCmdPreprocessorDefines
GLint mCompiled
Flag indicating if shader object successfully compiled.
GLSLProgramContainer mAttachedGLSLPrograms
static CmdAttach msCmdAttach
RenderOperation::OperationType mOutputOperationType
The output operation type for this (geometry) program.
RenderOperation::OperationType mInputOperationType
The input operation type for this (geometry) program.
Defines a generic resource handler.
virtual void setInputOperationType(RenderOperation::OperationType operationType)
Sets the operation type that this geometry program expects to receive.
Command object for setting matrix packing in column-major order.
static CmdOutputOperationType msOutputOperationTypeCmd
static CmdMaxOutputVertices msMaxOutputVerticesCmd
Command object for setting macro defines.
virtual RenderOperation::OperationType getOutputOperationType(void) const
Returns the operation type that this geometry program will emit.
GLhandleARB getGLHandle() const
String getAttachedShaderNames() const
OperationType
The rendering operation type to perform.
Interface describing a manual resource loader.
Abstract base class representing a high-level program (a vertex or fragment program).
void setColumnMajorMatrices(bool columnMajor)
Sets whether matrix packing in column-major order.
Specialisation of HighLevelGpuProgram to provide support for OpenGL Shader Language (GLSL).
bool mColumnMajorMatrices
Matrix in column major pack format?
String mAttachedShaderNames
Attached Shader names.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Tue Apr 13 2021 08:53:15