\hypertarget{group___terrain}{}\doxysection{Terrain}
\label{group___terrain}\index{Terrain@{Terrain}}


Editable Terrain System with L\+OD, serialization and \mbox{\hyperlink{group___paging}{Paging}} support.  


\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain}{Ogre\+::\+Terrain}}
\begin{DoxyCompactList}\small\item\em The main containing class for a chunk of terrain. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_auto_update_lod}{Ogre\+::\+Terrain\+Auto\+Update\+Lod}}
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} automatic L\+OD loading. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_auto_update_lod_by_distance}{Ogre\+::\+Terrain\+Auto\+Update\+Lod\+By\+Distance}}
\begin{DoxyCompactList}\small\item\em Class implementing \mbox{\hyperlink{class_ogre_1_1_terrain_auto_update_lod}{Terrain\+Auto\+Update\+Lod}} interface. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_auto_update_lod_factory}{Ogre\+::\+Terrain\+Auto\+Update\+Lod\+Factory}}
\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_global_options}{Ogre\+::\+Terrain\+Global\+Options}}
\begin{DoxyCompactList}\small\item\em Options class which just stores default options for the terrain. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_group}{Ogre\+::\+Terrain\+Group}}
\begin{DoxyCompactList}\small\item\em Helper class to assist you in managing multiple terrain instances that are connected to each other. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_layer_blend_map}{Ogre\+::\+Terrain\+Layer\+Blend\+Map}}
\begin{DoxyCompactList}\small\item\em Class exposing an interface to a blend map for a given layer. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_ogre_1_1_terrain_layer_declaration}{Ogre\+::\+Terrain\+Layer\+Declaration}}
\begin{DoxyCompactList}\small\item\em The definition of the information each layer will contain in this terrain. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_ogre_1_1_terrain_layer_sampler}{Ogre\+::\+Terrain\+Layer\+Sampler}}
\begin{DoxyCompactList}\small\item\em Description of a sampler that will be used with each layer. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_ogre_1_1_terrain_layer_sampler_element}{Ogre\+::\+Terrain\+Layer\+Sampler\+Element}}
\begin{DoxyCompactList}\small\item\em Information about one element of a sampler / texture within a layer. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_lod_manager}{Ogre\+::\+Terrain\+Lod\+Manager}}
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_terrain}{Terrain}} L\+OD data manager. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator}{Ogre\+::\+Terrain\+Material\+Generator}}
\begin{DoxyCompactList}\small\item\em Class that provides functionality to generate materials for use with a terrain. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator_a}{Ogre\+::\+Terrain\+Material\+GeneratorA}}
\begin{DoxyCompactList}\small\item\em A \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator}{Terrain\+Material\+Generator}} which can cope with normal mapped, specular mapped terrain. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_paged_world_section}{Ogre\+::\+Terrain\+Paged\+World\+Section}}
\begin{DoxyCompactList}\small\item\em A world section which includes paged terrain. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_paging}{Ogre\+::\+Terrain\+Paging}}
\begin{DoxyCompactList}\small\item\em This class is the \textquotesingle{}core\textquotesingle{} class for paging terrain, that will integrate with the larger paging system and provide the appropriate utility classes required. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{class_ogre_1_1_terrain_quad_tree_node}{Ogre\+::\+Terrain\+Quad\+Tree\+Node}}
\begin{DoxyCompactList}\small\item\em A node in a quad tree used to store a patch of terrain. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef std\+::vector$<$ \mbox{\hyperlink{class_ogre_1_1_terrain_layer_blend_map}{Terrain\+Layer\+Blend\+Map}} $\ast$ $>$ \mbox{\hyperlink{group___terrain_ga13ef117fcdcdaf0c609c62f297d94c16}{Ogre\+::\+Terrain\+Layer\+Blend\+Map\+List}}
\item 
typedef std\+::vector$<$ \mbox{\hyperlink{struct_ogre_1_1_terrain_layer_sampler_element}{Terrain\+Layer\+Sampler\+Element}} $>$ \mbox{\hyperlink{group___terrain_gab3e9ec2172cfcad003ca034009369271}{Ogre\+::\+Terrain\+Layer\+Sampler\+Element\+List}}
\item 
typedef std\+::vector$<$ \mbox{\hyperlink{struct_ogre_1_1_terrain_layer_sampler}{Terrain\+Layer\+Sampler}} $>$ \mbox{\hyperlink{group___terrain_ga8bc95785d736a01b4140f9a427e9b630}{Ogre\+::\+Terrain\+Layer\+Sampler\+List}}
\item 
typedef \mbox{\hyperlink{class_ogre_1_1_shared_ptr}{Shared\+Ptr}}$<$ \mbox{\hyperlink{class_ogre_1_1_terrain_material_generator}{Terrain\+Material\+Generator}} $>$ \mbox{\hyperlink{group___terrain_ga152d33cadca984511f2c0459562c7b0b}{Ogre\+::\+Terrain\+Material\+Generator\+Ptr}}
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{group___terrain_ga632903bb3f8ee3d838b17177bfb7cbcc}{Ogre\+::\+Technique\+Type}} \{ \mbox{\hyperlink{group___terrain_gga632903bb3f8ee3d838b17177bfb7cbcca5b8d4b96e0e0882f2bbcfebc98cf393d}{Ogre\+::\+H\+I\+G\+H\+\_\+\+L\+OD}}, 
\mbox{\hyperlink{group___terrain_gga632903bb3f8ee3d838b17177bfb7cbcca4a929fbb87f8f18c5d46dc10fb9e73c3}{Ogre\+::\+L\+O\+W\+\_\+\+L\+OD}}, 
\mbox{\hyperlink{group___terrain_gga632903bb3f8ee3d838b17177bfb7cbcca654c39dbe72fc28d943bfa476b54867d}{Ogre\+::\+R\+E\+N\+D\+E\+R\+\_\+\+C\+O\+M\+P\+O\+S\+I\+T\+E\+\_\+\+M\+AP}}
 \}
