\hypertarget{struct_ogre_1_1_lod_level}{}\doxysection{Ogre\+::Lod\+Level Struct Reference}
\label{struct_ogre_1_1_lod_level}\index{Ogre::LodLevel@{Ogre::LodLevel}}


Structure for automatic Lod configuration.  




{\ttfamily \#include $<$Ogre\+Lod\+Config.\+h$>$}

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3}{Vertex\+Reduction\+Method}} \{ \mbox{\hyperlink{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3afe36984fdb5b516b5bc79f53d3e48699}{V\+R\+M\+\_\+\+P\+R\+O\+P\+O\+R\+T\+I\+O\+N\+AL}}, 
\mbox{\hyperlink{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3abb3bbdf3ae9b38c77e31e09e92e46b55}{V\+R\+M\+\_\+\+C\+O\+N\+S\+T\+A\+NT}}, 
\mbox{\hyperlink{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3a484813e3eee23b35e7377eb8f225c9c4}{V\+R\+M\+\_\+\+C\+O\+L\+L\+A\+P\+S\+E\+\_\+\+C\+O\+ST}}
 \}
\begin{DoxyCompactList}\small\item\em Type of the reduction. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{struct_ogre_1_1_lod_level_a66963ac25513a9575ef21dfbef2c5256}{distance}}
\begin{DoxyCompactList}\small\item\em Distance to swap the Lod. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \mbox{\hyperlink{struct_ogre_1_1_lod_level_a8ff93cf3342f8e02c9a605f99e715a3c}{manual\+Mesh\+Name}}
\begin{DoxyCompactList}\small\item\em Set\textquotesingle{}s a mesh as the Lod Level for given distance. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{struct_ogre_1_1_lod_level_a7bafbed24b52459d611c54799aabf754}{out\+Skipped}}
\begin{DoxyCompactList}\small\item\em Whether the Lod level generation was skipped, because it has same vertex count as the previous Lod level. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{struct_ogre_1_1_lod_level_a6c610048f5d0560366381f15d6bfb0cd}{out\+Unique\+Vertex\+Count}}
\begin{DoxyCompactList}\small\item\em This is set by Progressive\+Mesh\+Generator\+::build() function. \end{DoxyCompactList}\item 
\mbox{\hyperlink{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3}{Vertex\+Reduction\+Method}} \mbox{\hyperlink{struct_ogre_1_1_lod_level_a45b8fffff2bc5dc6d29967a7678421e2}{reduction\+Method}}
\begin{DoxyCompactList}\small\item\em Reduction method to use. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{struct_ogre_1_1_lod_level_a10d85c3d0d1f9a03019a9abc76cf70d1}{reduction\+Value}}
\begin{DoxyCompactList}\small\item\em The value, which depends on reduction\+Method. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Structure for automatic Lod configuration. 

\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3}\label{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3}} 
\index{Ogre::LodLevel@{Ogre::LodLevel}!VertexReductionMethod@{VertexReductionMethod}}
\index{VertexReductionMethod@{VertexReductionMethod}!Ogre::LodLevel@{Ogre::LodLevel}}
\doxysubsubsection{\texorpdfstring{VertexReductionMethod}{VertexReductionMethod}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3}{Ogre\+::\+Lod\+Level\+::\+Vertex\+Reduction\+Method}}}



Type of the reduction. 

Note\+: The vertex count is determined by unique vertices per submesh. A mesh may have duplicate vertices with same position. \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{VRM\_PROPORTIONAL@{VRM\_PROPORTIONAL}!Ogre::LodLevel@{Ogre::LodLevel}}\index{Ogre::LodLevel@{Ogre::LodLevel}!VRM\_PROPORTIONAL@{VRM\_PROPORTIONAL}}}\mbox{\Hypertarget{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3afe36984fdb5b516b5bc79f53d3e48699}\label{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3afe36984fdb5b516b5bc79f53d3e48699}} 
V\+R\+M\+\_\+\+P\+R\+O\+P\+O\+R\+T\+I\+O\+N\+AL&Percentage of vertexes to be removed from each submesh. Valid range is a number between 0.\+0 and 1.\+0 \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{VRM\_CONSTANT@{VRM\_CONSTANT}!Ogre::LodLevel@{Ogre::LodLevel}}\index{Ogre::LodLevel@{Ogre::LodLevel}!VRM\_CONSTANT@{VRM\_CONSTANT}}}\mbox{\Hypertarget{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3abb3bbdf3ae9b38c77e31e09e92e46b55}\label{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3abb3bbdf3ae9b38c77e31e09e92e46b55}} 
V\+R\+M\+\_\+\+C\+O\+N\+S\+T\+A\+NT&Exact vertex count to be removed from each submesh. \mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} only integers or it will be rounded. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{VRM\_COLLAPSE\_COST@{VRM\_COLLAPSE\_COST}!Ogre::LodLevel@{Ogre::LodLevel}}\index{Ogre::LodLevel@{Ogre::LodLevel}!VRM\_COLLAPSE\_COST@{VRM\_COLLAPSE\_COST}}}\mbox{\Hypertarget{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3a484813e3eee23b35e7377eb8f225c9c4}\label{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3a484813e3eee23b35e7377eb8f225c9c4}} 
V\+R\+M\+\_\+\+C\+O\+L\+L\+A\+P\+S\+E\+\_\+\+C\+O\+ST&Reduces the vertices, until the cost is bigger then the given value. Collapse cost is equal to the amount of artifact the reduction causes. This generates the best Lod output, but the collapse cost depends on implementation. \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{struct_ogre_1_1_lod_level_a66963ac25513a9575ef21dfbef2c5256}\label{struct_ogre_1_1_lod_level_a66963ac25513a9575ef21dfbef2c5256}} 
\index{Ogre::LodLevel@{Ogre::LodLevel}!distance@{distance}}
\index{distance@{distance}!Ogre::LodLevel@{Ogre::LodLevel}}
\doxysubsubsection{\texorpdfstring{distance}{distance}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Lod\+Level\+::distance}



