29 #ifndef __Ogre_TerrainMaterialGeneratorA_H__
30 #define __Ogre_TerrainMaterialGeneratorA_H__
38 class PSSMShadowCameraSetup;
71 void requestOptions(
Terrain* terrain);
78 void setLayerNormalMappingEnabled(
bool enabled);
84 void setLayerParallaxMappingEnabled(
bool enabled);
90 void setLayerSpecularMappingEnabled(
bool enabled);
98 void setGlobalColourMapEnabled(
bool enabled);
106 void setLightmapEnabled(
bool enabled);
114 void setCompositeMapEnabled(
bool enabled);
122 void setReceiveDynamicShadowsEnabled(
bool enabled);
134 void setReceiveDynamicShadowsDepth(
bool enabled);
140 void setReceiveDynamicShadowsLowLod(
bool enabled);
bool isCompositeMapEnabled() const
Whether to use the composite map to provide a lower LOD technique in the distance (default true)...
void generateVpHeader(const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, StringUtil::StrStreamType &outStream)
Class that provides functionality to generate materials for use with a terrain.
The main containing class for a chunk of terrain.
bool isLayerParallaxMappingEnabled() const
Whether to support parallax mapping per layer in the shader (default true).
ShaderHelper * mShaderGen
PSSMShadowCameraSetup * getReceiveDynamicShadowsPSSM() const
Whether to use PSSM support dynamic texture shadows, and if so the settings to use (default 0)...
void generateVpFooter(const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, StringUtil::StrStreamType &outStream)
bool mGlobalColourMapEnabled
Interface definition for helper class to generate shaders.
bool getReceiveDynamicShadowsEnabled() const
Whether to support dynamic texture shadows received from other objects, on the terrain (default true)...
StringStream StrStreamType
Shader model 2 profile target.
bool mCompositeMapEnabled
size_t mShadowSamplerStartHi
#define _OgreTerrainExport
Specialisation of SharedPtr to allow SharedPtr to be assigned to HighLevelGpuProgramPtr.
bool getReceiveDynamicShadowsDepth() const
Whether to use depth shadows (default false).
bool isLayerNormalMappingEnabled() const
Whether to support normal mapping per layer in the shader (default true).
PSSMShadowCameraSetup * mPSSM
size_t mShadowSamplerStartLo
Utility class to help with generating shaders for GLSL.
bool mLayerSpecularMappingEnabled
bool _isSM3Available() const
Internal.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
A TerrainMaterialGenerator which can cope with normal mapped, specular mapped terrain.
bool getReceiveDynamicShadowsLowLod() const
Whether to use shadows on low LOD material rendering (when using composite map) (default false)...
void generateVpLayer(const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, uint layer, StringUtil::StrStreamType &outStream)
void generateFpFooter(const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, StringUtil::StrStreamType &outStream)
bool mLayerNormalMappingEnabled
Parallel Split Shadow Map (PSSM) shadow camera setup.
void generateFpHeader(const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, StringUtil::StrStreamType &outStream)
bool isLayerSpecularMappingEnabled() const
Whether to support specular mapping per layer in the shader (default true).
bool mReceiveDynamicShadows
bool isGlobalColourMapEnabled() const
Whether to support a global colour map over the terrain in the shader, if it's present (default true)...
bool mLayerParallaxMappingEnabled
Utility class to help with generating shaders for Cg / HLSL.
void generateFpLayer(const SM2Profile *prof, const Terrain *terrain, TechniqueType tt, uint layer, StringUtil::StrStreamType &outStream)
Inner class which should also be subclassed to provide profile-specific material generation.
Specialisation of SharedPtr to allow SharedPtr to be assigned to MaterialPtr.
bool isLightmapEnabled() const
Whether to support a light map over the terrain in the shader, if it's present (default true)...