Ogre::TerrainMaterialGeneratorA::SM2Profile Class Reference

Shader model 2 profile target. More...

`#include <OgreTerrainMaterialGeneratorA.h>`

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

## Classes

class | ShaderHelper
| Interface definition for helper class to generate shaders. More...
class | ShaderHelperCg
| Utility class to help with generating shaders for Cg / HLSL. More...
class | ShaderHelperGLSL
| Utility class to help with generating shaders for GLSL. More...
class | ShaderHelperGLSLES
| Utility class to help with generating shaders for GLSL ES. More...
class | ShaderHelperHLSL

## Public Member Functions

| SM2Profile (TerrainMaterialGenerator *parent, const String &name, const String &desc)
virtual | ~SM2Profile ()
String | _getShaderLanguage () const
bool | _isSM3Available () const
| Internal. More...
bool | _isSM4Available () const
MaterialPtr | generate (const Terrain *terrain)
| Generate / reuse a material for the terrain. More...
MaterialPtr | generateForCompositeMap (const Terrain *terrain)
| Generate / reuse a material for the terrain. More...
const String & | getDescription () const
| Get the description of this profile. More...
uint8 | getMaxLayers (const Terrain *terrain) const
| Get the number of layers supported. More...
const String & | getName () const
| Get the name of this profile. More...
TerrainMaterialGenerator * | getParent () const
| Get the generator which owns this profile. More...
bool | getReceiveDynamicShadowsDepth () const
| Whether to use depth shadows (default false). More...
bool | getReceiveDynamicShadowsEnabled () const
| Whether to support dynamic texture shadows received from other objects, on the terrain (default true). More...
bool | getReceiveDynamicShadowsLowLod () const
| Whether to use shadows on low LOD material rendering (when using composite map) (default false). More...
PSSMShadowCameraSetup * | getReceiveDynamicShadowsPSSM () const
| Whether to use PSSM support dynamic texture shadows, and if so the settings to use (default 0). More...
bool | isCompositeMapEnabled () const
| Whether to use the composite map to provide a lower LOD technique in the distance (default true). More...
bool | isGlobalColourMapEnabled () const
| Whether to support a global colour map over the terrain in the shader, if it's present (default true). More...
bool | isLayerNormalMappingEnabled () const
| Whether to support normal mapping per layer in the shader (default true). More...
bool | isLayerParallaxMappingEnabled () const
| Whether to support parallax mapping per layer in the shader (default true). More...
bool | isLayerSpecularMappingEnabled () const
| Whether to support specular mapping per layer in the shader (default true). More...
bool | isLightmapEnabled () const
| Whether to support a light map over the terrain in the shader, if it's present (default true). More...
bool | isVertexCompressionSupported () const
| Compressed vertex format supported? More...
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)
void | requestOptions (Terrain *terrain)
| Request the options needed from the terrain. More...
void | setCompositeMapEnabled (bool enabled)
| Whether to use the composite map to provide a lower LOD technique in the distance (default true). More...
void | setGlobalColourMapEnabled (bool enabled)
| Whether to support a global colour map over the terrain in the shader, if it's present (default true). More...
void | setLayerNormalMappingEnabled (bool enabled)
| Whether to support normal mapping per layer in the shader (default true). More...
void | setLayerParallaxMappingEnabled (bool enabled)
| Whether to support parallax mapping per layer in the shader (default true). More...
void | setLayerSpecularMappingEnabled (bool enabled)
| Whether to support specular mapping per layer in the shader (default true). More...
void | setLightmapEnabled (bool enabled)
| Whether to support a light map over the terrain in the shader, if it's present (default true). More...
void | setReceiveDynamicShadowsDepth (bool enabled)
| Whether to use depth shadows (default false). More...
void | setReceiveDynamicShadowsEnabled (bool enabled)
| Whether to support dynamic texture shadows received from other objects, on the terrain (default true). More...
void | setReceiveDynamicShadowsLowLod (bool enabled)
| Whether to use shadows on low LOD material rendering (when using composite map) (default false). More...
void | setReceiveDynamicShadowsPSSM (PSSMShadowCameraSetup *pssmSettings)
| Whether to use PSSM support dynamic texture shadows, and if so the settings to use (default 0). More...
virtual void | updateCompositeMap (const Terrain *terrain, const Rect &rect)
| Update the composite map for a terrain. More...
void | updateParams (const MaterialPtr &mat, const Terrain *terrain)
| Update params for a terrain. More...
void | updateParamsForCompositeMap (const MaterialPtr &mat, const Terrain *terrain)
| Update params for a terrain. More...