Distance to swap the Lod. 

This depends on \mbox{\hyperlink{class_ogre_1_1_lod_strategy}{Lod\+Strategy}}. \mbox{\Hypertarget{struct_ogre_1_1_lod_level_a45b8fffff2bc5dc6d29967a7678421e2}\label{struct_ogre_1_1_lod_level_a45b8fffff2bc5dc6d29967a7678421e2}} 
\index{Ogre::LodLevel@{Ogre::LodLevel}!reductionMethod@{reductionMethod}}
\index{reductionMethod@{reductionMethod}!Ogre::LodLevel@{Ogre::LodLevel}}
\doxysubsubsection{\texorpdfstring{reductionMethod}{reductionMethod}}
{\footnotesize\ttfamily \mbox{\hyperlink{struct_ogre_1_1_lod_level_a39e40bdcbeea13357ace7e38e53446e3}{Vertex\+Reduction\+Method}} Ogre\+::\+Lod\+Level\+::reduction\+Method}



Reduction method to use. 

\begin{DoxySeeAlso}{See also}
Progressive\+Mesh\+Generator\+::\+Vertex\+Reduction\+Method 
\end{DoxySeeAlso}
\mbox{\Hypertarget{struct_ogre_1_1_lod_level_a10d85c3d0d1f9a03019a9abc76cf70d1}\label{struct_ogre_1_1_lod_level_a10d85c3d0d1f9a03019a9abc76cf70d1}} 
\index{Ogre::LodLevel@{Ogre::LodLevel}!reductionValue@{reductionValue}}
\index{reductionValue@{reductionValue}!Ogre::LodLevel@{Ogre::LodLevel}}
\doxysubsubsection{\texorpdfstring{reductionValue}{reductionValue}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Lod\+Level\+::reduction\+Value}



The value, which depends on reduction\+Method. 

\mbox{\Hypertarget{struct_ogre_1_1_lod_level_a8ff93cf3342f8e02c9a605f99e715a3c}\label{struct_ogre_1_1_lod_level_a8ff93cf3342f8e02c9a605f99e715a3c}} 
\index{Ogre::LodLevel@{Ogre::LodLevel}!manualMeshName@{manualMeshName}}
\index{manualMeshName@{manualMeshName}!Ogre::LodLevel@{Ogre::LodLevel}}
\doxysubsubsection{\texorpdfstring{manualMeshName}{manualMeshName}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} Ogre\+::\+Lod\+Level\+::manual\+Mesh\+Name}



Set\textquotesingle{}s a mesh as the Lod Level for given distance. 

This allows to generate the Lod levels in third party editors. The mesh should have the same submeshes, same bones and animations, like the original mesh. If you use this parameter, the reduction value and method will be ignored. Using manual mesh is less efficient, because it needs separated vertex buffers. \mbox{\Hypertarget{struct_ogre_1_1_lod_level_a6c610048f5d0560366381f15d6bfb0cd}\label{struct_ogre_1_1_lod_level_a6c610048f5d0560366381f15d6bfb0cd}} 
\index{Ogre::LodLevel@{Ogre::LodLevel}!outUniqueVertexCount@{outUniqueVertexCount}}
\index{outUniqueVertexCount@{outUniqueVertexCount}!Ogre::LodLevel@{Ogre::LodLevel}}
\doxysubsubsection{\texorpdfstring{outUniqueVertexCount}{outUniqueVertexCount}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Lod\+Level\+::out\+Unique\+Vertex\+Count}



This is set by Progressive\+Mesh\+Generator\+::build() function. 

Use \mbox{\hyperlink{class_ogre_1_1_mesh_aed08ce0d838e8ecd4513e3cef9a825f4}{Mesh\+::get\+Num\+Lod\+Levels()}} for generated Lod count. \mbox{\Hypertarget{struct_ogre_1_1_lod_level_a7bafbed24b52459d611c54799aabf754}\label{struct_ogre_1_1_lod_level_a7bafbed24b52459d611c54799aabf754}} 
\index{Ogre::LodLevel@{Ogre::LodLevel}!outSkipped@{outSkipped}}
\index{outSkipped@{outSkipped}!Ogre::LodLevel@{Ogre::LodLevel}}
\doxysubsubsection{\texorpdfstring{outSkipped}{outSkipped}}
{\footnotesize\ttfamily bool Ogre\+::\+Lod\+Level\+::out\+Skipped}



Whether the Lod level generation was skipped, because it has same vertex count as the previous Lod level. 



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_lod_config_8h}{Ogre\+Lod\+Config.\+h}}\end{DoxyCompactItemize}
