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 © 2000-2002 The OGRE Team 00008 Also see acknowledgements in Readme.html 00009 00010 This program is free software; you can redistribute it and/or modify it under 00011 the terms of the GNU Lesser General Public License as published by the Free Software 00012 Foundation; either version 2 of the License, or (at your option) any later 00013 version. 00014 00015 This program is distributed in the hope that it will be useful, but WITHOUT 00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public License along with 00020 this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00021 Place - Suite 330, Boston, MA 02111-1307, USA, or go to 00022 http://www.gnu.org/copyleft/lesser.txt. 00023 ----------------------------------------------------------------------------- 00024 */ 00025 #ifndef __Common_H__ 00026 #define __Common_H__ 00027 // Common stuff 00028 00029 #include <utility> 00030 00031 namespace Ogre { 00032 00033 enum ResourceType 00034 { 00036 RESTYPE_ALL, 00038 RESTYPE_TEXTURES, 00040 RESTYPE_MODELS 00041 }; 00042 00045 enum CompareFunction 00046 { 00047 CMPF_ALWAYS_FAIL, 00048 CMPF_ALWAYS_PASS, 00049 CMPF_LESS, 00050 CMPF_LESS_EQUAL, 00051 CMPF_EQUAL, 00052 CMPF_NOT_EQUAL, 00053 CMPF_GREATER_EQUAL, 00054 CMPF_GREATER 00055 }; 00056 00059 enum TextureFilterOptions 00060 { 00062 TFO_NONE, 00064 TFO_BILINEAR, 00066 TFO_TRILINEAR, 00068 TFO_ANISOTROPIC 00069 }; 00070 00071 enum FilterType 00072 { 00074 FT_MIN, 00076 FT_MAG, 00078 FT_MIP 00079 }; 00081 enum FilterOptions 00082 { 00084 FO_NONE, 00086 FO_POINT, 00088 FO_LINEAR, 00090 FO_ANISOTROPIC 00091 }; 00092 00093 00094 00096 enum ShadeOptions 00097 { 00098 SO_FLAT, 00099 SO_GOURAUD, 00100 SO_PHONG 00101 }; 00102 00104 enum FogMode 00105 { 00107 FOG_NONE, 00109 FOG_EXP, 00111 FOG_EXP2, 00113 FOG_LINEAR 00114 }; 00115 00118 enum CullingMode 00119 { 00121 CULL_NONE = 1, 00123 CULL_CLOCKWISE = 2, 00125 CULL_ANTICLOCKWISE = 3 00126 }; 00127 00133 enum ManualCullingMode 00134 { 00136 MANUAL_CULL_NONE = 1, 00138 MANUAL_CULL_BACK = 2, 00140 MANUAL_CULL_FRONT = 3 00141 }; 00142 00144 enum WaveformType 00145 { 00147 WFT_SINE, 00149 WFT_TRIANGLE, 00151 WFT_SQUARE, 00153 WFT_SAWTOOTH, 00155 WFT_INVERSE_SAWTOOTH 00156 }; 00157 00159 enum SceneDetailLevel 00160 { 00162 SDL_POINTS = 1, 00164 SDL_WIREFRAME = 2, 00166 SDL_SOLID = 3 00167 }; 00168 00170 enum PixelFormat 00171 { 00173 PF_UNKNOWN, 00175 PF_L8, 00177 PF_L16, 00179 PF_A8, 00181 PF_A4L4, 00183 PF_L4A4, 00185 PF_R5G6B5, 00187 PF_B5G6R5, 00189 PF_A4R4G4B4, 00191 PF_B4G4R4A4, 00193 PF_R8G8B8, 00195 PF_B8G8R8, 00197 PF_A8R8G8B8, 00199 PF_B8G8R8A8, 00201 PF_A2R10G10B10, 00203 PF_B10G10R10A2, 00205 PF_DXT1, 00207 PF_DXT2, 00209 PF_DXT3, 00211 PF_DXT4, 00213 PF_DXT5 00214 }; 00215 00217 enum ShadowTechnique 00218 { 00220 SHADOWTYPE_NONE, 00227 SHADOWTYPE_STENCIL_MODULATIVE, 00235 SHADOWTYPE_STENCIL_ADDITIVE, 00240 SHADOWTYPE_TEXTURE_MODULATIVE, 00247 }; 00248 00249 00250 PixelFormat ilFormat2OgreFormat( int ImageFormat, int BytesPerPixel ); 00251 std::pair< int, int > OgreFormat2ilFormat( PixelFormat format ); 00252 00253 typedef std::vector<Light*> LightList; 00254 00255 typedef std::map<String, bool> UnaryOptionList; 00256 typedef std::map<String, String> BinaryOptionList; 00268 int _OgreExport findCommandLineOpts(int numargs, char** argv, UnaryOptionList& unaryOptList, 00269 BinaryOptionList& binOptList); 00270 00271 } 00272 00273 #endif
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:48:17 2004