# Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper Class Reference

Interface definition for helper class to generate shaders. More...

`#include <OgreTerrainMaterialGeneratorA.h>`

Inheritance diagram for Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper:
[legend]

List of all members.

## Public Member Functions

| ShaderHelper ()
virtual | ~ShaderHelper ()
virtual HighLevelGpuProgramPtr | generateVertexProgram (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt)
virtual HighLevelGpuProgramPtr | generateFragmentProgram (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt)
virtual void | updateParams (const SM2Profile *prof, const MaterialPtr &mat, const Terrain *terrain, bool compositeMap)
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)
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 *)

## Protected Member Functions

virtual String | getVertexProgramName (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt)
virtual String | getFragmentProgramName (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt)
virtual HighLevelGpuProgramPtr | createVertexProgram (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt)=0
virtual HighLevelGpuProgramPtr | createFragmentProgram (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt)=0
virtual void | generateVertexProgramSource (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, StringUtil::StrStreamType &outStream)
virtual void | generateFragmentProgramSource (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, StringUtil::StrStreamType &outStream)
virtual void | generateVpHeader (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, StringUtil::StrStreamType &outStream)=0
virtual void | generateFpHeader (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, StringUtil::StrStreamType &outStream)=0
virtual void | generateVpLayer (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, uint layer, StringUtil::StrStreamType &outStream)=0
virtual void | generateFpLayer (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, uint layer, StringUtil::StrStreamType &outStream)=0
virtual void | generateVpFooter (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, StringUtil::StrStreamType &outStream)=0
virtual void | generateFpFooter (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, StringUtil::StrStreamType &outStream)=0
virtual void | defaultVpParams (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, const HighLevelGpuProgramPtr &prog)
virtual void | defaultFpParams (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, const HighLevelGpuProgramPtr &prog)
virtual void | updateVpParams (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, const GpuProgramParametersSharedPtr &params)
virtual void | updateFpParams (const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, const GpuProgramParametersSharedPtr &params)

## Static Protected Member Functions

static String | getChannel (uint idx)

## Protected Attributes

size_t | mShadowSamplerStartHi
size_t | mShadowSamplerStartLo

## Detailed Description

Interface definition for helper class to generate shaders.

Definition at line 159 of file OgreTerrainMaterialGeneratorA.h.

## Constructor & Destructor Documentation

Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::ShaderHelper | ( |  | ) |

Definition at line 162 of file OgreTerrainMaterialGeneratorA.h.

virtual Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::~ShaderHelper | ( |  | ) | `[virtual]`

Definition at line 163 of file OgreTerrainMaterialGeneratorA.h.

## Member Function Documentation

virtual HighLevelGpuProgramPtr Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::createFragmentProgram | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt
| ) |  | `[protected, pure virtual]`

Implemented in Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperCg, Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperHLSL, and Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperGLSL.

virtual HighLevelGpuProgramPtr Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::createVertexProgram | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt
| ) |  | `[protected, pure virtual]`

Implemented in Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperCg, Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperHLSL, and Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperGLSL.

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::defaultFpParams | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | const HighLevelGpuProgramPtr & | prog
| ) |  | `[protected, virtual]`

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::defaultVpParams | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | const HighLevelGpuProgramPtr & | prog
| ) |  | `[protected, virtual]`

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::generateFpFooter | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | StringUtil::StrStreamType & | outStream
| ) |  | `[protected, pure virtual]`

Implemented in Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperCg, and Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperGLSL.

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::generateFpHeader | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | StringUtil::StrStreamType & | outStream
| ) |  | `[protected, pure virtual]`

Implemented in Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperCg, and Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperGLSL.

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::generateFpLayer | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | uint | layer,
|  | StringUtil::StrStreamType & | outStream
| ) |  | `[protected, pure virtual]`

Implemented in Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperCg, and Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperGLSL.

virtual HighLevelGpuProgramPtr Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::generateFragmentProgram | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt
| ) |  | `[virtual]`

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::generateFragmentProgramSource | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | StringUtil::StrStreamType & | outStream
| ) |  | `[protected, virtual]`

virtual HighLevelGpuProgramPtr Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::generateVertexProgram | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt
| ) |  | `[virtual]`

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::generateVertexProgramSource | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | StringUtil::StrStreamType & | outStream
| ) |  | `[protected, virtual]`

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::generateVpFooter | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | StringUtil::StrStreamType & | outStream
| ) |  | `[protected, pure virtual]`

Implemented in Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperCg, and Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperGLSL.

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::generateVpHeader | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | StringUtil::StrStreamType & | outStream
| ) |  | `[protected, pure virtual]`

Implemented in Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperCg, and Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperGLSL.

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::generateVpLayer | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | uint | layer,
|  | StringUtil::StrStreamType & | outStream
| ) |  | `[protected, pure virtual]`

Implemented in Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperCg, and Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelperGLSL.

static String Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::getChannel | ( | uint | idx | ) | `[static, protected]`

virtual String Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::getFragmentProgramName | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt
| ) |  | `[protected, virtual]`

virtual String Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::getVertexProgramName | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt
| ) |  | `[protected, virtual]`

template<class Alloc >

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

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 72 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 78 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 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 90 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 85 of file OgreMemoryAllocatedObject.h.

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::updateFpParams | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | const GpuProgramParametersSharedPtr & | params
| ) |  | `[protected, virtual]`

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::updateParams | ( | const SM2Profile * | prof,
|  | const MaterialPtr & | mat,
|  | const Terrain * | terrain,
|  | bool | compositeMap
| ) |  | `[virtual]`

virtual void Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::updateVpParams | ( | const SM2Profile * | prof,
|  | const Terrain * | terrain,
|  | TechniqueType | tt,
|  | const GpuProgramParametersSharedPtr & | params
| ) |  | `[protected, virtual]`

## Member Data Documentation

size_t Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::mShadowSamplerStartHi `[protected]`

Definition at line 186 of file OgreTerrainMaterialGeneratorA.h.

size_t Ogre::TerrainMaterialGeneratorA::SM2Profile::ShaderHelper::mShadowSamplerStartLo `[protected]`

Definition at line 187 of file OgreTerrainMaterialGeneratorA.h.

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

- OgreTerrainMaterialGeneratorA.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun May 8 2011 20:28:21