\hypertarget{class_ogre_1_1_terrain_material_generator_a}{}\doxysection{Ogre\+::Terrain\+Material\+GeneratorA Class Reference}
\label{class_ogre_1_1_terrain_material_generator_a}\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}


A \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator}{Terrain\+Material\+Generator}} which can cope with normal mapped, specular mapped terrain.  




{\ttfamily \#include $<$Ogre\+Terrain\+Material\+Generator\+A.\+h$>$}



Inheritance diagram for Ogre\+::Terrain\+Material\+GeneratorA\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=255pt]{class_ogre_1_1_terrain_material_generator_a__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a_1_1_s_m2_profile}{S\+M2\+Profile}}
\begin{DoxyCompactList}\small\item\em Shader model 2 profile target. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef std\+::vector$<$ \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_1_1_profile}{Profile}} $\ast$ $>$ \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a2751de74a4f553835e168949e2aef522}{Profile\+List}}
\begin{DoxyCompactList}\small\item\em List of profiles -\/ NB should be ordered in descending complexity. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a_ac41cdd05e80c7eed45f59a16e13ec740}{Terrain\+Material\+GeneratorA}} ()
\item 
virtual \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a_af5c5973e8e5c79a9134fad7b5a4f7212}{$\sim$\+Terrain\+Material\+GeneratorA}} ()
\item 
\mbox{\hyperlink{class_ogre_1_1_texture}{Texture}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a87dca7208407e824a01d5e07ea92688f}{\+\_\+get\+Composite\+Map\+R\+TT}} ()
\item 
void \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_ae6cdf5dafc5bbea8e8241b54689798de}{\+\_\+mark\+Changed}} ()
\begin{DoxyCompactList}\small\item\em Internal method -\/ indicates that a change has been made that would require material regeneration. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_abbe57c1cdc0ff8acb1ab5e837f0aa573}{\+\_\+render\+Composite\+Map}} (size\+\_\+t size, const \mbox{\hyperlink{group___general_gae714035a753a8f484650598dc4143db8}{Rect}} \&rect, const \mbox{\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr}} \&mat, const \mbox{\hyperlink{namespace_ogre_aa381890787803da43b614dee8d9c8994}{Texture\+Ptr}} \&dest\+Composite\+Map)
\begin{DoxyCompactList}\small\item\em Helper method to render a composite map. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a7f9892827501c4907da1775e3c0c067b}{can\+Generate\+Using\+Declaration}} (const \mbox{\hyperlink{struct_ogre_1_1_terrain_layer_declaration}{Terrain\+Layer\+Declaration}} \&decl)
\begin{DoxyCompactList}\small\item\em Whether this generator can generate a material for a given declaration. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_aa9e7fb7cee77cc1bb1d88fa6c3de7f5e}{generate}} (const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$terrain)
\begin{DoxyCompactList}\small\item\em Generate a material for the given terrain using the active profile. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_acaa6cd4b06a385638fed2603480d8445}{generate\+For\+Composite\+Map}} (const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$terrain)
\begin{DoxyCompactList}\small\item\em Generate a material for the given composite map of the terrain using the active profile. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_1_1_profile}{Profile}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a22dc4764b52343a6506675983daa2b74}{get\+Active\+Profile}} () const
\begin{DoxyCompactList}\small\item\em Get the active profile. \end{DoxyCompactList}\item 
unsigned long long int \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a7c66198986a8b44314be2aedcfbaf4fe}{get\+Change\+Count}} () const
\begin{DoxyCompactList}\small\item\em Returns the number of times the generator has undergone a change which would require materials to be regenerated. \end{DoxyCompactList}\item 
virtual unsigned int \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_ac4df6fc0a5310ac806299ebf607afe9d}{get\+Debug\+Level}} () const
\begin{DoxyCompactList}\small\item\em Get the debug level of the material. \end{DoxyCompactList}\item 
virtual const \mbox{\hyperlink{struct_ogre_1_1_terrain_layer_declaration}{Terrain\+Layer\+Declaration}} \& \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_ac2aa4779027a97f70c0fb3b845fd499d}{get\+Layer\+Declaration}} () const
\begin{DoxyCompactList}\small\item\em Get the layer declaration that this material generator operates with. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_a119732ea9d1e88bbddc47b4ac0fa21cb}{uint8}} \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a6402e1c3e9770043be75b845abbdc79a}{get\+Max\+Layers}} (const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$terrain) const
\begin{DoxyCompactList}\small\item\em Get the maximum number of layers supported with the given terrain. \end{DoxyCompactList}\item 
virtual const \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a2751de74a4f553835e168949e2aef522}{Profile\+List}} \& \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_af5c268b51d81b23b3e8deaf300b4a9f2}{get\+Profiles}} () const
\begin{DoxyCompactList}\small\item\em Get the list of profiles that this generator supports. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a73368819720d8898e87497463e27f21e}{is\+Vertex\+Compression\+Supported}} () const
\begin{DoxyCompactList}\small\item\em Return whether this material generator supports using a compressed vertex format. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_af56363e3dbbffde7872cf88b869565ac}{request\+Options}} (\mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$terrain)
\begin{DoxyCompactList}\small\item\em Triggers the generator to request the options that it needs. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_aaf1237c1f7b754f2c4d1d172c7690508}{set\+Active\+Profile}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name)
\begin{DoxyCompactList}\small\item\em Set the active profile by name. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a0580472a86a3c9cadfe6c494e5005854}{set\+Active\+Profile}} (\mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_1_1_profile}{Profile}} $\ast$p)
\begin{DoxyCompactList}\small\item\em Set the active \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_1_1_profile}{Profile}}. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_acfbb5218a477deb4065d0eadd8c1f0c3}{set\+Debug\+Level}} (unsigned int dbg)
\begin{DoxyCompactList}\small\item\em Set the debug level of the material. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a914f877ab8bb96f994160eb2b325a8cd}{set\+Lightmap\+Enabled}} (bool enabled)
\begin{DoxyCompactList}\small\item\em Whether to support a light map over the terrain in the shader, if it\textquotesingle{}s present (default true). \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_aaa151085991db558a3e94748356c8156}{update\+Composite\+Map}} (const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$terrain, const \mbox{\hyperlink{group___general_gae714035a753a8f484650598dc4143db8}{Rect}} \&rect)
\begin{DoxyCompactList}\small\item\em Update the composite map for a terrain. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_aed0ac64c47fa577fab20e844b02b0aa5}{update\+Params}} (const \mbox{\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr}} \&mat, const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$terrain)
\begin{DoxyCompactList}\small\item\em Update parameters for the given terrain using the active profile. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a15db830ec2609de8e70e90861a30b8a7}{update\+Params\+For\+Composite\+Map}} (const \mbox{\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr}} \&mat, const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$terrain)
\begin{DoxyCompactList}\small\item\em Update parameters for the given terrain composite map using the active profile. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
A \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator}{Terrain\+Material\+Generator}} which can cope with normal mapped, specular mapped terrain. 

