OGRE  1.9.0
Ogre::RTShader::GLSLESProgramWriter Class Reference

GLSL ES target language writer implementation. More...

#include <OgreShaderGLSLESProgramWriter.h>

Inheritance diagram for Ogre::RTShader::GLSLESProgramWriter:

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 operator delete (void *ptr, const char *, int, const char *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, void *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz)
 
void * operator new (size_t sz)
 
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, const char *file, int line, const char *func)
 operator new, with debug line info
 
void * operator new (size_t sz, void *ptr)
 placement operator new
 
void * operator new (size_t sz, void *ptr)
 placement operator new
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz)
 
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, const char *file, int line, const char *func)
 array operator new, with debug line info
 
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, constchar * >::type GpuConstTypeToStringMap
 
typedef GpuConstTypeToStringMap::const_iterator GpuConstTypeToStringMapIterator
 
typedef map< Parameter::Content, constchar * >::type ParamContentToStringMap
 
typedef map< Parameter::Semantic, constchar * >::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

◆ FunctionMap

◆ FunctionMapIterator

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

Definition at line 77 of file OgreShaderGLSLESProgramWriter.h.

◆ FunctionVector

◆ FunctionVectorIterator

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

Definition at line 78 of file OgreShaderGLSLESProgramWriter.h.

◆ GpuConstTypeToStringMap

◆ GpuConstTypeToStringMapIterator

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

Definition at line 79 of file OgreShaderGLSLESProgramWriter.h.

◆ ParamContentToStringMap

◆ ParamSemanticToStringMap

◆ StringMap

Constructor & Destructor Documentation

◆ GLSLESProgramWriter()

Ogre::RTShader::GLSLESProgramWriter::GLSLESProgramWriter ( )

Class constructor.

◆ ~GLSLESProgramWriter()

virtual Ogre::RTShader::GLSLESProgramWriter::~GLSLESProgramWriter ( )
virtual

Class destructor.

Member Function Documentation

◆ cacheDependencyFunctions()

virtual void Ogre::RTShader::GLSLESProgramWriter::cacheDependencyFunctions ( const String & libName)
protectedvirtual

Cache functions of a dependency.

◆ createInvocationFromString()

FunctionInvocation * Ogre::RTShader::GLSLESProgramWriter::createInvocationFromString ( const String & input)
protected

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

◆ discoverFunctionDependencies()

void Ogre::RTShader::GLSLESProgramWriter::discoverFunctionDependencies ( const FunctionInvocation & invoc,
FunctionVector & depVector )
protected

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

◆ getTargetLanguage()

virtual const String & Ogre::RTShader::GLSLESProgramWriter::getTargetLanguage ( ) const
virtual

◆ initializeStringMaps()

void Ogre::RTShader::GLSLESProgramWriter::initializeStringMaps ( )
protected

Initialize string maps.

◆ isBasicType()

bool Ogre::RTShader::GLSLESProgramWriter::isBasicType ( String & type)
protected

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

◆ operator delete() [1/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr)
inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [2/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr)
inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [3/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr,
const char * ,
int ,
const char *  )
inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [4/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr,
const char * ,
int ,
const char *  )
inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [5/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr,
void *  )
inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [6/6]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete ( void * ptr,
void *  )
inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [1/4]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete[] ( void * ptr)
inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [2/4]

void Ogre::AllocatedObject< GeneralAllocPolicy >::operator delete[] ( void * ptr)
inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [3/4]

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

Definition at line 119 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [4/4]

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

Definition at line 119 of file OgreMemoryAllocatedObject.h.

◆ operator new() [1/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new ( size_t sz)
inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

◆ operator new() [2/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new ( size_t sz)
inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

◆ operator new() [3/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::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.

◆ operator new() [4/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::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.

◆ operator new() [5/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new ( size_t sz,
void * ptr )
inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

◆ operator new() [6/6]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::operator new ( size_t sz,
void * ptr )
inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [1/4]

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

Definition at line 91 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [2/4]

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

Definition at line 91 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [3/4]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::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.

◆ operator new[]() [4/4]

void * Ogre::AllocatedObject< GeneralAllocPolicy >::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.

◆ processOperand()

String Ogre::RTShader::GLSLESProgramWriter::processOperand ( Operand op,
GpuProgramType gpuType )
protected

◆ writeFunctionTitle()

void Ogre::RTShader::ProgramWriter::writeFunctionTitle ( std::ostream & os,
Function * function )
protectedinherited

Write a function title.

◆ writeInputParameters()

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

Write the input params of the function.

◆ writeLocalParameter()

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

Write a local parameter.

◆ writeOutParameters()

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

Write the output params of the function.

◆ writeProgramDependencies()

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

Write the program dependencies.

◆ writeProgramTitle()

void Ogre::RTShader::ProgramWriter::writeProgramTitle ( std::ostream & os,
Program * program )
protectedinherited

Write the program title.

◆ writeSourceCode()

virtual void Ogre::RTShader::GLSLESProgramWriter::writeSourceCode ( std::ostream & os,
Program * program )
virtual

◆ writeUniformParametersTitle()

void Ogre::RTShader::ProgramWriter::writeUniformParametersTitle ( std::ostream & os,
Program * program )
protectedinherited

Write the uniform parameters title.

Member Data Documentation

◆ mCachedFunctionLibraries

StringMap Ogre::RTShader::GLSLESProgramWriter::mCachedFunctionLibraries
protected

Definition at line 125 of file OgreShaderGLSLESProgramWriter.h.

◆ mContentToPerVertexAttributes

ParamContentToStringMap Ogre::RTShader::GLSLESProgramWriter::mContentToPerVertexAttributes
protected

Definition at line 122 of file OgreShaderGLSLESProgramWriter.h.

◆ mDefinesMap

StringMap Ogre::RTShader::GLSLESProgramWriter::mDefinesMap
protected

Definition at line 121 of file OgreShaderGLSLESProgramWriter.h.

◆ mFragInputParams

StringVector Ogre::RTShader::GLSLESProgramWriter::mFragInputParams
protected

Definition at line 124 of file OgreShaderGLSLESProgramWriter.h.

◆ mFunctionCacheMap

FunctionMap Ogre::RTShader::GLSLESProgramWriter::mFunctionCacheMap
protected

Definition at line 120 of file OgreShaderGLSLESProgramWriter.h.

◆ mGLSLVersion

int Ogre::RTShader::GLSLESProgramWriter::mGLSLVersion
protected

Definition at line 123 of file OgreShaderGLSLESProgramWriter.h.

◆ mGpuConstTypeMap

GpuConstTypeToStringMap Ogre::RTShader::GLSLESProgramWriter::mGpuConstTypeMap
protected

Definition at line 116 of file OgreShaderGLSLESProgramWriter.h.

◆ mInputToGLStatesMap

StringMap Ogre::RTShader::GLSLESProgramWriter::mInputToGLStatesMap
protected

Definition at line 119 of file OgreShaderGLSLESProgramWriter.h.

◆ mParamSemanticMap

ParamSemanticToStringMap Ogre::RTShader::GLSLESProgramWriter::mParamSemanticMap
protected

Definition at line 117 of file OgreShaderGLSLESProgramWriter.h.

◆ TargetLanguage

String Ogre::RTShader::GLSLESProgramWriter::TargetLanguage
static

Definition at line 68 of file OgreShaderGLSLESProgramWriter.h.

Referenced by getTargetLanguage().


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