Class that provides functionality to generate materials for use with a terrain.  
 More...
|  | 
|  | TerrainMaterialGenerator () | 
|  | 
| virtual | ~TerrainMaterialGenerator () | 
|  | 
| Texture * | _getCompositeMapRTT () | 
|  | 
| void | _markChanged () | 
|  | Internal method - indicates that a change has been made that would require material regeneration. 
 | 
|  | 
| virtual void | _renderCompositeMap (size_t size, const Rect &rect, const MaterialPtr &mat, const TexturePtr &destCompositeMap) | 
|  | Helper method to render a composite map. 
 | 
|  | 
| virtual bool | canGenerateUsingDeclaration (const TerrainLayerDeclaration &decl) | 
|  | Whether this generator can generate a material for a given declaration. 
 | 
|  | 
| virtual MaterialPtr | generate (const Terrain *terrain) | 
|  | Generate a material for the given terrain using the active profile. 
 | 
|  | 
| virtual MaterialPtr | generateForCompositeMap (const Terrain *terrain) | 
|  | Generate a material for the given composite map of the terrain using the active profile. 
 | 
|  | 
| Profile * | getActiveProfile () const | 
|  | Get the active profile. 
 | 
|  | 
| unsigned long long int | getChangeCount () const | 
|  | Returns the number of times the generator has undergone a change which would require materials to be regenerated. 
 | 
|  | 
| virtual unsigned int | getDebugLevel () const | 
|  | Get the debug level of the material. 
 | 
|  | 
| virtual const TerrainLayerDeclaration & | getLayerDeclaration () const | 
|  | Get the layer declaration that this material generator operates with. 
 | 
|  | 
| virtual uint8 | getMaxLayers (const Terrain *terrain) const | 
|  | Get the maximum number of layers supported with the given terrain. 
 | 
|  | 
| virtual const ProfileList & | getProfiles () const | 
|  | Get the list of profiles that this generator supports. 
 | 
|  | 
| virtual bool | isVertexCompressionSupported () const | 
|  | Return whether this material generator supports using a compressed vertex format. 
 | 
|  | 
| void | operator delete (void *ptr) | 
|  | 
| void | operator delete (void *ptr, const char *, int, const char *) | 
|  | 
| void | operator delete (void *ptr, void *) | 
|  | 
| void | operator delete[] (void *ptr) | 
|  | 
| void | operator delete[] (void *ptr, const char *, int, const char *) | 
|  | 
| void * | operator new (size_t sz) | 
|  | 
| 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 *ptr) | 
|  | placement operator new 
 | 
|  | 
| void * | operator new[] (size_t sz) | 
|  | 
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) | 
|  | array operator new, with debug line info 
 | 
|  | 
| virtual void | requestOptions (Terrain *terrain) | 
|  | Triggers the generator to request the options that it needs. 
 | 
|  | 
| virtual void | setActiveProfile (const String &name) | 
|  | Set the active profile by name. 
 | 
|  | 
| virtual void | setActiveProfile (Profile *p) | 
|  | Set the active Profile. 
 | 
|  | 
| virtual void | setDebugLevel (unsigned int dbg) | 
|  | Set the debug level of the material. 
 | 
|  | 
| virtual void | setLightmapEnabled (bool enabled) | 
|  | Whether to support a light map over the terrain in the shader, if it's present (default true). 
 | 
|  | 
| virtual void | updateCompositeMap (const Terrain *terrain, const Rect &rect) | 
|  | Update the composite map for a terrain. 
 | 
|  | 
| virtual void | updateParams (const MaterialPtr &mat, const Terrain *terrain) | 
|  | Update parameters for the given terrain using the active profile. 
 | 
|  | 
| virtual void | updateParamsForCompositeMap (const MaterialPtr &mat, const Terrain *terrain) | 
|  | Update parameters for the given terrain composite map using the active profile. 
 | 
|  | 
Class that provides functionality to generate materials for use with a terrain. 
- In order to cope with both hardware support and user selection, the generator must expose a number of named 'profiles'. These profiles should function on a known range of hardware, and be graded by quality. At runtime, the user should be able to select the profile they wish to use (provided hardware support is available).