OgreLodConfig.h
Go to the documentation of this file.
00001 /*
00002  * -----------------------------------------------------------------------------
00003  * This source file is part of OGRE
00004  * (Object-oriented Graphics Rendering Engine)
00005  * For the latest info, see http://www.ogre3d.org/
00006  *
00007  * Copyright (c) 2000-2013 Torus Knot Software Ltd
00008  *
00009  * Permission is hereby granted, free of charge, to any person obtaining a copy
00010  * of this software and associated documentation files (the "Software"), to deal
00011  * in the Software without restriction, including without limitation the rights
00012  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00013  * copies of the Software, and to permit persons to whom the Software is
00014  * furnished to do so, subject to the following conditions:
00015  *
00016  * The above copyright notice and this permission notice shall be included in
00017  * all copies or substantial portions of the Software.
00018  *
00019  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00020  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00021  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00022  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00023  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00024  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00025  * THE SOFTWARE.
00026  * -----------------------------------------------------------------------------
00027  */
00028 
00029 #ifndef __LogConfig_H_
00030 #define __LogConfig_H_
00031 
00032 #include "OgrePrerequisites.h"
00033 #include "OgreMesh.h"
00034 #include "OgreLodStrategy.h"
00035 
00036 namespace Ogre
00037 {
00041 struct LodLevel {
00048     enum VertexReductionMethod {
00054         VRM_PROPORTIONAL,
00055 
00061         VRM_CONSTANT,
00062 
00069         VRM_COLLAPSE_COST
00070     };
00071 
00077     Real distance;
00078 
00084     VertexReductionMethod reductionMethod;
00085 
00089     Real reductionValue;
00090 
00096     size_t outUniqueVertexCount;
00097 
00101     bool outSkipped;
00102 };
00103 
00104 struct LodConfig {
00105     MeshPtr mesh;
00106     LodStrategy* strategy;
00107     typedef vector<LodLevel>::type LodLevelList;
00108     LodLevelList levels;
00109 };
00110 }
00111 #endif

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Mon Jul 27 2020 13:40:44