\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a2751de74a4f553835e168949e2aef522}\label{class_ogre_1_1_terrain_material_generator_a2751de74a4f553835e168949e2aef522}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!ProfileList@{ProfileList}}
\index{ProfileList@{ProfileList}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{ProfileList}{ProfileList}}
{\footnotesize\ttfamily typedef std\+::vector$<$\mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_1_1_profile}{Profile}}$\ast$$>$ \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a2751de74a4f553835e168949e2aef522}{Ogre\+::\+Terrain\+Material\+Generator\+::\+Profile\+List}}\hspace{0.3cm}{\ttfamily [inherited]}}



List of profiles -\/ NB should be ordered in descending complexity. 



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a_ac41cdd05e80c7eed45f59a16e13ec740}\label{class_ogre_1_1_terrain_material_generator_a_ac41cdd05e80c7eed45f59a16e13ec740}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!TerrainMaterialGeneratorA@{TerrainMaterialGeneratorA}}
\index{TerrainMaterialGeneratorA@{TerrainMaterialGeneratorA}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{TerrainMaterialGeneratorA()}{TerrainMaterialGeneratorA()}}
{\footnotesize\ttfamily Ogre\+::\+Terrain\+Material\+Generator\+A\+::\+Terrain\+Material\+GeneratorA (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a_af5c5973e8e5c79a9134fad7b5a4f7212}\label{class_ogre_1_1_terrain_material_generator_a_af5c5973e8e5c79a9134fad7b5a4f7212}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!````~TerrainMaterialGeneratorA@{$\sim$TerrainMaterialGeneratorA}}
\index{````~TerrainMaterialGeneratorA@{$\sim$TerrainMaterialGeneratorA}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{$\sim$TerrainMaterialGeneratorA()}{~TerrainMaterialGeneratorA()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Terrain\+Material\+Generator\+A\+::$\sim$\+Terrain\+Material\+GeneratorA (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_af5c268b51d81b23b3e8deaf300b4a9f2}\label{class_ogre_1_1_terrain_material_generator_af5c268b51d81b23b3e8deaf300b4a9f2}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!getProfiles@{getProfiles}}
\index{getProfiles@{getProfiles}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{getProfiles()}{getProfiles()}}
{\footnotesize\ttfamily virtual const \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a2751de74a4f553835e168949e2aef522}{Profile\+List}}\& Ogre\+::\+Terrain\+Material\+Generator\+::get\+Profiles (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Get the list of profiles that this generator supports. 

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_aaf1237c1f7b754f2c4d1d172c7690508}\label{class_ogre_1_1_terrain_material_generator_aaf1237c1f7b754f2c4d1d172c7690508}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!setActiveProfile@{setActiveProfile}}
\index{setActiveProfile@{setActiveProfile}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{setActiveProfile()}{setActiveProfile()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Terrain\+Material\+Generator\+::set\+Active\+Profile (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Set the active profile by name. 

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a0580472a86a3c9cadfe6c494e5005854}\label{class_ogre_1_1_terrain_material_generator_a0580472a86a3c9cadfe6c494e5005854}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!setActiveProfile@{setActiveProfile}}
\index{setActiveProfile@{setActiveProfile}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{setActiveProfile()}{setActiveProfile()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Terrain\+Material\+Generator\+::set\+Active\+Profile (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_1_1_profile}{Profile}} $\ast$}]{p }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Set the active \mbox{\hyperlink{class_ogre_1_1_profile}{Profile}}. 

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a22dc4764b52343a6506675983daa2b74}\label{class_ogre_1_1_terrain_material_generator_a22dc4764b52343a6506675983daa2b74}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!getActiveProfile@{getActiveProfile}}
\index{getActiveProfile@{getActiveProfile}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{getActiveProfile()}{getActiveProfile()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_1_1_profile}{Profile}}$\ast$ Ogre\+::\+Terrain\+Material\+Generator\+::get\+Active\+Profile (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Get the active profile. 

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_ae6cdf5dafc5bbea8e8241b54689798de}\label{class_ogre_1_1_terrain_material_generator_ae6cdf5dafc5bbea8e8241b54689798de}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!\_markChanged@{\_markChanged}}
\index{\_markChanged@{\_markChanged}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{\_markChanged()}{\_markChanged()}}
{\footnotesize\ttfamily void Ogre\+::\+Terrain\+Material\+Generator\+::\+\_\+mark\+Changed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Internal method -\/ indicates that a change has been made that would require material regeneration. 

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a7c66198986a8b44314be2aedcfbaf4fe}\label{class_ogre_1_1_terrain_material_generator_a7c66198986a8b44314be2aedcfbaf4fe}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!getChangeCount@{getChangeCount}}
\index{getChangeCount@{getChangeCount}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{getChangeCount()}{getChangeCount()}}
{\footnotesize\ttfamily unsigned long long int Ogre\+::\+Terrain\+Material\+Generator\+::get\+Change\+Count (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Returns the number of times the generator has undergone a change which would require materials to be regenerated. 

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_ac2aa4779027a97f70c0fb3b845fd499d}\label{class_ogre_1_1_terrain_material_generator_ac2aa4779027a97f70c0fb3b845fd499d}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!getLayerDeclaration@{getLayerDeclaration}}
\index{getLayerDeclaration@{getLayerDeclaration}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{getLayerDeclaration()}{getLayerDeclaration()}}
{\footnotesize\ttfamily virtual const \mbox{\hyperlink{struct_ogre_1_1_terrain_layer_declaration}{Terrain\+Layer\+Declaration}}\& Ogre\+::\+Terrain\+Material\+Generator\+::get\+Layer\+Declaration (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Get the layer declaration that this material generator operates with. 

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a7f9892827501c4907da1775e3c0c067b}\label{class_ogre_1_1_terrain_material_generator_a7f9892827501c4907da1775e3c0c067b}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!canGenerateUsingDeclaration@{canGenerateUsingDeclaration}}
\index{canGenerateUsingDeclaration@{canGenerateUsingDeclaration}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{canGenerateUsingDeclaration()}{canGenerateUsingDeclaration()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Terrain\+Material\+Generator\+::can\+Generate\+Using\+Declaration (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_ogre_1_1_terrain_layer_declaration}{Terrain\+Layer\+Declaration}} \&}]{decl }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



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 get\+Layer\+Declaration, but if a subclass wants to be flexible to generate materials for other declarations too, it can specify here. \mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a73368819720d8898e87497463e27f21e}\label{class_ogre_1_1_terrain_material_generator_a73368819720d8898e87497463e27f21e}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!isVertexCompressionSupported@{isVertexCompressionSupported}}
\index{isVertexCompressionSupported@{isVertexCompressionSupported}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{isVertexCompressionSupported()}{isVertexCompressionSupported()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Terrain\+Material\+Generator\+::is\+Vertex\+Compression\+Supported (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Return whether this material generator supports using a compressed vertex format. 

This is only possible when using shaders. \mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_af56363e3dbbffde7872cf88b869565ac}\label{class_ogre_1_1_terrain_material_generator_af56363e3dbbffde7872cf88b869565ac}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!requestOptions@{requestOptions}}
\index{requestOptions@{requestOptions}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{requestOptions()}{requestOptions()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Terrain\+Material\+Generator\+::request\+Options (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$}]{terrain }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Triggers the generator to request the options that it needs. 



References Ogre\+::\+Terrain\+Material\+Generator\+::\+Profile\+::request\+Options().

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_aa9e7fb7cee77cc1bb1d88fa6c3de7f5e}\label{class_ogre_1_1_terrain_material_generator_aa9e7fb7cee77cc1bb1d88fa6c3de7f5e}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!generate@{generate}}
\index{generate@{generate}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{generate()}{generate()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr}} Ogre\+::\+Terrain\+Material\+Generator\+::generate (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$}]{terrain }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Generate a material for the given terrain using the active profile. 