\item 
enum \mbox{\hyperlink{group___terrain_ga4e7b31c45dc1afba816f7d9bc71a301b}{Ogre\+::\+Terrain\+Auto\+Update\+Lod\+Strategy}} \{ \mbox{\hyperlink{group___terrain_gga4e7b31c45dc1afba816f7d9bc71a301baf4ad13488a8b22a4309fdd0a7fb70db8}{Ogre\+::\+N\+O\+NE}} = 0, 
\mbox{\hyperlink{group___terrain_gga4e7b31c45dc1afba816f7d9bc71a301ba8b40189aba8887f4cdb96d967cd80460}{Ogre\+::\+B\+Y\+\_\+\+D\+I\+S\+T\+A\+N\+CE}} = 1
 \}
\item 
enum \mbox{\hyperlink{group___terrain_gad6e8e88c8f2109b45648fd6f3ec00a84}{Ogre\+::\+Terrain\+Layer\+Sampler\+Semantic}} \{ \mbox{\hyperlink{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84a6407050de320fbf7c06c77bb97e647e7}{Ogre\+::\+T\+L\+S\+S\+\_\+\+A\+L\+B\+E\+DO}} = 0, 
\mbox{\hyperlink{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84ae90f168a77e4047af27e14ca52d8205a}{Ogre\+::\+T\+L\+S\+S\+\_\+\+N\+O\+R\+M\+AL}} = 1, 
\mbox{\hyperlink{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84adeb418649d89cf961e3f60b009a5e5fb}{Ogre\+::\+T\+L\+S\+S\+\_\+\+H\+E\+I\+G\+HT}} = 2, 
\mbox{\hyperlink{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84ae7b29f10d891aac2a3e41c71f7fa96c7}{Ogre\+::\+T\+L\+S\+S\+\_\+\+S\+P\+E\+C\+U\+L\+AR}} = 3
 \}