## Protected Types

enum | TechniqueType { HIGH_LOD, LOW_LOD, RENDER_COMPOSITE_MAP }

## Protected Member Functions

void | addTechnique (const MaterialPtr &mat, const Terrain *terrain, TechniqueType tt)
bool | isShadowingEnabled (TechniqueType tt, const Terrain *terrain) const

## Protected Attributes

bool | mCompositeMapEnabled
bool | mDepthShadows
String | mDesc
bool | mGlobalColourMapEnabled
bool | mLayerNormalMappingEnabled
bool | mLayerParallaxMappingEnabled
bool | mLayerSpecularMappingEnabled
bool | mLightmapEnabled
bool | mLowLodShadows
String | mName
TerrainMaterialGenerator * | mParent
PSSMShadowCameraSetup * | mPSSM
bool | mReceiveDynamicShadows
ShaderHelper * | mShaderGen
String | mShaderLanguage
bool | mSM3Available
bool | mSM4Available

## Detailed Description

Shader model 2 profile target.

Definition at line 61 of file OgreTerrainMaterialGeneratorA.h.

## Member Enumeration Documentation

## TechniqueType

enum Ogre::TerrainMaterialGeneratorA::SM2Profile::TechniqueType

protected

Enumerator
HIGH_LOD |
LOW_LOD |
RENDER_COMPOSITE_MAP |

Definition at line 153 of file OgreTerrainMaterialGeneratorA.h.

## Constructor & Destructor Documentation

## SM2Profile()

Ogre::TerrainMaterialGeneratorA::SM2Profile::SM2Profile | ( | TerrainMaterialGenerator * | parent,
|  | const String & | name,
|  | const String & | desc
| ) |  |

## ~SM2Profile()

virtual Ogre::TerrainMaterialGeneratorA::SM2Profile::~SM2Profile | ( |  | ) |

virtual

## Member Function Documentation

## _getShaderLanguage()

String Ogre::TerrainMaterialGeneratorA::SM2Profile::_getShaderLanguage | ( |  | ) | const

Definition at line 149 of file OgreTerrainMaterialGeneratorA.h.

## _isSM3Available()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::_isSM3Available | ( |  | ) | const

Internal.

Definition at line 147 of file OgreTerrainMaterialGeneratorA.h.

## _isSM4Available()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::_isSM4Available | ( |  | ) | const

Definition at line 148 of file OgreTerrainMaterialGeneratorA.h.

## addTechnique()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::addTechnique | ( | const MaterialPtr & | mat,
|  | const Terrain * | terrain,
|  | TechniqueType | tt
| ) |  |

protected

## generate()

MaterialPtr Ogre::TerrainMaterialGeneratorA::SM2Profile::generate | ( | const Terrain * | terrain | ) |

virtual

Generate / reuse a material for the terrain.

Implements Ogre::TerrainMaterialGenerator::Profile.

## generateForCompositeMap()

MaterialPtr Ogre::TerrainMaterialGeneratorA::SM2Profile::generateForCompositeMap | ( | const Terrain * | terrain | ) |

virtual

Generate / reuse a material for the terrain.

Implements Ogre::TerrainMaterialGenerator::Profile.

## getDescription()

const String& Ogre::TerrainMaterialGenerator::Profile::getDescription | ( |  | ) | const

inherited

Get the description of this profile.

Definition at line 184 of file OgreTerrainMaterialGenerator.h.

## getMaxLayers()

uint8 Ogre::TerrainMaterialGeneratorA::SM2Profile::getMaxLayers | ( | const Terrain * | terrain | ) | const

virtual

Get the number of layers supported.

Implements Ogre::TerrainMaterialGenerator::Profile.

## getName()

const String& Ogre::TerrainMaterialGenerator::Profile::getName | ( | void |  | ) | const

inherited

Get the name of this profile.

Definition at line 182 of file OgreTerrainMaterialGenerator.h.

## getParent()

TerrainMaterialGenerator* Ogre::TerrainMaterialGenerator::Profile::getParent | ( |  | ) | const

inherited

Get the generator which owns this profile.

Definition at line 180 of file OgreTerrainMaterialGenerator.h.

## getReceiveDynamicShadowsDepth()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::getReceiveDynamicShadowsDepth | ( |  | ) | const

Whether to use depth shadows (default false).

