Go to the documentation of this file.
27 #ifndef _ShaderProgram_
28 #define _ShaderProgram_
const String & getDependency(unsigned int index) const
Get the library name of the given index dependency.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
UniformParameterPtr getParameterByName(const String &name)
Get parameter by a given name.
Function * mEntryPointFunction
ShaderFunctionList mFunctions
UniformParameterPtr resolveParameter(GpuConstantType type, int index, uint16 variability, const String &suggestedName, size_t size=0)
Resolve uniform parameter of this program.
const ShaderFunctionList & getFunctions() const
Get the function list of this program.
vector< String >::type StringVector
UniformParameterList mParameters
void setUseColumnMajorMatrices(bool value)
Tells Ogre whether auto-bound matrices should be sent in column or row-major order.
UniformParameterPtr getParameterByAutoType(GpuProgramParameters::AutoConstantType autoType)
Get parameter by a given auto constant type.
UniformParameterPtr resolveAutoParameterReal(GpuProgramParameters::AutoConstantType autoType, GpuConstantType type, Real data, size_t size=0)
Resolve uniform auto constant parameter with associated real data of this program.
UniformParameterPtr resolveAutoParameterReal(GpuProgramParameters::AutoConstantType autoType, Real data, size_t size=0)
Resolve uniform auto constant parameter with associated real data of this program.
vector< UniformParameterPtr >::type UniformParameterList
~Program()
Class destructor.
void destroyParameters()
Destroy all parameters of this program.
Program(GpuProgramType type)
Class constructor.
GpuProgramType
Enumerates the types of programs which can run on the GPU.
vector< Function * >::type ShaderFunctionList
void addDependency(const String &libFileName)
Add dependency for this program.
UniformParameterPtr getParameterByType(GpuConstantType type, int index)
Get parameter by a given type and index.
Function * createFunction(const String &name, const String &desc, const Function::FunctionType functionType)
Create new function in this program.
size_t getDependencyCount() const
Get the number of external libs this program depends on.
UniformParameterPtr resolveAutoParameterInt(GpuProgramParameters::AutoConstantType autoType, size_t data, size_t size=0)
Resolve uniform auto constant parameter with associated int data of this program.
A class that represents a shader based program.
void destroyFunctions()
Destroy all functions of this program.
bool mColumnMajorMatrices
Reference-counted shared pointer, used for objects where implicit destruction is required.
GpuConstantType
Enumeration of the types of constant we may encounter in programs.
Function * getEntryPointFunction()
Get the entry point function of this program.
GpuProgramType getType() const
Get the type of this program.
A singleton manager class that manages shader based programs.
bool getSkeletalAnimationIncluded() const
Returns whether a vertex program includes the required instructions to perform skeletal animation.
void setEntryPointFunction(Function *function)
Set the entry point function.
AutoConstantType
Defines the types of automatically updated values that may be bound to GpuProgram parameters,...
void setSkeletalAnimationIncluded(bool value)
Sets whether a vertex program includes the required instructions to perform skeletal animation.
Function * getFunctionByName(const String &name)
Get a function by a given name.
float Real
Software floating point type.
void removeParameter(UniformParameterPtr parameter)
Remove parameter from this program.
bool getUseColumnMajorMatrices() const
Returns whether Ogre will pass auto-bound matrices as column-major.
A class that represents a shader based program function.
StringVector mDependencies
const UniformParameterList & getParameters() const
Get the list of uniform parameters of this program.
void addParameter(UniformParameterPtr parameter)
Add parameter to this program.
UniformParameterPtr resolveAutoParameterInt(GpuProgramParameters::AutoConstantType autoType, GpuConstantType type, size_t data, size_t size=0)
Resolve uniform auto constant parameter with associated int data of this program.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.