|  | OGRE
    1.11.6
    Object-Oriented Graphics Rendering Engine | 
Class that provides functionality to generate materials for use with a terrain. More...
#include <OgreTerrainMaterialGenerator.h>
 Inheritance diagram for Ogre::TerrainMaterialGenerator:
 Inheritance diagram for Ogre::TerrainMaterialGenerator:| Classes | |
| class | Profile | 
| Inner class which should also be subclassed to provide profile-specific material generation.  More... | |
| Public Types | |
| typedef std::vector< Profile * > | ProfileList | 
| List of profiles - NB should be ordered in descending complexity.  More... | |
| Public Member Functions | |
| TerrainMaterialGenerator () | |
| virtual | ~TerrainMaterialGenerator () | 
| Texture * | _getCompositeMapRTT () | 
| void | _markChanged () | 
| Internal method - indicates that a change has been made that would require material regeneration.  More... | |
| virtual void | _renderCompositeMap (size_t size, const Rect &rect, const MaterialPtr &mat, const TexturePtr &destCompositeMap) | 
| Helper method to render a composite map.  More... | |
| virtual bool | canGenerateUsingDeclaration (const TerrainLayerDeclaration &decl) | 
| Whether this generator can generate a material for a given declaration.  More... | |
| virtual MaterialPtr | generate (const Terrain *terrain) | 
| Generate a material for the given terrain using the active profile.  More... | |
| virtual MaterialPtr | generateForCompositeMap (const Terrain *terrain) | 
| Generate a material for the given composite map of the terrain using the active profile.  More... | |
| Profile * | getActiveProfile () const | 
| Get the active profile.  More... | |
| unsigned long long int | getChangeCount () const | 
| Returns the number of times the generator has undergone a change which would require materials to be regenerated.  More... | |
| virtual unsigned int | getDebugLevel () const | 
| Get the debug level of the material.  More... | |
| virtual const TerrainLayerDeclaration & | getLayerDeclaration () const | 
| Get the layer declaration that this material generator operates with.  More... | |
| virtual uint8 | getMaxLayers (const Terrain *terrain) const | 
| Get the maximum number of layers supported with the given terrain.  More... | |
| virtual const ProfileList & | getProfiles () const | 
| Get the list of profiles that this generator supports.  More... | |
| virtual bool | isVertexCompressionSupported () const | 
| Return whether this material generator supports using a compressed vertex format.  More... | |
| virtual void | requestOptions (Terrain *terrain) | 
| Triggers the generator to request the options that it needs.  More... | |
| virtual void | setActiveProfile (const String &name) | 
| Set the active profile by name.  More... | |
| virtual void | setActiveProfile (Profile *p) | 
| Set the active Profile.  More... | |
| virtual void | setDebugLevel (unsigned int dbg) | 
| Set the debug level of the material.  More... | |
| virtual void | setLightmapEnabled (bool enabled) | 
| Whether to support a light map over the terrain in the shader, if it's present (default true).  More... | |
| virtual void | updateCompositeMap (const Terrain *terrain, const Rect &rect) | 
| Update the composite map for a terrain.  More... | |
| virtual void | updateParams (const MaterialPtr &mat, const Terrain *terrain) | 
| Update parameters for the given terrain using the active profile.  More... | |
| virtual void | updateParamsForCompositeMap (const MaterialPtr &mat, const Terrain *terrain) | 
| Update parameters for the given terrain composite map using the active profile.  More... | |
Class that provides functionality to generate materials for use with a terrain.
| typedef std::vector<Profile*> Ogre::TerrainMaterialGenerator::ProfileList | 
List of profiles - NB should be ordered in descending complexity.
| Ogre::TerrainMaterialGenerator::TerrainMaterialGenerator | ( | ) | 
| 
 | virtual | 
| 
 | inlinevirtual | 
Get the list of profiles that this generator supports.
| 
 | inlinevirtual | 
Set the active profile by name.
| 
 | inlinevirtual | 
Set the active Profile.
| 
 | inline | 
Get the active profile.
| 
 | inline | 
Internal method - indicates that a change has been made that would require material regeneration.
| 
 | inline | 
Returns the number of times the generator has undergone a change which would require materials to be regenerated.
| 
 | inlinevirtual | 
Get the layer declaration that this material generator operates with.
| 
 | inlinevirtual | 
Whether this generator can generate a material for a given declaration.
By default this only returns true if the declaration is equal to the standard one returned from getLayerDeclaration, but if a subclass wants to be flexible to generate materials for other declarations too, it can specify here.
| 
 | inlinevirtual | 
Return whether this material generator supports using a compressed vertex format.
This is only possible when using shaders.
| 
 | inlinevirtual | 
Triggers the generator to request the options that it needs.
References Ogre::TerrainMaterialGenerator::Profile::requestOptions().
| 
 | inlinevirtual | 
Generate a material for the given terrain using the active profile.
References Ogre::TerrainMaterialGenerator::Profile::generate().
| 
 | inlinevirtual | 
Generate a material for the given composite map of the terrain using the active profile.
References Ogre::TerrainMaterialGenerator::Profile::generateForCompositeMap().
| 
 | inlinevirtual | 
Whether to support a light map over the terrain in the shader, if it's present (default true).
References Ogre::TerrainMaterialGenerator::Profile::setLightmapEnabled().
| 
 | inlinevirtual | 
Get the maximum number of layers supported with the given terrain.
References Ogre::TerrainMaterialGenerator::Profile::getMaxLayers().
| 
 | inlinevirtual | 
Update the composite map for a terrain.
The composite map for a terrain must match what the terrain should look like at distance. This method will only be called in the render thread so the generator is free to render into a texture to support this, so long as the results are blitted into the Terrain's own composite map afterwards.
References Ogre::TerrainMaterialGenerator::Profile::updateCompositeMap().
| 
 | inlinevirtual | 
Update parameters for the given terrain using the active profile.
References Ogre::TerrainMaterialGenerator::Profile::updateParams().
| 
 | inlinevirtual | 
Update parameters for the given terrain composite map using the active profile.
References Ogre::TerrainMaterialGenerator::Profile::updateParamsForCompositeMap().
| 
 | inlinevirtual | 
Set the debug level of the material.
| 
 | inlinevirtual | 
Get the debug level of the material.
| 
 | virtual | 
Helper method to render a composite map.
| size | The requested composite map size | 
| rect | The region of the composite map to update, in image space | 
| mat | The material to use to render the map | 
| destCompositeMap | A TexturePtr for the composite map to be written into | 
| 
 | inline |