References Ogre\+::\+Terrain\+Material\+Generator\+::\+Profile\+::generate().

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_acaa6cd4b06a385638fed2603480d8445}\label{class_ogre_1_1_terrain_material_generator_acaa6cd4b06a385638fed2603480d8445}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!generateForCompositeMap@{generateForCompositeMap}}
\index{generateForCompositeMap@{generateForCompositeMap}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{generateForCompositeMap()}{generateForCompositeMap()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr}} Ogre\+::\+Terrain\+Material\+Generator\+::generate\+For\+Composite\+Map (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$}]{terrain }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Generate a material for the given composite map of the terrain using the active profile. 



References Ogre\+::\+Terrain\+Material\+Generator\+::\+Profile\+::generate\+For\+Composite\+Map().

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a914f877ab8bb96f994160eb2b325a8cd}\label{class_ogre_1_1_terrain_material_generator_a914f877ab8bb96f994160eb2b325a8cd}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!setLightmapEnabled@{setLightmapEnabled}}
\index{setLightmapEnabled@{setLightmapEnabled}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{setLightmapEnabled()}{setLightmapEnabled()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Terrain\+Material\+Generator\+::set\+Lightmap\+Enabled (\begin{DoxyParamCaption}\item[{bool}]{enabled }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



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



References Ogre\+::\+Terrain\+Material\+Generator\+::\+Profile\+::set\+Lightmap\+Enabled().

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a6402e1c3e9770043be75b845abbdc79a}\label{class_ogre_1_1_terrain_material_generator_a6402e1c3e9770043be75b845abbdc79a}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!getMaxLayers@{getMaxLayers}}
\index{getMaxLayers@{getMaxLayers}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{getMaxLayers()}{getMaxLayers()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{namespace_ogre_a119732ea9d1e88bbddc47b4ac0fa21cb}{uint8}} Ogre\+::\+Terrain\+Material\+Generator\+::get\+Max\+Layers (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$}]{terrain }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Get the maximum number of layers supported with the given terrain. 

\begin{DoxyNote}{Note}
When you change the options on the terrain, this value can change. 
\end{DoxyNote}


References Ogre\+::\+Terrain\+Material\+Generator\+::\+Profile\+::get\+Max\+Layers().

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_aaa151085991db558a3e94748356c8156}\label{class_ogre_1_1_terrain_material_generator_aaa151085991db558a3e94748356c8156}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!updateCompositeMap@{updateCompositeMap}}
\index{updateCompositeMap@{updateCompositeMap}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{updateCompositeMap()}{updateCompositeMap()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Terrain\+Material\+Generator\+::update\+Composite\+Map (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$}]{terrain,  }\item[{const \mbox{\hyperlink{group___general_gae714035a753a8f484650598dc4143db8}{Rect}} \&}]{rect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



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 \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}}\textquotesingle{}s own composite map afterwards. 

