RigsofRods
Soft-body Physics Simulation
Data Structures | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
Ogre::TerrainPSSMMaterialGenerator::SM2Profile Class Reference

Shader model 2 profile target. More...

#include <OgreTerrainPSSMMaterialGenerator.h>

+ Inheritance diagram for Ogre::TerrainPSSMMaterialGenerator::SM2Profile:
+ Collaboration diagram for Ogre::TerrainPSSMMaterialGenerator::SM2Profile:

Data Structures

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)
 
 ~SM2Profile ()
 
MaterialPtr generate (const Terrain *terrain)
 
MaterialPtr generateForCompositeMap (const Terrain *terrain)
 
uint8 getMaxLayers (const Terrain *terrain) const
 
void updateParams (const MaterialPtr &mat, const Terrain *terrain)
 
void updateParamsForCompositeMap (const MaterialPtr &mat, const Terrain *terrain)
 
void requestOptions (Terrain *terrain)
 
bool isVertexCompressionSupported () const
 
bool isLayerNormalMappingEnabled () const
 Whether to support normal mapping per layer in the shader (default true). More...
 
void setLayerNormalMappingEnabled (bool enabled)
 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...
 
void setLayerParallaxMappingEnabled (bool enabled)
 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...
 
void setLayerSpecularMappingEnabled (bool enabled)
 Whether to support specular mapping per layer in the shader (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...
 
void setGlobalColourMapEnabled (bool enabled)
 Whether to support a global colour map over the terrain in the shader, if it's present (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...
 
void setLightmapEnabled (bool enabled)
 Whether to support a light map over the terrain in the shader, if it's present (default true). More...
 
bool isCompositeMapEnabled () const
 Whether to use the composite map to provide a lower LOD technique in the distance (default true). More...
 
void setCompositeMapEnabled (bool enabled)
 Whether to use the composite map to provide a lower LOD technique in the distance (default true). More...
 
bool getReceiveDynamicShadowsEnabled () const
 Whether to support dynamic texture shadows received from other objects, on the terrain (default true). More...
 
void setReceiveDynamicShadowsEnabled (bool enabled)
 Whether to support dynamic texture shadows received from other objects, on the terrain (default true). More...
 
void setReceiveDynamicShadowsPSSM (PSSMShadowCameraSetup *pssmSettings)
 Whether to use PSSM support dynamic texture shadows, and if so the settings to use (default 0). More...
 
PSSMShadowCameraSetup * getReceiveDynamicShadowsPSSM () const
 Whether to use PSSM support dynamic texture shadows, and if so the settings to use (default 0). More...
 
void setReceiveDynamicShadowsDepth (bool enabled)
 Whether to use depth shadows (default false). More...
 
bool getReceiveDynamicShadowsDepth () const
 Whether to use depth shadows (default false). More...
 
void setReceiveDynamicShadowsLowLod (bool enabled)
 Whether to use shadows on low LOD material rendering (when using composite map) (default false). More...
 
bool getReceiveDynamicShadowsLowLod () const
 Whether to use shadows on low LOD material rendering (when using composite map) (default false). More...
 
bool _isSM3Available () const
 Internal. More...
 
bool _isSM4Available () const
 

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

ShaderHelpermShaderGen
 
bool mLayerNormalMappingEnabled
 
bool mLayerParallaxMappingEnabled
 
bool mLayerSpecularMappingEnabled
 
bool mGlobalColourMapEnabled
 
bool mLightmapEnabled
 
bool mCompositeMapEnabled
 
bool mReceiveDynamicShadows
 
PSSMShadowCameraSetup * mPSSM
 
bool mDepthShadows
 
bool mLowLodShadows
 
bool mSM3Available
 
bool mSM4Available
 

Detailed Description

Shader model 2 profile target.

Definition at line 52 of file OgreTerrainPSSMMaterialGenerator.h.

Member Enumeration Documentation

◆ TechniqueType

Enumerator
HIGH_LOD 
LOW_LOD 
RENDER_COMPOSITE_MAP 

Definition at line 152 of file OgreTerrainPSSMMaterialGenerator.h.

Constructor & Destructor Documentation

◆ SM2Profile()

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

Definition at line 73 of file OgreTerrainPSSMMaterialGenerator.cpp.

◆ ~SM2Profile()

Ogre::TerrainPSSMMaterialGenerator::SM2Profile::~SM2Profile ( )

Definition at line 90 of file OgreTerrainPSSMMaterialGenerator.cpp.

Member Function Documentation

◆ _isSM3Available()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::_isSM3Available ( ) const
inline

Internal.

Definition at line 147 of file OgreTerrainPSSMMaterialGenerator.h.

+ Here is the caller graph for this function:

◆ _isSM4Available()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::_isSM4Available ( ) const
inline

Definition at line 148 of file OgreTerrainPSSMMaterialGenerator.h.

+ Here is the caller graph for this function:

◆ addTechnique()

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

Definition at line 314 of file OgreTerrainPSSMMaterialGenerator.cpp.

◆ generate()

MaterialPtr Ogre::TerrainPSSMMaterialGenerator::SM2Profile::generate ( const Terrain *  terrain)

Definition at line 237 of file OgreTerrainPSSMMaterialGenerator.cpp.

◆ generateForCompositeMap()

MaterialPtr Ogre::TerrainPSSMMaterialGenerator::SM2Profile::generateForCompositeMap ( const Terrain *  terrain)

Definition at line 286 of file OgreTerrainPSSMMaterialGenerator.cpp.

◆ getMaxLayers()

uint8 Ogre::TerrainPSSMMaterialGenerator::SM2Profile::getMaxLayers ( const Terrain *  terrain) const

Definition at line 211 of file OgreTerrainPSSMMaterialGenerator.cpp.

+ Here is the caller graph for this function:

◆ getReceiveDynamicShadowsDepth()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::getReceiveDynamicShadowsDepth ( ) const
inline

Whether to use depth shadows (default false).

Definition at line 137 of file OgreTerrainPSSMMaterialGenerator.h.

+ Here is the caller graph for this function:

◆ getReceiveDynamicShadowsEnabled()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::getReceiveDynamicShadowsEnabled ( ) const
inline

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

Definition at line 116 of file OgreTerrainPSSMMaterialGenerator.h.

◆ getReceiveDynamicShadowsLowLod()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::getReceiveDynamicShadowsLowLod ( ) const
inline

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

Definition at line 144 of file OgreTerrainPSSMMaterialGenerator.h.

◆ getReceiveDynamicShadowsPSSM()

PSSMShadowCameraSetup* Ogre::TerrainPSSMMaterialGenerator::SM2Profile::getReceiveDynamicShadowsPSSM ( ) const
inline

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

Definition at line 130 of file OgreTerrainPSSMMaterialGenerator.h.

+ Here is the caller graph for this function:

◆ isCompositeMapEnabled()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::isCompositeMapEnabled ( ) const
inline

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

Definition at line 107 of file OgreTerrainPSSMMaterialGenerator.h.

+ Here is the caller graph for this function:

◆ isGlobalColourMapEnabled()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::isGlobalColourMapEnabled ( ) const
inline

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

Definition at line 89 of file OgreTerrainPSSMMaterialGenerator.h.

+ Here is the caller graph for this function:

◆ isLayerNormalMappingEnabled()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::isLayerNormalMappingEnabled ( ) const
inline

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

Definition at line 67 of file OgreTerrainPSSMMaterialGenerator.h.

+ Here is the caller graph for this function:

◆ isLayerParallaxMappingEnabled()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::isLayerParallaxMappingEnabled ( ) const
inline

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

Definition at line 74 of file OgreTerrainPSSMMaterialGenerator.h.

+ Here is the caller graph for this function:

◆ isLayerSpecularMappingEnabled()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::isLayerSpecularMappingEnabled ( ) const
inline

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

Definition at line 81 of file OgreTerrainPSSMMaterialGenerator.h.

+ Here is the caller graph for this function:

◆ isLightmapEnabled()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::isLightmapEnabled ( ) const
inline

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

Definition at line 98 of file OgreTerrainPSSMMaterialGenerator.h.

+ Here is the caller graph for this function:

◆ isShadowingEnabled()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::isShadowingEnabled ( TechniqueType  tt,
const Terrain *  terrain 
) const
protected

Definition at line 423 of file OgreTerrainPSSMMaterialGenerator.cpp.

+ Here is the caller graph for this function:

◆ isVertexCompressionSupported()

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::isVertexCompressionSupported ( ) const

Definition at line 105 of file OgreTerrainPSSMMaterialGenerator.cpp.

◆ requestOptions()

void Ogre::TerrainPSSMMaterialGenerator::SM2Profile::requestOptions ( Terrain *  terrain)

Definition at line 96 of file OgreTerrainPSSMMaterialGenerator.cpp.

◆ setCompositeMapEnabled()

void Ogre::TerrainPSSMMaterialGenerator::SM2Profile::setCompositeMapEnabled ( bool  enabled)

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

Definition at line 161 of file OgreTerrainPSSMMaterialGenerator.cpp.

◆ setGlobalColourMapEnabled()

void Ogre::TerrainPSSMMaterialGenerator::SM2Profile::setGlobalColourMapEnabled ( bool  enabled)

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

Definition at line 141 of file OgreTerrainPSSMMaterialGenerator.cpp.

+ Here is the caller graph for this function:

◆ setLayerNormalMappingEnabled()

void Ogre::TerrainPSSMMaterialGenerator::SM2Profile::setLayerNormalMappingEnabled ( bool  enabled)

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

Definition at line 111 of file OgreTerrainPSSMMaterialGenerator.cpp.

+ Here is the caller graph for this function:

◆ setLayerParallaxMappingEnabled()

void Ogre::TerrainPSSMMaterialGenerator::SM2Profile::setLayerParallaxMappingEnabled ( bool  enabled)

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

Definition at line 121 of file OgreTerrainPSSMMaterialGenerator.cpp.

+ Here is the caller graph for this function:

◆ setLayerSpecularMappingEnabled()

void Ogre::TerrainPSSMMaterialGenerator::SM2Profile::setLayerSpecularMappingEnabled ( bool  enabled)

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

Definition at line 131 of file OgreTerrainPSSMMaterialGenerator.cpp.

+ Here is the caller graph for this function:

◆ setLightmapEnabled()

void Ogre::TerrainPSSMMaterialGenerator::SM2Profile::setLightmapEnabled ( bool  enabled)

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

Definition at line 151 of file OgreTerrainPSSMMaterialGenerator.cpp.

+ Here is the caller graph for this function:

◆ setReceiveDynamicShadowsDepth()

void Ogre::TerrainPSSMMaterialGenerator::SM2Profile::setReceiveDynamicShadowsDepth ( bool  enabled)

Whether to use depth shadows (default false).

Definition at line 191 of file OgreTerrainPSSMMaterialGenerator.cpp.

+ Here is the caller graph for this function:

◆ setReceiveDynamicShadowsEnabled()

void Ogre::TerrainPSSMMaterialGenerator::SM2Profile::setReceiveDynamicShadowsEnabled ( bool  enabled)

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

Definition at line 171 of file OgreTerrainPSSMMaterialGenerator.cpp.

+ Here is the caller graph for this function:

◆ setReceiveDynamicShadowsLowLod()

void Ogre::TerrainPSSMMaterialGenerator::SM2Profile::setReceiveDynamicShadowsLowLod ( bool  enabled)

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

Definition at line 201 of file OgreTerrainPSSMMaterialGenerator.cpp.

+ Here is the caller graph for this function:

◆ setReceiveDynamicShadowsPSSM()

void Ogre::TerrainPSSMMaterialGenerator::SM2Profile::setReceiveDynamicShadowsPSSM ( PSSMShadowCameraSetup *  pssmSettings)

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

Definition at line 181 of file OgreTerrainPSSMMaterialGenerator.cpp.

+ Here is the caller graph for this function:

◆ updateParams()

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

Definition at line 431 of file OgreTerrainPSSMMaterialGenerator.cpp.

◆ updateParamsForCompositeMap()

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

Definition at line 437 of file OgreTerrainPSSMMaterialGenerator.cpp.

Field Documentation

◆ mCompositeMapEnabled

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mCompositeMapEnabled
protected

Definition at line 271 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mDepthShadows

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mDepthShadows
protected

Definition at line 274 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mGlobalColourMapEnabled

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mGlobalColourMapEnabled
protected

Definition at line 269 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mLayerNormalMappingEnabled

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mLayerNormalMappingEnabled
protected

Definition at line 266 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mLayerParallaxMappingEnabled

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mLayerParallaxMappingEnabled
protected

Definition at line 267 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mLayerSpecularMappingEnabled

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mLayerSpecularMappingEnabled
protected

Definition at line 268 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mLightmapEnabled

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mLightmapEnabled
protected

Definition at line 270 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mLowLodShadows

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mLowLodShadows
protected

Definition at line 275 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mPSSM

PSSMShadowCameraSetup* Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mPSSM
protected

Definition at line 273 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mReceiveDynamicShadows

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mReceiveDynamicShadows
protected

Definition at line 272 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mShaderGen

ShaderHelper* Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mShaderGen
protected

Definition at line 265 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mSM3Available

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mSM3Available
protected

Definition at line 276 of file OgreTerrainPSSMMaterialGenerator.h.

◆ mSM4Available

bool Ogre::TerrainPSSMMaterialGenerator::SM2Profile::mSM4Available
protected

Definition at line 277 of file OgreTerrainPSSMMaterialGenerator.h.


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