\begin{DoxyCompactList}\small\item\em Enumeration of types of data that can be read from textures that are specific to a given layer. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Editable Terrain System with L\+OD, serialization and \mbox{\hyperlink{group___paging}{Paging}} support. 

Some details on the terrain auto load

Some details on the terrain component

Some details on the terrain L\+OD manager 

\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{group___terrain_ga13ef117fcdcdaf0c609c62f297d94c16}\label{group___terrain_ga13ef117fcdcdaf0c609c62f297d94c16}} 
\index{Terrain@{Terrain}!TerrainLayerBlendMapList@{TerrainLayerBlendMapList}}
\index{TerrainLayerBlendMapList@{TerrainLayerBlendMapList}!Terrain@{Terrain}}
\doxysubsubsection{\texorpdfstring{TerrainLayerBlendMapList}{TerrainLayerBlendMapList}}
{\footnotesize\ttfamily typedef std\+::vector$<$\mbox{\hyperlink{class_ogre_1_1_terrain_layer_blend_map}{Terrain\+Layer\+Blend\+Map}}$\ast$$>$ \mbox{\hyperlink{group___terrain_ga13ef117fcdcdaf0c609c62f297d94c16}{Ogre\+::\+Terrain\+Layer\+Blend\+Map\+List}}}

\mbox{\Hypertarget{group___terrain_gab3e9ec2172cfcad003ca034009369271}\label{group___terrain_gab3e9ec2172cfcad003ca034009369271}} 
\index{Terrain@{Terrain}!TerrainLayerSamplerElementList@{TerrainLayerSamplerElementList}}
\index{TerrainLayerSamplerElementList@{TerrainLayerSamplerElementList}!Terrain@{Terrain}}
\doxysubsubsection{\texorpdfstring{TerrainLayerSamplerElementList}{TerrainLayerSamplerElementList}}
{\footnotesize\ttfamily typedef std\+::vector$<$\mbox{\hyperlink{struct_ogre_1_1_terrain_layer_sampler_element}{Terrain\+Layer\+Sampler\+Element}}$>$ \mbox{\hyperlink{group___terrain_gab3e9ec2172cfcad003ca034009369271}{Ogre\+::\+Terrain\+Layer\+Sampler\+Element\+List}}}

\mbox{\Hypertarget{group___terrain_ga8bc95785d736a01b4140f9a427e9b630}\label{group___terrain_ga8bc95785d736a01b4140f9a427e9b630}} 
\index{Terrain@{Terrain}!TerrainLayerSamplerList@{TerrainLayerSamplerList}}
\index{TerrainLayerSamplerList@{TerrainLayerSamplerList}!Terrain@{Terrain}}
\doxysubsubsection{\texorpdfstring{TerrainLayerSamplerList}{TerrainLayerSamplerList}}
{\footnotesize\ttfamily typedef std\+::vector$<$\mbox{\hyperlink{struct_ogre_1_1_terrain_layer_sampler}{Terrain\+Layer\+Sampler}}$>$ \mbox{\hyperlink{group___terrain_ga8bc95785d736a01b4140f9a427e9b630}{Ogre\+::\+Terrain\+Layer\+Sampler\+List}}}