References Ogre\+::\+Terrain\+Material\+Generator\+::\+Profile\+::update\+Composite\+Map().

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_aed0ac64c47fa577fab20e844b02b0aa5}\label{class_ogre_1_1_terrain_material_generator_aed0ac64c47fa577fab20e844b02b0aa5}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!updateParams@{updateParams}}
\index{updateParams@{updateParams}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{updateParams()}{updateParams()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Terrain\+Material\+Generator\+::update\+Params (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr}} \&}]{mat,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$}]{terrain }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Update parameters for the given terrain using the active profile. 



References Ogre\+::\+Terrain\+Material\+Generator\+::\+Profile\+::update\+Params().

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a15db830ec2609de8e70e90861a30b8a7}\label{class_ogre_1_1_terrain_material_generator_a15db830ec2609de8e70e90861a30b8a7}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!updateParamsForCompositeMap@{updateParamsForCompositeMap}}
\index{updateParamsForCompositeMap@{updateParamsForCompositeMap}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{updateParamsForCompositeMap()}{updateParamsForCompositeMap()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Terrain\+Material\+Generator\+::update\+Params\+For\+Composite\+Map (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr}} \&}]{mat,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} $\ast$}]{terrain }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Update parameters for the given terrain composite map using the active profile. 



References Ogre\+::\+Terrain\+Material\+Generator\+::\+Profile\+::update\+Params\+For\+Composite\+Map().

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_acfbb5218a477deb4065d0eadd8c1f0c3}\label{class_ogre_1_1_terrain_material_generator_acfbb5218a477deb4065d0eadd8c1f0c3}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!setDebugLevel@{setDebugLevel}}
\index{setDebugLevel@{setDebugLevel}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{setDebugLevel()}{setDebugLevel()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Terrain\+Material\+Generator\+::set\+Debug\+Level (\begin{DoxyParamCaption}\item[{unsigned int}]{dbg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Set the debug level of the material. 

\begin{DoxyRemark}{Remarks}
Sets the level of debug display for this material. What this debug level means is entirely depdendent on the generator, the only constant is that 0 means \textquotesingle{}no debug\textquotesingle{} and non-\/zero means \textquotesingle{}some level of debugging\textquotesingle{}, with any graduations in non-\/zero values being generator-\/specific. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_ac4df6fc0a5310ac806299ebf607afe9d}\label{class_ogre_1_1_terrain_material_generator_ac4df6fc0a5310ac806299ebf607afe9d}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!getDebugLevel@{getDebugLevel}}
\index{getDebugLevel@{getDebugLevel}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{getDebugLevel()}{getDebugLevel()}}
{\footnotesize\ttfamily virtual unsigned int Ogre\+::\+Terrain\+Material\+Generator\+::get\+Debug\+Level (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Get the debug level of the material. 

\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_abbe57c1cdc0ff8acb1ab5e837f0aa573}\label{class_ogre_1_1_terrain_material_generator_abbe57c1cdc0ff8acb1ab5e837f0aa573}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!\_renderCompositeMap@{\_renderCompositeMap}}
\index{\_renderCompositeMap@{\_renderCompositeMap}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{\_renderCompositeMap()}{\_renderCompositeMap()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Terrain\+Material\+Generator\+::\+\_\+render\+Composite\+Map (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{size,  }\item[{const \mbox{\hyperlink{group___general_gae714035a753a8f484650598dc4143db8}{Rect}} \&}]{rect,  }\item[{const \mbox{\hyperlink{namespace_ogre_a57ef769e80226674c3971ce58b58c91d}{Material\+Ptr}} \&}]{mat,  }\item[{const \mbox{\hyperlink{namespace_ogre_aa381890787803da43b614dee8d9c8994}{Texture\+Ptr}} \&}]{dest\+Composite\+Map }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Helper method to render a composite map. 


\begin{DoxyParams}{Parameters}
{\em size} & The requested composite map size \\
\hline
{\em rect} & The region of the composite map to update, in image space \\
\hline
{\em mat} & The material to use to render the map \\
\hline
{\em dest\+Composite\+Map} & A Texture\+Ptr for the composite map to be written into \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_terrain_material_generator_a87dca7208407e824a01d5e07ea92688f}\label{class_ogre_1_1_terrain_material_generator_a87dca7208407e824a01d5e07ea92688f}} 
\index{Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}!\_getCompositeMapRTT@{\_getCompositeMapRTT}}
\index{\_getCompositeMapRTT@{\_getCompositeMapRTT}!Ogre::TerrainMaterialGeneratorA@{Ogre::TerrainMaterialGeneratorA}}
\doxysubsubsection{\texorpdfstring{\_getCompositeMapRTT()}{\_getCompositeMapRTT()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_texture}{Texture}}$\ast$ Ogre\+::\+Terrain\+Material\+Generator\+::\+\_\+get\+Composite\+Map\+R\+TT (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_terrain_material_generator_a_8h}{Ogre\+Terrain\+Material\+Generator\+A.\+h}}\end{DoxyCompactItemize}
