ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

glcore.h
Go to the documentation of this file.
00001 #ifndef __gl_core_h_
00002 #define __gl_core_h_
00003 
00004 /*
00005  * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
00006  * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
00007  *
00008  * Permission is hereby granted, free of charge, to any person obtaining a
00009  * copy of this software and associated documentation files (the "Software"),
00010  * to deal in the Software without restriction, including without limitation
00011  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00012  * and/or sell copies of the Software, and to permit persons to whom the
00013  * Software is furnished to do so, subject to the following conditions:
00014  *
00015  * The above copyright notice including the dates of first publication and
00016  * either this permission notice or a reference to
00017  * http://oss.sgi.com/projects/FreeB/
00018  * shall be included in all copies or substantial portions of the Software.
00019  *
00020  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00021  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00022  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00023  * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
00024  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
00025  * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
00026  * SOFTWARE.
00027  *
00028  * Except as contained in this notice, the name of Silicon Graphics, Inc.
00029  * shall not be used in advertising or otherwise to promote the sale, use or
00030  * other dealings in this Software without prior written authorization from
00031  * Silicon Graphics, Inc.
00032  */
00033 
00034 #include <sys/types.h>
00035 
00036 #define GL_CORE_SGI  1
00037 #define GL_CORE_MESA 2
00038 #define GL_CORE_APPLE 4
00039 #define GL_CORE_WINDOWS 8
00040 
00041 typedef struct __GLcontextRec __GLcontext;
00042 
00043 /*
00044 ** This file defines the interface between the GL core and the surrounding
00045 ** "operating system" that supports it (currently the GLX or WGL extensions).
00046 **
00047 ** Members (data and function pointers) are documented as imported or
00048 ** exported according to how they are used by the core rendering functions.
00049 ** Imported members are initialized by the "operating system" and used by
00050 ** the core functions.  Exported members are initialized by the core functions
00051 ** and used by the "operating system".
00052 */
00053 
00066 typedef struct __GLcontextModesRec {
00067     struct __GLcontextModesRec * next;
00068 
00069     GLboolean rgbMode;
00070     GLboolean floatMode;
00071     GLboolean colorIndexMode;
00072     GLuint doubleBufferMode;
00073     GLuint stereoMode;
00074 
00075     GLboolean haveAccumBuffer;
00076     GLboolean haveDepthBuffer;
00077     GLboolean haveStencilBuffer;
00078 
00079     GLint redBits, greenBits, blueBits, alphaBits;  /* bits per comp */
00080     GLuint redMask, greenMask, blueMask, alphaMask;
00081     GLint rgbBits;      /* total bits for rgb */
00082     GLint indexBits;        /* total bits for colorindex */
00083 
00084     GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits;
00085     GLint depthBits;
00086     GLint stencilBits;
00087 
00088     GLint numAuxBuffers;
00089 
00090     GLint level;
00091 
00092     GLint pixmapMode;
00093 
00094     /* GLX */
00095     GLint visualID;
00096     GLint visualType;     
00100     /* EXT_visual_rating / GLX 1.2 */
00101     GLint visualRating;
00102 
00103     /* EXT_visual_info / GLX 1.2 */
00104     GLint transparentPixel;
00105                 /*    colors are floats scaled to ints */
00106     GLint transparentRed, transparentGreen, transparentBlue, transparentAlpha;
00107     GLint transparentIndex;
00108 
00109     /* ARB_multisample / SGIS_multisample */
00110     GLint sampleBuffers;
00111     GLint samples;
00112 
00113     /* SGIX_fbconfig / GLX 1.3 */
00114     GLint drawableType;
00115     GLint renderType;
00116     GLint xRenderable;
00117     GLint fbconfigID;
00118 
00119     /* SGIX_pbuffer / GLX 1.3 */
00120     GLint maxPbufferWidth;
00121     GLint maxPbufferHeight;
00122     GLint maxPbufferPixels;
00123     GLint optimalPbufferWidth;   /* Only for SGIX_pbuffer. */
00124     GLint optimalPbufferHeight;  /* Only for SGIX_pbuffer. */
00125 
00126     /* SGIX_visual_select_group */
00127     GLint visualSelectGroup;
00128 
00129     /* OML_swap_method */
00130     GLint swapMethod;
00131 
00132     GLint screen;
00133 
00134     /* EXT_texture_from_pixmap */
00135     GLint bindToTextureRgb;
00136     GLint bindToTextureRgba;
00137     GLint bindToMipmapTexture;
00138     GLint bindToTextureTargets;
00139     GLint yInverted;
00140 } __GLcontextModes;
00141 
00142 /* Several fields of __GLcontextModes can take these as values.  Since
00143  * GLX header files may not be available everywhere they need to be used,
00144  * redefine them here.
00145  */
00146 #define GLX_NONE                           0x8000
00147 #define GLX_SLOW_CONFIG                    0x8001
00148 #define GLX_TRUE_COLOR                     0x8002
00149 #define GLX_DIRECT_COLOR                   0x8003
00150 #define GLX_PSEUDO_COLOR                   0x8004
00151 #define GLX_STATIC_COLOR                   0x8005
00152 #define GLX_GRAY_SCALE                     0x8006
00153 #define GLX_STATIC_GRAY                    0x8007
00154 #define GLX_TRANSPARENT_RGB                0x8008
00155 #define GLX_TRANSPARENT_INDEX              0x8009
00156 #define GLX_NON_CONFORMANT_CONFIG          0x800D
00157 #define GLX_SWAP_EXCHANGE_OML              0x8061
00158 #define GLX_SWAP_COPY_OML                  0x8062
00159 #define GLX_SWAP_UNDEFINED_OML             0x8063
00160 
00161 #define GLX_DONT_CARE                      0xFFFFFFFF
00162 
00163 #define GLX_RGBA_BIT                       0x00000001
00164 #define GLX_COLOR_INDEX_BIT                0x00000002
00165 #define GLX_WINDOW_BIT                     0x00000001
00166 #define GLX_PIXMAP_BIT                     0x00000002
00167 #define GLX_PBUFFER_BIT                    0x00000004
00168 
00169 #define GLX_BIND_TO_TEXTURE_RGB_EXT        0x20D0
00170 #define GLX_BIND_TO_TEXTURE_RGBA_EXT       0x20D1
00171 #define GLX_BIND_TO_MIPMAP_TEXTURE_EXT     0x20D2
00172 #define GLX_BIND_TO_TEXTURE_TARGETS_EXT    0x20D3
00173 #define GLX_Y_INVERTED_EXT                 0x20D4
00174 
00175 #define GLX_TEXTURE_1D_BIT_EXT             0x00000001
00176 #define GLX_TEXTURE_2D_BIT_EXT             0x00000002
00177 #define GLX_TEXTURE_RECTANGLE_BIT_EXT      0x00000004
00178 
00179 #endif /* __gl_core_h_ */

Generated on Sat May 26 2012 04:18:41 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.