Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

# 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     };
    00143
    00145     enum TShaderType
    00146     {
    00147         SHADER_VERTEX,
    00148         SHADER_PIXEL
    00149     };
    00150
    00151 } // namespace Keos
    00152
    00153 #endif // KEOS_ENUMS_H
    00154