27 #ifndef _ShaderProgramWriterGLSLES_
28 #define _ShaderProgramWriterGLSLES_
FunctionMap::const_iterator FunctionMapIterator
bool isBasicType(String &type)
Check if a string matches one of the GLSL ES basic types.
FunctionMap mFunctionCacheMap
void writeProgramDependencies(std::ostream &os, Program *program)
Write the program dependencies.
ParamSemanticToStringMap mParamSemanticMap
void writeOutParameters(std::ostream &os, Function *function, GpuProgramType gpuType)
Write the output params of the function.
virtual void cacheDependencyFunctions(const String &libName)
Cache functions of a dependency.
GpuProgramType
Enumerates the types of programs which can run on the GPU.
void writeLocalParameter(std::ostream &os, ParameterPtr parameter)
Write a local parameter.
virtual ~ShaderProgramWriterGLSLESFactory()
Interface definition for factories of ShaderProgramWriter.
String processOperand(Operand op, GpuProgramType gpuType)
map< GpuConstantType, const char * >::type GpuConstTypeToStringMap
FunctionInvocation * createInvocationFromString(const String &input)
Create a FunctionInvocation object from a string taken out of a shader library.
map< FunctionInvocation, String >::type FunctionMap
GLSL ES target language writer implementation.
void initializeStringMaps()
Initialize string maps.
StringMap mInputToGLStatesMap
virtual void writeSourceCode(std::ostream &os, Program *program)
virtual ~GLSLESProgramWriter()
Class destructor.
map< String, String >::type StringMap
ParamContentToStringMap mContentToPerVertexAttributes
StringVector mFragInputParams
map< Parameter::Semantic, const char * >::type ParamSemanticToStringMap
GpuConstTypeToStringMap mGpuConstTypeMap
A class that represents a shader based program function.
Base class interface for shader program writers.
virtual const String & getTargetLanguage() const
void discoverFunctionDependencies(const FunctionInvocation &invoc, FunctionVector &depVector)
Search within a function body for non-builtin functions that a given function invocation depends on...
vector< FunctionInvocation >::type FunctionVector
GLSLESProgramWriter()
Class constructor.
void writeInputParameters(std::ostream &os, Function *function, GpuProgramType gpuType)
Write the input params of the function.
FunctionVector::const_iterator FunctionVectorIterator
vector< String >::type StringVector
GpuConstTypeToStringMap::const_iterator GpuConstTypeToStringMapIterator
virtual const String & getTargetLanguage(void) const
GLSL ES program writer factory implementation.
A class that represents a shader based program.
virtual ProgramWriter * create(void)
StringMap mCachedFunctionLibraries
A class that represents a function operand (its the combination of a parameter the in/out semantic an...
ShaderProgramWriterGLSLESFactory()
A class that represents function invocation code from shader based program function.
map< Parameter::Content, const char * >::type ParamContentToStringMap
static String TargetLanguage