Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes
Ogre::RTShader::GLSLESProgramWriter Class Reference

GLSL ES target language writer implementation. More...

#include <OgreShaderGLSLESProgramWriter.h>

Inheritance diagram for Ogre::RTShader::GLSLESProgramWriter:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 GLSLESProgramWriter ()
 Class constructor.
virtual ~GLSLESProgramWriter ()
 Class destructor.
virtual const StringgetTargetLanguage () const
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete (void *ptr, const char *, int, const char *)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, const char *, int, const char *)
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
void * operator new (size_t sz)
void * operator new (size_t sz, void *ptr)
 placement operator new
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
void * operator new[] (size_t sz)
virtual void writeSourceCode (std::ostream &os, Program *program)

Static Public Attributes

static String TargetLanguage

Protected Types

typedef map
< FunctionInvocation, String >
::type 
FunctionMap
typedef FunctionMap::const_iterator FunctionMapIterator
typedef vector
< FunctionInvocation >::type 
FunctionVector
typedef
FunctionVector::const_iterator 
FunctionVectorIterator
typedef map< GpuConstantType,
const char * >::type 
GpuConstTypeToStringMap
typedef
GpuConstTypeToStringMap::const_iterator 
GpuConstTypeToStringMapIterator
typedef map
< Parameter::Content, const
char * >::type 
ParamContentToStringMap
typedef map
< Parameter::Semantic, const
char * >::type 
ParamSemanticToStringMap
typedef map< String, String >::type StringMap

Protected Member Functions

virtual void cacheDependencyFunctions (const String &libName)
 Cache functions of a dependency.
FunctionInvocationcreateInvocationFromString (const String &input)
 Create a FunctionInvocation object from a string taken out of a shader library.
void discoverFunctionDependencies (const FunctionInvocation &invoc, FunctionVector &depVector)
 Search within a function body for non-builtin functions that a given function invocation depends on.
void initializeStringMaps ()
 Initialize string maps.
bool isBasicType (String &type)
 Check if a string matches one of the GLSL ES basic types.
String processOperand (Operand op, GpuProgramType gpuType)
void writeFunctionTitle (std::ostream &os, Function *function)
 Write a function title.
void writeInputParameters (std::ostream &os, Function *function, GpuProgramType gpuType)
 Write the input params of the function.
void writeLocalParameter (std::ostream &os, ParameterPtr parameter)
 Write a local parameter.
void writeOutParameters (std::ostream &os, Function *function, GpuProgramType gpuType)
 Write the output params of the function.
void writeProgramDependencies (std::ostream &os, Program *program)
 Write the program dependencies.
void writeProgramTitle (std::ostream &os, Program *program)
 Write the program title.
void writeUniformParametersTitle (std::ostream &os, Program *program)
 Write the uniform parameters title.

Protected Attributes

StringMap mCachedFunctionLibraries
ParamContentToStringMap mContentToPerVertexAttributes
StringMap mDefinesMap
StringVector mFragInputParams
FunctionMap mFunctionCacheMap
int mGLSLVersion
GpuConstTypeToStringMap mGpuConstTypeMap
StringMap mInputToGLStatesMap
ParamSemanticToStringMap mParamSemanticMap

Detailed Description

GLSL ES target language writer implementation.

See also:
ProgramWriter.

Definition at line 45 of file OgreShaderGLSLESProgramWriter.h.


Member Typedef Documentation

Definition at line 75 of file OgreShaderGLSLESProgramWriter.h.

typedef FunctionMap::const_iterator Ogre::RTShader::GLSLESProgramWriter::FunctionMapIterator [protected]

Definition at line 77 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 76 of file OgreShaderGLSLESProgramWriter.h.

typedef FunctionVector::const_iterator Ogre::RTShader::GLSLESProgramWriter::FunctionVectorIterator [protected]

Definition at line 78 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 71 of file OgreShaderGLSLESProgramWriter.h.

typedef GpuConstTypeToStringMap::const_iterator Ogre::RTShader::GLSLESProgramWriter::GpuConstTypeToStringMapIterator [protected]

Definition at line 79 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 73 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 72 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 74 of file OgreShaderGLSLESProgramWriter.h.


Constructor & Destructor Documentation

Class constructor.

Class destructor.


Member Function Documentation

virtual void Ogre::RTShader::GLSLESProgramWriter::cacheDependencyFunctions ( const String libName) [protected, virtual]

Cache functions of a dependency.

Create a FunctionInvocation object from a string taken out of a shader library.

Search within a function body for non-builtin functions that a given function invocation depends on.

virtual const String& Ogre::RTShader::GLSLESProgramWriter::getTargetLanguage ( void  ) const [virtual]

Initialize string maps.

Check if a string matches one of the GLSL ES basic types.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr) [inherited]

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
) [inherited]

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr) [inherited]

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
) [inherited]

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz) [inherited]

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
) [inherited]

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
) [inherited]

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz) [inherited]

Definition at line 91 of file OgreMemoryAllocatedObject.h.

void Ogre::RTShader::ProgramWriter::writeFunctionTitle ( std::ostream &  os,
Function function 
) [protected, inherited]

Write a function title.

void Ogre::RTShader::GLSLESProgramWriter::writeInputParameters ( std::ostream &  os,
Function function,
GpuProgramType  gpuType 
) [protected]

Write the input params of the function.

void Ogre::RTShader::GLSLESProgramWriter::writeLocalParameter ( std::ostream &  os,
ParameterPtr  parameter 
) [protected]

Write a local parameter.

void Ogre::RTShader::GLSLESProgramWriter::writeOutParameters ( std::ostream &  os,
Function function,
GpuProgramType  gpuType 
) [protected]

Write the output params of the function.

void Ogre::RTShader::GLSLESProgramWriter::writeProgramDependencies ( std::ostream &  os,
Program program 
) [protected]

Write the program dependencies.

void Ogre::RTShader::ProgramWriter::writeProgramTitle ( std::ostream &  os,
Program program 
) [protected, inherited]

Write the program title.

virtual void Ogre::RTShader::GLSLESProgramWriter::writeSourceCode ( std::ostream &  os,
Program program 
) [virtual]
void Ogre::RTShader::ProgramWriter::writeUniformParametersTitle ( std::ostream &  os,
Program program 
) [protected, inherited]

Write the uniform parameters title.


Member Data Documentation

Definition at line 125 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 122 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 121 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 124 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 120 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 123 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 116 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 119 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 117 of file OgreShaderGLSLESProgramWriter.h.

Definition at line 68 of file OgreShaderGLSLESProgramWriter.h.

Referenced by getTargetLanguage().


The documentation for this class was generated from the following file:

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Mon Jul 27 2020 13:41:49