Definition at line 138 of file OgreTerrainMaterialGeneratorA.h.

## getReceiveDynamicShadowsEnabled()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::getReceiveDynamicShadowsEnabled | ( |  | ) | const

Whether to support dynamic texture shadows received from other objects, on the terrain (default true).

Definition at line 119 of file OgreTerrainMaterialGeneratorA.h.

## getReceiveDynamicShadowsLowLod()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::getReceiveDynamicShadowsLowLod | ( |  | ) | const

Whether to use shadows on low LOD material rendering (when using composite map) (default false).

Definition at line 144 of file OgreTerrainMaterialGeneratorA.h.

## getReceiveDynamicShadowsPSSM()

PSSMShadowCameraSetup* Ogre::TerrainMaterialGeneratorA::SM2Profile::getReceiveDynamicShadowsPSSM | ( |  | ) | const

Whether to use PSSM support dynamic texture shadows, and if so the settings to use (default 0).

Definition at line 132 of file OgreTerrainMaterialGeneratorA.h.

## isCompositeMapEnabled()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::isCompositeMapEnabled | ( |  | ) | const

Whether to use the composite map to provide a lower LOD technique in the distance (default true).

Definition at line 111 of file OgreTerrainMaterialGeneratorA.h.

## isGlobalColourMapEnabled()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::isGlobalColourMapEnabled | ( |  | ) | const

Whether to support a global colour map over the terrain in the shader, if it's present (default true).

Definition at line 95 of file OgreTerrainMaterialGeneratorA.h.

## isLayerNormalMappingEnabled()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::isLayerNormalMappingEnabled | ( |  | ) | const

Whether to support normal mapping per layer in the shader (default true).

Definition at line 76 of file OgreTerrainMaterialGeneratorA.h.

## isLayerParallaxMappingEnabled()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::isLayerParallaxMappingEnabled | ( |  | ) | const

Whether to support parallax mapping per layer in the shader (default true).

Definition at line 82 of file OgreTerrainMaterialGeneratorA.h.

## isLayerSpecularMappingEnabled()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::isLayerSpecularMappingEnabled | ( |  | ) | const

Whether to support specular mapping per layer in the shader (default true).

Definition at line 88 of file OgreTerrainMaterialGeneratorA.h.

## isLightmapEnabled()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::isLightmapEnabled | ( |  | ) | const

Whether to support a light map over the terrain in the shader, if it's present (default true).

Definition at line 103 of file OgreTerrainMaterialGeneratorA.h.

## isShadowingEnabled()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::isShadowingEnabled | ( | TechniqueType | tt,
|  | const Terrain * | terrain
| ) |  | const

protected

## isVertexCompressionSupported()

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::isVertexCompressionSupported | ( |  | ) | const

virtual

Compressed vertex format supported?

Implements Ogre::TerrainMaterialGenerator::Profile.

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

## requestOptions()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::requestOptions | ( | Terrain * | terrain | ) |

virtual

Request the options needed from the terrain.

Implements Ogre::TerrainMaterialGenerator::Profile.

## setCompositeMapEnabled()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::setCompositeMapEnabled | ( | bool | enabled | ) |

Whether to use the composite map to provide a lower LOD technique in the distance (default true).

## setGlobalColourMapEnabled()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::setGlobalColourMapEnabled | ( | bool | enabled | ) |

Whether to support a global colour map over the terrain in the shader, if it's present (default true).

## setLayerNormalMappingEnabled()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::setLayerNormalMappingEnabled | ( | bool | enabled | ) |

Whether to support normal mapping per layer in the shader (default true).

## setLayerParallaxMappingEnabled()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::setLayerParallaxMappingEnabled | ( | bool | enabled | ) |

Whether to support parallax mapping per layer in the shader (default true).

## setLayerSpecularMappingEnabled()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::setLayerSpecularMappingEnabled | ( | bool | enabled | ) |

Whether to support specular mapping per layer in the shader (default true).

## setLightmapEnabled()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::setLightmapEnabled | ( | bool | enabled | ) |

virtual

Whether to support a light map over the terrain in the shader, if it's present (default true).

Implements Ogre::TerrainMaterialGenerator::Profile.

## setReceiveDynamicShadowsDepth()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::setReceiveDynamicShadowsDepth | ( | bool | enabled | ) |

Whether to use depth shadows (default false).

## setReceiveDynamicShadowsEnabled()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::setReceiveDynamicShadowsEnabled | ( | bool | enabled | ) |

