Ogre::RTShader::GLSLESProgramWriter Class Reference
Core » RTShader

GLSL ES target language writer implementation. More...

`#include <OgreShaderGLSLESProgramWriter.h>`

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

## Public Member Functions

| GLSLESProgramWriter ()
| Class constructor. More...
virtual | ~GLSLESProgramWriter ()
| Class destructor. More...
virtual const String & | getTargetLanguage () 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 More...
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new More...
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info More...
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. More...
FunctionInvocation * | createInvocationFromString (const String &input)
| Create a FunctionInvocation object from a string taken out of a shader library. More...
void | discoverFunctionDependencies (const FunctionInvocation &invoc, FunctionVector &depVector)
| Search within a function body for non-builtin functions that a given function invocation depends on. More...
void | initializeStringMaps ()
| Initialize string maps. More...
bool | isBasicType (String &type)
| Check if a string matches one of the GLSL ES basic types. More...
String | processOperand (Operand op, GpuProgramType gpuType)
void | writeFunctionTitle (std::ostream &os, Function *function)
| Write a function title. More...
void | writeInputParameters (std::ostream &os, Function *function, GpuProgramType gpuType)
| Write the input params of the function. More...
void | writeLocalParameter (std::ostream &os, ParameterPtr parameter)
| Write a local parameter. More...
void | writeOutParameters (std::ostream &os, Function *function, GpuProgramType gpuType)
| Write the output params of the function. More...
void | writeProgramDependencies (std::ostream &os, Program *program)
| Write the program dependencies. More...
void | writeProgramTitle (std::ostream &os, Program *program)
| Write the program title. More...
void | writeUniformParametersTitle (std::ostream &os, Program *program)
| Write the uniform parameters title. More...

## 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

typedef map<FunctionInvocation, String>::type Ogre::RTShader::GLSLESProgramWriter::FunctionMap

protected

Definition at line 75 of file OgreShaderGLSLESProgramWriter.h.

## FunctionMapIterator

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

protected

Definition at line 77 of file OgreShaderGLSLESProgramWriter.h.

## FunctionVector

typedef vector<FunctionInvocation>::type Ogre::RTShader::GLSLESProgramWriter::FunctionVector

protected

Definition at line 76 of file OgreShaderGLSLESProgramWriter.h.

## FunctionVectorIterator

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

protected

Definition at line 78 of file OgreShaderGLSLESProgramWriter.h.

## GpuConstTypeToStringMap

typedef map<GpuConstantType, const char*>::type Ogre::RTShader::GLSLESProgramWriter::GpuConstTypeToStringMap

protected

Definition at line 71 of file OgreShaderGLSLESProgramWriter.h.

## GpuConstTypeToStringMapIterator

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

protected

Definition at line 79 of file OgreShaderGLSLESProgramWriter.h.

## ParamContentToStringMap

typedef map<Parameter::Content, const char*>::type Ogre::RTShader::GLSLESProgramWriter::ParamContentToStringMap

protected

Definition at line 73 of file OgreShaderGLSLESProgramWriter.h.

## ParamSemanticToStringMap

typedef map<Parameter::Semantic, const char*>::type Ogre::RTShader::GLSLESProgramWriter::ParamSemanticToStringMap

protected

Definition at line 72 of file OgreShaderGLSLESProgramWriter.h.

## StringMap

typedef map<String, String>::type Ogre::RTShader::GLSLESProgramWriter::StringMap

protected

Definition at line 74 of file OgreShaderGLSLESProgramWriter.h.

## Constructor & Destructor Documentation

## GLSLESProgramWriter()

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

Class constructor.

Referenced by Ogre::RTShader::ShaderProgramWriterGLSLESFactory::create().

## ~GLSLESProgramWriter()

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

virtual

Class destructor.

## Member Function Documentation

## cacheDependencyFunctions()

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

protected virtual

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

See also
  ProgramWriter::getTargetLanguage.

Implements Ogre::RTShader::ProgramWriter.

Definition at line 66 of file OgreShaderGLSLESProgramWriter.h.

References TargetLanguage.

## 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/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |

inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

## operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/3]

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.

## operator delete[]() [1/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |

inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [2/2]

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.

## operator new() [1/3]

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.

## operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

## operator new() [3/3]

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.

## operator new[]() [1/2]

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.

## operator new[]() [2/2]

template<class Alloc >

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

inherited

Definition at line 91 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
| ) |  |

protected inherited

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
| ) |  |

protected inherited

Write the program title.

## writeSourceCode()

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

virtual

See also
  ProgramWriter::writeSourceCode.

Implements Ogre::RTShader::ProgramWriter.

## writeUniformParametersTitle()

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

protected inherited

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:

- OgreShaderGLSLESProgramWriter.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.