OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
OgreLodConfig.h
Go to the documentation of this file.
1 /*
2  * -----------------------------------------------------------------------------
3  * This source file is part of OGRE
4  * (Object-oriented Graphics Rendering Engine)
5  * For the latest info, see http://www.ogre3d.org/
6  *
7  * Copyright (c) 2000-2014 Torus Knot Software Ltd
8  *
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
10  * of this software and associated documentation files (the "Software"), to deal
11  * in the Software without restriction, including without limitation the rights
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13  * copies of the Software, and to permit persons to whom the Software is
14  * furnished to do so, subject to the following conditions:
15  *
16  * The above copyright notice and this permission notice shall be included in
17  * all copies or substantial portions of the Software.
18  *
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25  * THE SOFTWARE.
26  * -----------------------------------------------------------------------------
27  */
28 
29 #ifndef __LogConfig_H_
30 #define __LogConfig_H_
31 
32 #include "OgreLodPrerequisites.h"
34 
35 namespace Ogre
36 {
37 
39  Vector3 src; // Vertex identifier
40  Vector3 dst; // Direction of collapse
41  Real cost; // Requested collapse cost
42 };
43 
45 
63 
70 
77  VRM_COLLAPSE_COST
78  };
79 
86 
93 
98 
108 
115 
120 };
121 
125 
128 
130  LodConfig();
131 
132  // Helper functions:
133  void createManualLodLevel(Ogre::Real distance, const String& manualMeshName);
134  void createGeneratedLodLevel(Ogre::Real distance,
135  Real reductionValue,
137 
160  Advanced();
161  } advanced;
162 };
163 }
164 #endif
Ogre::Real outsideWeight
Faces inside a house can't be seen from far away.
float Real
Software floating point type.
VertexReductionMethod reductionMethod
Reduction method to use.
Definition: OgreLodConfig.h:92
LodProfile profile
If the algorithm makes errors, you can fix it, by adding the edge to the profile. ...
bool useCompression
If enabled, it allows up to 50% smaller index buffers by storing once shared faces with frame shiftin...
vector< ProfiledEdge >::type LodProfile
Definition: OgreLodConfig.h:44
bool useVertexNormals
Use vertex normals to improve quality.
Strategy for determining level of detail.
Structure for automatic Lod configuration.
Definition: OgreLodConfig.h:49
Exact vertex count to be removed from each submesh.
Definition: OgreLodConfig.h:69
String manualMeshName
Set's a mesh as the Lod Level for given distance.
Ogre::Real outsideWalkAngle
If outsideWeight is enabled, this will set the angle how deep the algorithm can walk inside the mesh...
VertexReductionMethod
Type of the reduction.
Definition: OgreLodConfig.h:56
LodStrategy * strategy
The mesh which we want to reduce.
bool outSkipped
Whether the Lod level generation was skipped, because it has same vertex count as the previous Lod le...
Standard 3-dimensional vector.
Definition: OgreVector3.h:50
Real reductionValue
The value, which depends on reductionMethod.
Definition: OgreLodConfig.h:97
#define _OgreLodExport
bool useBackgroundQueue
Whether you want to process it immediatelly on main thread or you want to use Ogre::WorkQueue.
static DistanceLodBoxStrategy * getSingletonPtr(void)
Override standard Singleton retrieval.
_StringBase String
Definition: OgreCommon.h:53
vector< LodLevel >::type LodLevelList
Lod strategy to use.
size_t outUniqueVertexCount
This is set by ProgressiveMeshGenerator::build() function.
Real distance
Distance to swap the Lod.
Definition: OgreLodConfig.h:85
LodLevelList levels
Percentage of vertexes to be removed from each submesh.
Definition: OgreLodConfig.h:62