27 #ifndef _ShaderProgramWriterGLSLES_
28 #define _ShaderProgramWriterGLSLES_
62 #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
100 #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
107 #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
114 #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
121 #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
127 #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID
void writeProgramDependencies(StringSerialiser &os, Program *program)
Write the program dependencies.
FunctionMap::const_iterator FunctionMapIterator
void writeLocalParameter(StringSerialiser &os, ParameterPtr parameter)
Write a local parameter.
bool isBasicType(String &type)
Check if a string matches one of the GLSL ES basic types.
FunctionMap mFunctionCacheMap
std::map< Parameter::Semantic, const char * > ParamSemanticToStringMap
void writeAssignFunction(StringSerialiser &os, FunctionInvocation::OperandVector::iterator itOperand, FunctionInvocation::OperandVector::iterator itOperandEnd, GpuProgramType gpuType)
ParamSemanticToStringMap mParamSemanticMap
virtual void cacheDependencyFunctions(const String &libName)
Cache functions of a dependency.
GpuProgramType
Enumerates the types of programs which can run on the GPU.
virtual ~ShaderProgramWriterGLSLESFactory()
Interface definition for factories of ShaderProgramWriter.
String processOperand(Operand op, GpuProgramType gpuType)
void writeOutParameters(StringSerialiser &os, Function *function, GpuProgramType gpuType)
Write the output params of the function.
FunctionInvocation * createInvocationFromString(const String &input)
Create a FunctionInvocation object from a string taken out of a shader library.
GLSL ES target language writer implementation.
void initializeStringMaps()
Initialize string maps.
StringMap mInputToGLStatesMap
virtual ~GLSLESProgramWriter()
Class destructor.
ParamContentToStringMap mContentToPerVertexAttributes
Serializes data values into a string using sprintf functions.
std::map< GpuConstantType, const char * > GpuConstTypeToStringMap
StringVector mFragInputParams
virtual void writeSourceCode(StringSerialiser &os, Program *program)
GpuConstTypeToStringMap mGpuConstTypeMap
void writeInputParameters(StringSerialiser &os, Function *function, GpuProgramType gpuType)
Write the input params of the function.
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...
std::vector< FunctionInvocation > FunctionVector
std::map< Parameter::Content, const char * > ParamContentToStringMap
GLSLESProgramWriter()
Class constructor.
FunctionVector::const_iterator FunctionVectorIterator
vector< String >::type StringVector
StringStream stringstream
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)
std::map< String, String > StringMap
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.
static String TargetLanguage
std::map< FunctionInvocation, String > FunctionMap