\mbox{\Hypertarget{group___terrain_ga152d33cadca984511f2c0459562c7b0b}\label{group___terrain_ga152d33cadca984511f2c0459562c7b0b}} 
\index{Terrain@{Terrain}!TerrainMaterialGeneratorPtr@{TerrainMaterialGeneratorPtr}}
\index{TerrainMaterialGeneratorPtr@{TerrainMaterialGeneratorPtr}!Terrain@{Terrain}}
\doxysubsubsection{\texorpdfstring{TerrainMaterialGeneratorPtr}{TerrainMaterialGeneratorPtr}}
{\footnotesize\ttfamily typedef \mbox{\hyperlink{class_ogre_1_1_shared_ptr}{Shared\+Ptr}}$<$\mbox{\hyperlink{class_ogre_1_1_terrain_material_generator}{Terrain\+Material\+Generator}}$>$ \mbox{\hyperlink{group___terrain_ga152d33cadca984511f2c0459562c7b0b}{Ogre\+::\+Terrain\+Material\+Generator\+Ptr}}}



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{group___terrain_ga4e7b31c45dc1afba816f7d9bc71a301b}\label{group___terrain_ga4e7b31c45dc1afba816f7d9bc71a301b}} 
\index{Terrain@{Terrain}!TerrainAutoUpdateLodStrategy@{TerrainAutoUpdateLodStrategy}}
\index{TerrainAutoUpdateLodStrategy@{TerrainAutoUpdateLodStrategy}!Terrain@{Terrain}}
\doxysubsubsection{\texorpdfstring{TerrainAutoUpdateLodStrategy}{TerrainAutoUpdateLodStrategy}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group___terrain_ga4e7b31c45dc1afba816f7d9bc71a301b}{Ogre\+::\+Terrain\+Auto\+Update\+Lod\+Strategy}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{NONE@{NONE}!Terrain@{Terrain}}\index{Terrain@{Terrain}!NONE@{NONE}}}\mbox{\Hypertarget{group___terrain_gga4e7b31c45dc1afba816f7d9bc71a301baf4ad13488a8b22a4309fdd0a7fb70db8}\label{group___terrain_gga4e7b31c45dc1afba816f7d9bc71a301baf4ad13488a8b22a4309fdd0a7fb70db8}} 
N\+O\+NE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{BY\_DISTANCE@{BY\_DISTANCE}!Terrain@{Terrain}}\index{Terrain@{Terrain}!BY\_DISTANCE@{BY\_DISTANCE}}}\mbox{\Hypertarget{group___terrain_gga4e7b31c45dc1afba816f7d9bc71a301ba8b40189aba8887f4cdb96d967cd80460}\label{group___terrain_gga4e7b31c45dc1afba816f7d9bc71a301ba8b40189aba8887f4cdb96d967cd80460}} 
B\+Y\+\_\+\+D\+I\+S\+T\+A\+N\+CE&\\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group___terrain_gad6e8e88c8f2109b45648fd6f3ec00a84}\label{group___terrain_gad6e8e88c8f2109b45648fd6f3ec00a84}} 
\index{Terrain@{Terrain}!TerrainLayerSamplerSemantic@{TerrainLayerSamplerSemantic}}
\index{TerrainLayerSamplerSemantic@{TerrainLayerSamplerSemantic}!Terrain@{Terrain}}
\doxysubsubsection{\texorpdfstring{TerrainLayerSamplerSemantic}{TerrainLayerSamplerSemantic}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group___terrain_gad6e8e88c8f2109b45648fd6f3ec00a84}{Ogre\+::\+Terrain\+Layer\+Sampler\+Semantic}}}



Enumeration of types of data that can be read from textures that are specific to a given layer. 