Whether to support dynamic texture shadows received from other objects, on the terrain (default true).

## setReceiveDynamicShadowsLowLod()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::setReceiveDynamicShadowsLowLod | ( | bool | enabled | ) |

Whether to use shadows on low LOD material rendering (when using composite map) (default false).

## setReceiveDynamicShadowsPSSM()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::setReceiveDynamicShadowsPSSM | ( | PSSMShadowCameraSetup * | pssmSettings | ) |

Whether to use PSSM support dynamic texture shadows, and if so the settings to use (default 0).

## updateCompositeMap()

virtual void Ogre::TerrainMaterialGenerator::Profile::updateCompositeMap | ( | const Terrain * | terrain,
|  | const Rect & | rect
| ) |  |

virtual inherited

Update the composite map for a terrain.

Referenced by Ogre::TerrainMaterialGenerator::updateCompositeMap().

## updateParams()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::updateParams | ( | const MaterialPtr & | mat,
|  | const Terrain * | terrain
| ) |  |

virtual

Update params for a terrain.

Implements Ogre::TerrainMaterialGenerator::Profile.

## updateParamsForCompositeMap()

void Ogre::TerrainMaterialGeneratorA::SM2Profile::updateParamsForCompositeMap | ( | const MaterialPtr & | mat,
|  | const Terrain * | terrain
| ) |  |

virtual

Update params for a terrain.

Implements Ogre::TerrainMaterialGenerator::Profile.

## Member Data Documentation

## mCompositeMapEnabled

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::mCompositeMapEnabled

protected

Definition at line 263 of file OgreTerrainMaterialGeneratorA.h.

## mDepthShadows

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::mDepthShadows

protected

Definition at line 266 of file OgreTerrainMaterialGeneratorA.h.

## mDesc

String Ogre::TerrainMaterialGenerator::Profile::mDesc

protected inherited

Definition at line 172 of file OgreTerrainMaterialGenerator.h.

## mGlobalColourMapEnabled

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::mGlobalColourMapEnabled

protected

Definition at line 261 of file OgreTerrainMaterialGeneratorA.h.

## mLayerNormalMappingEnabled

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::mLayerNormalMappingEnabled

protected

Definition at line 258 of file OgreTerrainMaterialGeneratorA.h.

## mLayerParallaxMappingEnabled

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::mLayerParallaxMappingEnabled

protected

Definition at line 259 of file OgreTerrainMaterialGeneratorA.h.

## mLayerSpecularMappingEnabled

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::mLayerSpecularMappingEnabled

protected

Definition at line 260 of file OgreTerrainMaterialGeneratorA.h.

## mLightmapEnabled

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::mLightmapEnabled

protected

Definition at line 262 of file OgreTerrainMaterialGeneratorA.h.

## mLowLodShadows

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::mLowLodShadows

protected

Definition at line 267 of file OgreTerrainMaterialGeneratorA.h.

## mName

String Ogre::TerrainMaterialGenerator::Profile::mName

protected inherited

Definition at line 171 of file OgreTerrainMaterialGenerator.h.

## mParent

TerrainMaterialGenerator* Ogre::TerrainMaterialGenerator::Profile::mParent

protected inherited

Definition at line 170 of file OgreTerrainMaterialGenerator.h.

## mPSSM

PSSMShadowCameraSetup* Ogre::TerrainMaterialGeneratorA::SM2Profile::mPSSM

protected

Definition at line 265 of file OgreTerrainMaterialGeneratorA.h.

## mReceiveDynamicShadows

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::mReceiveDynamicShadows

protected

Definition at line 264 of file OgreTerrainMaterialGeneratorA.h.

## mShaderGen

ShaderHelper* Ogre::TerrainMaterialGeneratorA::SM2Profile::mShaderGen

protected

Definition at line 257 of file OgreTerrainMaterialGeneratorA.h.

## mShaderLanguage

String Ogre::TerrainMaterialGeneratorA::SM2Profile::mShaderLanguage

protected

Definition at line 270 of file OgreTerrainMaterialGeneratorA.h.

## mSM3Available

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::mSM3Available

protected

Definition at line 268 of file OgreTerrainMaterialGeneratorA.h.

## mSM4Available

bool Ogre::TerrainMaterialGeneratorA::SM2Profile::mSM4Available

protected

Definition at line 269 of file OgreTerrainMaterialGeneratorA.h.

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

- OgreTerrainMaterialGeneratorA.h

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