KeosEnums.h

Go to the documentation of this file.
00001 /*
00002  * This source file is part of KEOS (Free 3D Engine)
00003  * For the latest info, see http://www.keosengine.org/
00004  * E-mails : thierry.vouriot@keosengine.org, yeri@keosengine.org
00005  *
00006  * This program is free software; you can redistribute it and/or modify it under
00007  * the terms of the GNU Lesser General Public License as published by the Free Software
00008  * Foundation; either version 2 of the License, or (at your option) any later
00009  * version.
00010  *
00011  * This program is distributed in the hope that it will be useful, but WITHOUT
00012  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00013  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Lesser General Public License along with
00016  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
00017  * Place - Suite 330, Boston, MA 02111-1307, USA, or go to
00018  * http://www.gnu.org/copyleft/lesser.txt.
00019  *
00020  */
00021 
00022 #ifndef KEOS_ENUMS_H
00023 #define KEOS_ENUMS_H
00024 
00025 namespace Keos
00026 {
00028   enum TPrimitiveType
00029   {
00030     PT_TRIANGLELIST,
00031     PT_TRIANGLESTRIP,
00032     PT_TRIANGLEFAN,
00033     PT_LINELIST,
00034     PT_LINESTRIP,
00035     PT_POINTLIST
00036   };
00037 
00039   enum
00040   {
00041     BUF_STATIC  = 1 << 0,
00042     BUF_DYNAMIC = 1 << 1
00043   };
00044 
00046   enum
00047   {
00048     LOCK_READONLY  = 1 << 0,
00049     LOCK_WRITEONLY = 1 << 1
00050   };
00051 
00053   enum TMatrixType
00054   {
00055     MAT_MODELVIEW,
00056     MAT_PROJECTION,
00057     MAT_TEXTURE_0,
00058     MAT_TEXTURE_1,
00059     MAT_TEXTURE_2,
00060     MAT_TEXTURE_3
00061   };
00062 
00064   enum TPixelFormat
00065   {
00066     PXF_L8,       // Luminance 8 bits
00067     PXF_A8L8,     // Alpha and luminance 16 bits
00068     PXF_A1R5G5B5, // RGB 16 bits 1555
00069     PXF_A4R4G4B4, // RGB 16 bits 4444
00070     PXF_R8G8B8,   // RGB 24 bits 888
00071     PXF_A8R8G8B8, // ARGB 32 bits 8888
00072     PXF_DXTC1,    // Compressed format DXT1 8 bits
00073     PXF_DXTC3,    // Compressed format DXT3 16 bits
00074     PXF_DXTC5     // Compressed format DXT5 16 bits
00075   };
00076 
00078   enum
00079   {
00080     TEX_NOMIPMAP = 1 << 0
00081   };
00082 
00084   enum TIntersection
00085   {
00086     INT_IN,        // Completely inside
00087     INT_OUT,       // Completely outside
00088     INT_INTERSECTS // Intersection
00089   };
00090 
00092   enum TBlend
00093   {
00094     BLEND_SRCALPHA,     // Alpha source
00095     BLEND_INVSRCALPHA,  // Opposite of the alpha source
00096     BLEND_DESTALPHA,    // Alpha destination
00097     BLEND_INVDESTALPHA, // Opposite of the alpha destination
00098     BLEND_SRCCOLOR,     // Color source
00099     BLEND_INVSRCCOLOR,  // Opposite of the color source
00100     BLEND_DESTCOLOR,    // Color destination
00101     BLEND_INVDESTCOLOR, // Opposite of the color destination
00102     BLEND_ONE,          // One
00103     BLEND_ZERO          // Zero
00104   };
00105 
00107   enum TTextureOp
00108   {
00109     TXO_COLOR_FIRSTARG, // Selection of the first parameter of colour
00110     TXO_COLOR_ADD,      // Addition between both parameters of colour
00111     TXO_COLOR_MODULATE, // Modulation between both parameters of colour
00112     TXO_ALPHA_FIRSTARG, // Selection of the first parameter of alpha
00113     TXO_ALPHA_ADD,      // Addition between both parameters of alpha
00114     TXO_ALPHA_MODULATE  // Modulation between both parameters of alpha
00115   };
00116 
00118   enum TTextureArg
00119   {
00120     TXA_DIFFUSE,  // Diffuse color
00121     TXA_TEXTURE,  // Texture
00122     TXA_PREVIOUS, // Result of the unity of previous texture
00123     TXA_CONSTANT  // Constant
00124   };
00125 
00127   enum TAlign
00128   {
00129     ALIGN_LEFT    = 1 << 0, // To the left
00130     ALIGN_HCENTER = 1 << 1, // Horizontal center
00131     ALIGN_RIGHT   = 1 << 2, // To the right
00132     ALIGN_TOP     = 1 << 3, // At the top
00133     ALIGN_VCENTER = 1 << 4, // Vertical center
00134     ALIGN_BOTTOM  = 1 << 5  // At the bottom
00135   };
00136 
00138   enum TRenderParameter
00139   {
00140     RENDER_ZWRITE,     // Writing on Z-Buffer
00141     RENDER_ALPHABLEND, // Alpha-blending
00142     RENDER_LIGHTING    // Lighting
00143   };
00144 
00146   enum TFillMode
00147   {
00148     FILL_POINT,
00149     FILL_WIREFRAME,
00150     FILL_SOLID
00151   };
00152 
00154   enum TShaderType
00155   {
00156     SHADER_VERTEX,
00157     SHADER_PIXEL
00158   };
00159 
00161   enum TMD2AnimatedMeshStateKF
00162   {
00163     MD2_STAND    = 0,
00164     MD2_RUN     = 1,
00165     MD2_ATTACK    = 2,
00166     MD2_PAIN_A    = 3,
00167     MD2_PAIN_B    = 4,
00168     MD2_PAIN_C    = 5,
00169     MD2_JUMP    = 6,
00170     MD2_FLIP    = 7,
00171     MD2_SALUTE    = 8,
00172     MD2_FALLBACK   = 9,
00173     MD2_WAVE    = 10,
00174     MD2_POINT    = 11,
00175     MD2_CROUCH_STAND  = 12,
00176     MD2_CROUCH_WALK   = 13,
00177     MD2_CROUCH_ATTACK  = 14,
00178     MD2_CROUCH_PAIN   = 15,
00179     MD2_CROUCH_DEATH  = 16,
00180     MD2_DEATH_FALLBACK  = 17,
00181     MD2_DEATH_FALLFORWARD = 18,
00182     MD2_DEATH_FALLBACKSLOW = 19
00183   };
00184 
00185 } // namespace Keos
00186 
00187 #endif // KEOS_ENUMS_H
00188 

Generated on Fri Mar 9 14:29:02 2007 for Keos by  doxygen 1.5.1-p1