Notice that global texture information such as shadows and terrain normals are not represented here because they are not a per-\/layer attribute, and blending is stored in packed texture structures which are stored separately. \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{TLSS\_ALBEDO@{TLSS\_ALBEDO}!Terrain@{Terrain}}\index{Terrain@{Terrain}!TLSS\_ALBEDO@{TLSS\_ALBEDO}}}\mbox{\Hypertarget{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84a6407050de320fbf7c06c77bb97e647e7}\label{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84a6407050de320fbf7c06c77bb97e647e7}} 
T\+L\+S\+S\+\_\+\+A\+L\+B\+E\+DO&Albedo colour (diffuse reflectance colour) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{TLSS\_NORMAL@{TLSS\_NORMAL}!Terrain@{Terrain}}\index{Terrain@{Terrain}!TLSS\_NORMAL@{TLSS\_NORMAL}}}\mbox{\Hypertarget{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84ae90f168a77e4047af27e14ca52d8205a}\label{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84ae90f168a77e4047af27e14ca52d8205a}} 
T\+L\+S\+S\+\_\+\+N\+O\+R\+M\+AL&Tangent-\/space normal information from a detail texture. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{TLSS\_HEIGHT@{TLSS\_HEIGHT}!Terrain@{Terrain}}\index{Terrain@{Terrain}!TLSS\_HEIGHT@{TLSS\_HEIGHT}}}\mbox{\Hypertarget{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84adeb418649d89cf961e3f60b009a5e5fb}\label{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84adeb418649d89cf961e3f60b009a5e5fb}} 
T\+L\+S\+S\+\_\+\+H\+E\+I\+G\+HT&Height information for the detail texture. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{TLSS\_SPECULAR@{TLSS\_SPECULAR}!Terrain@{Terrain}}\index{Terrain@{Terrain}!TLSS\_SPECULAR@{TLSS\_SPECULAR}}}\mbox{\Hypertarget{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84ae7b29f10d891aac2a3e41c71f7fa96c7}\label{group___terrain_ggad6e8e88c8f2109b45648fd6f3ec00a84ae7b29f10d891aac2a3e41c71f7fa96c7}} 
T\+L\+S\+S\+\_\+\+S\+P\+E\+C\+U\+L\+AR&Specular reflectance. \\
\hline

\end{DoxyEnumFields}
\mbox{\Hypertarget{group___terrain_ga632903bb3f8ee3d838b17177bfb7cbcc}\label{group___terrain_ga632903bb3f8ee3d838b17177bfb7cbcc}} 
\index{Terrain@{Terrain}!TechniqueType@{TechniqueType}}
\index{TechniqueType@{TechniqueType}!Terrain@{Terrain}}
\doxysubsubsection{\texorpdfstring{TechniqueType}{TechniqueType}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group___terrain_ga632903bb3f8ee3d838b17177bfb7cbcc}{Ogre\+::\+Technique\+Type}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{HIGH\_LOD@{HIGH\_LOD}!Terrain@{Terrain}}\index{Terrain@{Terrain}!HIGH\_LOD@{HIGH\_LOD}}}\mbox{\Hypertarget{group___terrain_gga632903bb3f8ee3d838b17177bfb7cbcca5b8d4b96e0e0882f2bbcfebc98cf393d}\label{group___terrain_gga632903bb3f8ee3d838b17177bfb7cbcca5b8d4b96e0e0882f2bbcfebc98cf393d}} 
H\+I\+G\+H\+\_\+\+L\+OD&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{LOW\_LOD@{LOW\_LOD}!Terrain@{Terrain}}\index{Terrain@{Terrain}!LOW\_LOD@{LOW\_LOD}}}\mbox{\Hypertarget{group___terrain_gga632903bb3f8ee3d838b17177bfb7cbcca4a929fbb87f8f18c5d46dc10fb9e73c3}\label{group___terrain_gga632903bb3f8ee3d838b17177bfb7cbcca4a929fbb87f8f18c5d46dc10fb9e73c3}} 
L\+O\+W\+\_\+\+L\+OD&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RENDER\_COMPOSITE\_MAP@{RENDER\_COMPOSITE\_MAP}!Terrain@{Terrain}}\index{Terrain@{Terrain}!RENDER\_COMPOSITE\_MAP@{RENDER\_COMPOSITE\_MAP}}}\mbox{\Hypertarget{group___terrain_gga632903bb3f8ee3d838b17177bfb7cbcca654c39dbe72fc28d943bfa476b54867d}\label{group___terrain_gga632903bb3f8ee3d838b17177bfb7cbcca654c39dbe72fc28d943bfa476b54867d}} 
R\+E\+N\+D\+E\+R\+\_\+\+C\+O\+M\+P\+O\+S\+I\+T\+E\+\_\+\+M\+AP&\\
\hline

\end{DoxyEnumFields}
