arbeit
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

wglew.h

Go to the documentation of this file.
00001 /*
00002 ** License Applicability. Except to the extent portions of this file are
00003 ** made subject to an alternative license as permitted in the SGI Free
00004 ** Software License B, Version 1.1 (the "License"), the contents of this
00005 ** file are subject only to the provisions of the License. You may not use
00006 ** this file except in compliance with the License. You may obtain a copy
00007 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
00008 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
00009 ** 
00010 ** http://oss.sgi.com/projects/FreeB
00011 ** 
00012 ** Note that, as provided in the License, the Software is distributed on an
00013 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
00014 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
00015 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
00016 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
00017 ** 
00018 ** Original Code. The Original Code is: OpenGL Sample Implementation,
00019 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
00020 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
00021 ** Copyright in any portions created by third parties is as indicated
00022 ** elsewhere herein. All Rights Reserved.
00023 ** 
00024 ** Additional Notice Provisions: This software was created using the
00025 ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
00026 ** not been independently verified as being compliant with the OpenGL(R)
00027 ** version 1.2.1 Specification.
00028 */
00029 
00030 /*
00031 ** Copyright (C) 2002, Lev Povalahev
00032 ** All rights reserved.
00033 ** 
00034 ** Redistribution and use in source and binary forms, with or without 
00035 ** modification, are permitted provided that the following conditions are met:
00036 ** 
00037 ** * Redistributions of source code must retain the above copyright notice, 
00038 **   this list of conditions and the following disclaimer.
00039 ** * Redistributions in binary form must reproduce the above copyright notice, 
00040 **   this list of conditions and the following disclaimer in the documentation 
00041 **   and/or other materials provided with the distribution.
00042 ** * The name of the author may be used to endorse or promote products 
00043 **   derived from this software without specific prior written permission.
00044 **
00045 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
00046 ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
00047 ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00048 ** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
00049 ** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
00050 ** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
00051 ** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00052 ** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00053 ** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00054 ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
00055 ** THE POSSIBILITY OF SUCH DAMAGE.
00056 */
00057 
00058 /*
00059 ** The OpenGL Extension Wrangler Library
00060 ** Copyright (C) 2002 Milan Ikits
00061 **
00062 ** This library is free software; you can redistribute it and/or
00063 ** modify it under the terms of the GNU Lesser General Public
00064 ** License as published by the Free Software Foundation; either
00065 ** version 2.1 of the License, or (at your option) any later version.
00066 **
00067 ** This library is distributed in the hope that it will be useful,
00068 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
00069 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00070 ** Lesser General Public License for more details.
00071 **
00072 ** You should have received a copy of the GNU Lesser General Public
00073 ** License along with this library; if not, write to the Free Software
00074 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00075 */
00076 
00077 #ifndef __wglew_h__
00078 #define __wglew_h__
00079 
00080 #ifdef __wglext_h_
00081 #error wglext.h included before wglew.h
00082 #endif
00083 
00084 #define __wglext_h_
00085 
00086 #ifdef _WIN32
00087 
00088 #if !defined(APIENTRY) && !defined(__CYGWIN__)
00089 #define WIN32_LEAN_AND_MEAN 1
00090 #include <windows.h>
00091 #endif
00092 
00093 /*
00094  * GLEW_STATIC needs to be set when including the
00095  * source directly in the project.  
00096  * GLEW_BUILD is set when building the dll version.
00097  */
00098 #ifdef GLEW_STATIC
00099 #define GLEW_EXPORT
00100 #else
00101 #ifdef GLEW_BUILD
00102 #define GLEW_EXPORT __declspec(dllexport)
00103 #else
00104 #define GLEW_EXPORT __declspec(dllimport)
00105 #endif
00106 #endif
00107 
00108 #ifdef __cplusplus
00109 extern "C" {
00110 #endif
00111 
00112 /* ARB extensions */
00113 #define WGL_ARB_buffer_region 1
00114 #define WGL_ARB_extensions_string 1
00115 #define WGL_ARB_make_current_read 1
00116 #define WGL_ARB_multisample 1
00117 #define WGL_ARB_pbuffer 1
00118 #define WGL_ARB_pixel_format 1
00119 #define WGL_ARB_render_texture 1
00120 /* multi-vendor extensions */
00121 #define WGL_EXT_depth_float 1
00122 #define WGL_EXT_display_color_table 1
00123 #define WGL_EXT_extensions_string 1
00124 #define WGL_EXT_make_current_read 1
00125 #define WGL_EXT_multisample 1
00126 #define WGL_EXT_swap_control 1
00127 #define WGL_EXT_pixel_format 1
00128 #define WGL_EXT_pbuffer 1
00129 /* vendor-specific extensions */
00130 #define WGL_I3D_digital_video_control 1
00131 #define WGL_I3D_gamma 1
00132 #define WGL_I3D_genlock 1
00133 #define WGL_I3D_image_buffer 1 
00134 #define WGL_I3D_swap_frame_lock 1
00135 #define WGL_I3D_swap_frame_usage 1
00136 #define WGL_OML_sync_control 1
00137 /* ATI extensions */
00138 #define WGL_ATI_pixel_format_float 1
00139 /* NVIDIA extensions */
00140 #define WGL_NV_float_buffer 1
00141 #define WGL_NV_render_depth_texture 1
00142 #define WGL_NV_render_texture_rectangle 1
00143 #define WGL_NV_vertex_array_range 1
00144 
00145 /* ---------------------------- ARB_buffer_region ------------------------- */
00146 
00147 #ifdef WGL_ARB_buffer_region
00148 
00149 #define WGL_FRONT_COLOR_BUFFER_BIT_ARB                          0x00000001
00150 #define WGL_BACK_COLOR_BUFFER_BIT_ARB                           0x00000002
00151 #define WGL_DEPTH_BUFFER_BIT_ARB                                0x00000004
00152 #define WGL_STENCIL_BUFFER_BIT_ARB                              0x00000008
00153 
00154 typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
00155 typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
00156 typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
00157 typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
00158 
00159 extern GLEW_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC wglCreateBufferRegionARB;
00160 extern GLEW_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC wglDeleteBufferRegionARB;
00161 extern GLEW_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC wglSaveBufferRegionARB;
00162 extern GLEW_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC wglRestoreBufferRegionARB;
00163 
00164 #endif /* WGL_ARB_buffer_region */
00165 
00166 /* -------------------------- ARB_extensions_string ----------------------- */
00167 
00168 #ifdef WGL_ARB_extensions_string
00169 
00170 typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
00171 
00172 extern GLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB;
00173 
00174 #endif /* WGL_ARB_extensions_string */
00175 
00176 /* -------------------------- ARB_make_current_read ----------------------- */
00177 
00178 #ifdef WGL_ARB_make_current_read
00179 
00180 #define ERROR_INVALID_PIXEL_TYPE_ARB                            0x2043
00181 #define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB                  0x2054
00182 
00183 typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
00184 typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
00185 
00186 extern GLEW_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC wglMakeContextCurrentARB;
00187 extern GLEW_EXPORT PFNWGLGETCURRENTREADDCARBPROC wglGetCurrentReadDCARB;
00188 
00189 #endif /* WGL_ARB_make_current_read */
00190 
00191 /* ----------------------------- ARB_multisample -------------------------- */
00192 
00193 #ifdef WGL_ARB_multisample
00194 
00195 #define WGL_SAMPLE_BUFFERS_ARB                                  0x2041
00196 #define WGL_SAMPLES_ARB                                         0x2042
00197 
00198 #endif /* WGL_ARB_multisample */
00199 
00200 /* ------------------------------- ARB_pbuffer ---------------------------- */
00201 
00202 #ifdef WGL_ARB_pbuffer
00203 
00204 #define WGL_DRAW_TO_PBUFFER_ARB                                 0x202D
00205 #define WGL_MAX_PBUFFER_PIXELS_ARB                              0x202E
00206 #define WGL_MAX_PBUFFER_WIDTH_ARB                               0x202F
00207 #define WGL_MAX_PBUFFER_HEIGHT_ARB                              0x2030
00208 #define WGL_PBUFFER_LARGEST_ARB                                 0x2033
00209 #define WGL_PBUFFER_WIDTH_ARB                                   0x2034
00210 #define WGL_PBUFFER_HEIGHT_ARB                                  0x2035
00211 #define WGL_PBUFFER_LOST_ARB                                    0x2036
00212 
00213 DECLARE_HANDLE(HPBUFFERARB);
00214 
00215 typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
00216 typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
00217 typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
00218 typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
00219 typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
00220 
00221 extern GLEW_EXPORT PFNWGLCREATEPBUFFERARBPROC wglCreatePbufferARB;
00222 extern GLEW_EXPORT PFNWGLGETPBUFFERDCARBPROC wglGetPbufferDCARB;
00223 extern GLEW_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC wglReleasePbufferDCARB;
00224 extern GLEW_EXPORT PFNWGLDESTROYPBUFFERARBPROC wglDestroyPbufferARB;
00225 extern GLEW_EXPORT PFNWGLQUERYPBUFFERARBPROC wglQueryPbufferARB;
00226 
00227 #endif /* WGL_ARB_pbuffer */
00228 
00229 /* ---------------------------- ARB_pixel_format -------------------------- */
00230 
00231 #ifdef WGL_ARB_pixel_format
00232 
00233 #define WGL_NUMBER_PIXEL_FORMATS_ARB                            0x2000
00234 #define WGL_DRAW_TO_WINDOW_ARB                                  0x2001
00235 #define WGL_DRAW_TO_BITMAP_ARB                                  0x2002
00236 #define WGL_ACCELERATION_ARB                                    0x2003
00237 #define WGL_NEED_PALETTE_ARB                                    0x2004
00238 #define WGL_NEED_SYSTEM_PALETTE_ARB                             0x2005
00239 #define WGL_SWAP_LAYER_BUFFERS_ARB                              0x2006
00240 #define WGL_SWAP_METHOD_ARB                                     0x2007
00241 #define WGL_NUMBER_OVERLAYS_ARB                                 0x2008
00242 #define WGL_NUMBER_UNDERLAYS_ARB                                0x2009
00243 #define WGL_TRANSPARENT_ARB                                     0x200A
00244 #define WGL_TRANSPARENT_RED_VALUE_ARB                           0x2037
00245 #define WGL_TRANSPARENT_GREEN_VALUE_ARB                         0x2038
00246 #define WGL_TRANSPARENT_BLUE_VALUE_ARB                          0x2039
00247 #define WGL_TRANSPARENT_ALPHA_VALUE_ARB                         0x203A
00248 #define WGL_TRANSPARENT_INDEX_VALUE_ARB                         0x203B
00249 #define WGL_SHARE_DEPTH_ARB                                     0x200C
00250 #define WGL_SHARE_STENCIL_ARB                                   0x200D
00251 #define WGL_SHARE_ACCUM_ARB                                     0x200E
00252 #define WGL_SUPPORT_GDI_ARB                                     0x200F
00253 #define WGL_SUPPORT_OPENGL_ARB                                  0x2010
00254 #define WGL_DOUBLE_BUFFER_ARB                                   0x2011
00255 #define WGL_STEREO_ARB                                          0x2012
00256 #define WGL_PIXEL_TYPE_ARB                                      0x2013
00257 #define WGL_COLOR_BITS_ARB                                      0x2014
00258 #define WGL_RED_BITS_ARB                                        0x2015
00259 #define WGL_RED_SHIFT_ARB                                       0x2016
00260 #define WGL_GREEN_BITS_ARB                                      0x2017
00261 #define WGL_GREEN_SHIFT_ARB                                     0x2018
00262 #define WGL_BLUE_BITS_ARB                                       0x2019
00263 #define WGL_BLUE_SHIFT_ARB                                      0x201A
00264 #define WGL_ALPHA_BITS_ARB                                      0x201B
00265 #define WGL_ALPHA_SHIFT_ARB                                     0x201C
00266 #define WGL_ACCUM_BITS_ARB                                      0x201D
00267 #define WGL_ACCUM_RED_BITS_ARB                                  0x201E
00268 #define WGL_ACCUM_GREEN_BITS_ARB                                0x201F
00269 #define WGL_ACCUM_BLUE_BITS_ARB                                 0x2020
00270 #define WGL_ACCUM_ALPHA_BITS_ARB                                0x2021
00271 #define WGL_DEPTH_BITS_ARB                                      0x2022
00272 #define WGL_STENCIL_BITS_ARB                                    0x2023
00273 #define WGL_AUX_BUFFERS_ARB                                     0x2024
00274 #define WGL_NO_ACCELERATION_ARB                                 0x2025
00275 #define WGL_GENERIC_ACCELERATION_ARB                            0x2026
00276 #define WGL_FULL_ACCELERATION_ARB                               0x2027
00277 #define WGL_SWAP_EXCHANGE_ARB                                   0x2028
00278 #define WGL_SWAP_COPY_ARB                                       0x2029
00279 #define WGL_SWAP_UNDEFINED_ARB                                  0x202A
00280 #define WGL_TYPE_RGBA_ARB                                       0x202B
00281 #define WGL_TYPE_COLORINDEX_ARB                                 0x202C
00282 
00283 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
00284 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
00285 typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
00286 
00287 extern GLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC wglGetPixelFormatAttribivARB;
00288 extern GLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC wglGetPixelFormatAttribfvARB;
00289 extern GLEW_EXPORT PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB;
00290 
00291 #endif /* WGL_ARB_pixel_format */
00292 
00293 /* --------------------------- ARB_render_texture ------------------------- */
00294 
00295 #ifdef WGL_ARB_render_texture
00296 
00297 #define WGL_BIND_TO_TEXTURE_RGB_ARB                             0x2070
00298 #define WGL_BIND_TO_TEXTURE_RGBA_ARB                            0x2071
00299 #define WGL_TEXTURE_FORMAT_ARB                                  0x2072
00300 #define WGL_TEXTURE_TARGET_ARB                                  0x2073
00301 #define WGL_MIPMAP_TEXTURE_ARB                                  0x2074
00302 #define WGL_TEXTURE_RGB_ARB                                     0x2075
00303 #define WGL_TEXTURE_RGBA_ARB                                    0x2076
00304 #define WGL_NO_TEXTURE_ARB                                      0x2077
00305 #define WGL_TEXTURE_CUBE_MAP_ARB                                0x2078
00306 #define WGL_TEXTURE_1D_ARB                                      0x2079
00307 #define WGL_TEXTURE_2D_ARB                                      0x207A
00308 #define WGL_NO_TEXTURE_ARB                                      0x2077
00309 #define WGL_MIPMAP_LEVEL_ARB                                    0x207B
00310 #define WGL_CUBE_MAP_FACE_ARB                                   0x207C
00311 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB                     0x207D
00312 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB                     0x207E
00313 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB                     0x207F
00314 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB                     0x2080
00315 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB                     0x2081
00316 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB                     0x2082
00317 #define WGL_FRONT_LEFT_ARB                                      0x2083
00318 #define WGL_FRONT_RIGHT_ARB                                     0x2084
00319 #define WGL_BACK_LEFT_ARB                                       0x2085
00320 #define WGL_BACK_RIGHT_ARB                                      0x2086
00321 #define WGL_AUX0_ARB                                            0x2087
00322 #define WGL_AUX1_ARB                                            0x2088
00323 #define WGL_AUX2_ARB                                            0x2089
00324 #define WGL_AUX3_ARB                                            0x208A
00325 #define WGL_AUX4_ARB                                            0x208B
00326 #define WGL_AUX5_ARB                                            0x208C
00327 #define WGL_AUX6_ARB                                            0x208D
00328 #define WGL_AUX7_ARB                                            0x208E
00329 #define WGL_AUX8_ARB                                            0x208F
00330 #define WGL_AUX9_ARB                                            0x2090
00331 
00332 typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
00333 typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
00334 typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
00335 
00336 extern GLEW_EXPORT PFNWGLBINDTEXIMAGEARBPROC wglBindTexImageARB;
00337 extern GLEW_EXPORT PFNWGLRELEASETEXIMAGEARBPROC wglReleaseTexImageARB;
00338 extern GLEW_EXPORT PFNWGLSETPBUFFERATTRIBARBPROC wglSetPbufferAttribARB;
00339 
00340 #endif /* WGL_ARB_render_texture */
00341 
00342 /* ----------------------------- EXT_depth_float -------------------------- */
00343 
00344 #ifdef WGL_EXT_depth_float
00345 
00346 #define WGL_DEPTH_FLOAT_EXT                                     0x2040
00347 
00348 #endif /* WGL_EXT_depth_float */
00349 
00350 /* ------------------------- EXT_display_color_table ---------------------- */
00351 
00352 #ifdef WGL_EXT_display_color_table
00353 
00354 typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
00355 typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length);
00356 typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
00357 typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
00358 
00359 extern GLEW_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC wglCreateDisplayColorTableEXT;
00360 extern GLEW_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC wglLoadDisplayColorTableEXT;
00361 extern GLEW_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC wglBindDisplayColorTableEXT;
00362 extern GLEW_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC wglDestroyDisplayColorTableEXT;
00363 
00364 #endif /* WGL_EXT_display_color_table */
00365 
00366 /* -------------------------- EXT_extensions_string ----------------------- */
00367 
00368 #ifdef WGL_EXT_extensions_string
00369 
00370 typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) ();
00371 
00372 extern GLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC wglGetExtensionsStringEXT;
00373 
00374 #endif /* WGL_EXT_extensions_string */
00375 
00376 /* -------------------------- EXT_make_current_read ----------------------- */
00377 
00378 #ifdef WGL_EXT_make_current_read
00379 
00380 #define ERROR_INVALID_PIXEL_TYPE_EXT                            0x2043
00381 
00382 typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
00383 typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void);
00384 
00385 extern GLEW_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC wglMakeContextCurrentEXT;
00386 extern GLEW_EXPORT PFNWGLGETCURRENTREADDCEXTPROC wglGetCurrentReadDCEXT;
00387 
00388 #endif /* WGL_EXT_make_current_read */
00389 
00390 /* ----------------------------- EXT_multisample -------------------------- */
00391 
00392 #ifdef WGL_EXT_multisample
00393 
00394 #define WGL_SAMPLE_BUFFERS_EXT                                  0x2041
00395 #define WGL_SAMPLES_EXT                                         0x2042
00396 
00397 #endif /* WGL_EXT_multisample */
00398 
00399 /* ----------------------------- EXT_pixel_format ------------------------- */
00400 
00401 #ifdef WGL_EXT_pixel_format
00402 
00403 #define WGL_NUMBER_PIXEL_FORMATS_EXT                            0x2000
00404 #define WGL_DRAW_TO_WINDOW_EXT                                  0x2001
00405 #define WGL_DRAW_TO_BITMAP_EXT                                  0x2002
00406 #define WGL_ACCELERATION_EXT                                    0x2003
00407 #define WGL_NEED_PALETTE_EXT                                    0x2004
00408 #define WGL_NEED_SYSTEM_PALETTE_EXT                             0x2005
00409 #define WGL_SWAP_LAYER_BUFFERS_EXT                              0x2006
00410 #define WGL_SWAP_METHOD_EXT                                     0x2007
00411 #define WGL_NUMBER_OVERLAYS_EXT                                 0x2008
00412 #define WGL_NUMBER_UNDERLAYS_EXT                                0x2009
00413 #define WGL_TRANSPARENT_EXT                                     0x200A
00414 #define WGL_TRANSPARENT_VALUE_EXT                               0x200B
00415 #define WGL_SHARE_DEPTH_EXT                                     0x200C
00416 #define WGL_SHARE_STENCIL_EXT                                   0x200D
00417 #define WGL_SHARE_ACCUM_EXT                                     0x200E
00418 #define WGL_SUPPORT_GDI_EXT                                     0x200F
00419 #define WGL_SUPPORT_OPENGL_EXT                                  0x2010
00420 #define WGL_DOUBLE_BUFFER_EXT                                   0x2011
00421 #define WGL_STEREO_EXT                                          0x2012
00422 #define WGL_PIXEL_TYPE_EXT                                      0x2013
00423 #define WGL_COLOR_BITS_EXT                                      0x2014
00424 #define WGL_RED_BITS_EXT                                        0x2015
00425 #define WGL_RED_SHIFT_EXT                                       0x2016
00426 #define WGL_GREEN_BITS_EXT                                      0x2017
00427 #define WGL_GREEN_SHIFT_EXT                                     0x2018
00428 #define WGL_BLUE_BITS_EXT                                       0x2019
00429 #define WGL_BLUE_SHIFT_EXT                                      0x201A
00430 #define WGL_ALPHA_BITS_EXT                                      0x201B
00431 #define WGL_ALPHA_SHIFT_EXT                                     0x201C
00432 #define WGL_ACCUM_BITS_EXT                                      0x201D
00433 #define WGL_ACCUM_RED_BITS_EXT                                  0x201E
00434 #define WGL_ACCUM_GREEN_BITS_EXT                                0x201F
00435 #define WGL_ACCUM_BLUE_BITS_EXT                                 0x2020
00436 #define WGL_ACCUM_ALPHA_BITS_EXT                                0x2021
00437 #define WGL_DEPTH_BITS_EXT                                      0x2022
00438 #define WGL_STENCIL_BITS_EXT                                    0x2023
00439 #define WGL_AUX_BUFFERS_EXT                                     0x2024
00440 #define WGL_NO_ACCELERATION_EXT                                 0x2025
00441 #define WGL_GENERIC_ACCELERATION_EXT                            0x2026
00442 #define WGL_FULL_ACCELERATION_EXT                               0x2027
00443 #define WGL_SWAP_EXCHANGE_EXT                                   0x2028
00444 #define WGL_SWAP_COPY_EXT                                       0x2029
00445 #define WGL_SWAP_UNDEFINED_EXT                                  0x202A
00446 #define WGL_TYPE_RGBA_EXT                                       0x202B
00447 #define WGL_TYPE_COLORINDEX_EXT                                 0x202C
00448 
00449 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
00450 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
00451 typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
00452 
00453 extern GLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC wglGetPixelFormatAttribivEXT;
00454 extern GLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC wglGetPixelFormatAttribfvEXT;
00455 extern GLEW_EXPORT PFNWGLCHOOSEPIXELFORMATEXTPROC wglChoosePixelFormatEXT;
00456 
00457 #endif /* WGL_EXT_pixel_format */
00458 
00459 /* ------------------------------- EXT_pbuffer ---------------------------- */
00460 
00461 #ifdef WGL_EXT_pbuffer
00462 
00463 #define WGL_DRAW_TO_PBUFFER_EXT                                 0x202D
00464 #define WGL_MAX_PBUFFER_PIXELS_EXT                              0x202E
00465 #define WGL_MAX_PBUFFER_WIDTH_EXT                               0x202F
00466 #define WGL_MAX_PBUFFER_HEIGHT_EXT                              0x2030
00467 #define WGL_OPTIMAL_PBUFFER_WIDTH_EXT                           0x2031
00468 #define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT                          0x2032
00469 #define WGL_PBUFFER_LARGEST_EXT                                 0x2033
00470 #define WGL_PBUFFER_WIDTH_EXT                                   0x2034
00471 #define WGL_PBUFFER_HEIGHT_EXT                                  0x2035
00472 
00473 DECLARE_HANDLE(HPBUFFEREXT);
00474 
00475 typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
00476 typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
00477 typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
00478 typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
00479 typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
00480 
00481 extern GLEW_EXPORT PFNWGLCREATEPBUFFEREXTPROC wglCreatePbufferEXT;
00482 extern GLEW_EXPORT PFNWGLGETPBUFFERDCEXTPROC wglGetPbufferDCEXT;
00483 extern GLEW_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC wglReleasePbufferDCEXT;
00484 extern GLEW_EXPORT PFNWGLDESTROYPBUFFEREXTPROC wglDestroyPbufferEXT;
00485 extern GLEW_EXPORT PFNWGLQUERYPBUFFEREXTPROC wglQueryPbufferEXT;
00486 
00487 #endif /* WGL_EXT_pbuffer */
00488 
00489 /* ---------------------------- EXT_swap_control -------------------------- */
00490 
00491 #ifdef WGL_EXT_swap_control
00492 
00493 typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
00494 typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
00495 
00496 extern GLEW_EXPORT PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT;
00497 extern GLEW_EXPORT PFNWGLGETSWAPINTERVALEXTPROC wglGetSwapIntervalEXT;
00498 
00499 #endif /* WGL_EXT_swap_control */
00500 
00501 /* ------------------------ I3D_digital_video_control --------------------- */
00502 
00503 #ifdef WGL_I3D_digital_video_control
00504 
00505 #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D          0x2050
00506 #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D                0x2051
00507 #define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D                   0x2052
00508 #define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D                   0x2053
00509 
00510 typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
00511 typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
00512 
00513 extern GLEW_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC wglGetDigitalVideoParametersI3D;
00514 extern GLEW_EXPORT PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC wglSetDigitalVideoParametersI3D;
00515 
00516 #endif /* WGL_I3D_digital_video_control */
00517 
00518 /* -------------------------------- I3D_gamma ----------------------------- */
00519 
00520 #ifdef WGL_I3D_gamma
00521 
00522 #define WGL_GAMMA_TABLE_SIZE_I3D                                0x204E
00523 #define WGL_GAMMA_EXCLUDE_DESKTOP_I3D                           0x204F
00524 
00525 typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
00526 typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
00527 typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
00528 typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
00529 
00530 extern GLEW_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC wglGetGammaTableParametersI3D;
00531 extern GLEW_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC wglSetGammaTableParametersI3D;
00532 extern GLEW_EXPORT PFNWGLGETGAMMATABLEI3DPROC wglGetGammaTableI3D;
00533 extern GLEW_EXPORT PFNWGLSETGAMMATABLEI3DPROC wglSetGammaTableI3D;
00534 
00535 #endif /* WGL_I3D_gamma */
00536 
00537 /* ------------------------------- I3D_genlock ---------------------------- */
00538 
00539 #ifdef WGL_I3D_genlock
00540 
00541 #define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D                        0x2044
00542 #define WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D                     0x2045
00543 #define WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D                    0x2046
00544 #define WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D                      0x2047
00545 #define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D                     0x2048
00546 #define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D                    0x2049
00547 #define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D                     0x204A
00548 #define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D                      0x204B
00549 #define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D                        0x204C
00550 
00551 typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
00552 typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
00553 typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag);
00554 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
00555 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource);
00556 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
00557 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge);
00558 typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
00559 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate);
00560 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
00561 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay);
00562 typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
00563 
00564 extern GLEW_EXPORT PFNWGLENABLEGENLOCKI3DPROC wglEnableGenlockI3D;
00565 extern GLEW_EXPORT PFNWGLDISABLEGENLOCKI3DPROC wglDisableGenlockI3D;
00566 extern GLEW_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC wglIsEnabledGenlockI3D;
00567 extern GLEW_EXPORT PFNWGLGENLOCKSOURCEI3DPROC wglGenlockSourceI3D;
00568 extern GLEW_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC wglGetGenlockSourceI3D;
00569 extern GLEW_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC wglGenlockSourceEdgeI3D;
00570 extern GLEW_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC wglGetGenlockSourceEdgeI3D;
00571 extern GLEW_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC wglGenlockSampleRateI3D;
00572 extern GLEW_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC wglGetGenlockSampleRateI3D;
00573 extern GLEW_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC wglGenlockSourceDelayI3D;
00574 extern GLEW_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC wglGetGenlockSourceDelayI3D;
00575 extern GLEW_EXPORT PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC wglQueryGenlockMaxSourceDelayI3D;
00576 
00577 #endif /* WGL_I3D_genlock */
00578 
00579 /* ---------------------------- I3D_image_buffer -------------------------- */
00580 
00581 #ifdef WGL_I3D_image_buffer
00582 
00583 #define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D                         0x00000001
00584 #define WGL_IMAGE_BUFFER_LOCK_I3D                               0x00000002
00585 
00586 typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
00587 typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
00588 typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
00589 typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count);
00590 
00591 extern GLEW_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC wglCreateImageBufferI3D;
00592 extern GLEW_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC wglDestroyImageBufferI3D;
00593 extern GLEW_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC wglAssociateImageBufferEventsI3D; 
00594 extern GLEW_EXPORT PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC wglReleaseImageBufferEventsI3D;
00595 
00596 #endif /* WGL_I3D_image_buffer */
00597 
00598 /* --------------------------- I3D_swap_frame_lock ------------------------ */
00599 
00600 #ifdef WGL_I3D_swap_frame_lock
00601 
00602 typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
00603 typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
00604 typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag);
00605 typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag);
00606 
00607 extern GLEW_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC wglEnableFrameLockI3D;
00608 extern GLEW_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC wglDisableFrameLockI3D;
00609 extern GLEW_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC wglIsEnabledFrameLockI3D;
00610 extern GLEW_EXPORT PFNWGLQUERYFRAMELOCKMASTERI3DPROC wglQueryFrameLockMasterI3D;
00611 
00612 #endif /* WGL_I3D_swap_frame_lock */
00613 
00614 /* -------------------------- I3D_swap_frame_usage ------------------------ */
00615 
00616 #ifdef WGL_I3D_swap_frame_usage
00617 
00618 typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage);
00619 typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
00620 typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
00621 typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
00622 
00623 extern GLEW_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC wglGetFrameUsageI3D;
00624 extern GLEW_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC wglBeginFrameTrackingI3D;
00625 extern GLEW_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC wglEndFrameTrackingI3D;
00626 extern GLEW_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC wglQueryFrameTrackingI3D;
00627 
00628 #endif /* WGL_I3D_swap_frame_usage */
00629 
00630 /* ---------------------------- OML_sync_control -------------------------- */
00631 
00632 #ifdef WGL_OML_sync_control
00633 
00634 typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
00635 typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator);
00636 typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
00637 typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
00638 typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
00639 typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
00640 
00641 extern GLEW_EXPORT PFNWGLGETSYNCVALUESOMLPROC wglGetSyncValuesOML;
00642 extern GLEW_EXPORT PFNWGLGETMSCRATEOMLPROC wglGetMscRateOML;
00643 extern GLEW_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC wglSwapBuffersMscOML;
00644 extern GLEW_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC wglSwapLayerBuffersMscOML;
00645 extern GLEW_EXPORT PFNWGLWAITFORMSCOMLPROC wglWaitForMscOML;
00646 extern GLEW_EXPORT PFNWGLWAITFORSBCOMLPROC wglWaitForSbcOML;
00647 
00648 #endif /* WGL_OML_sync_control */
00649 
00650 /* ------------------------- ATI_pixel_format_float ----------------------- */
00651 
00652 #ifdef WGL_ATI_pixel_format_float
00653 
00654 #define WGL_TYPE_RGBA_FLOAT_ATI                                 0x21A0
00655 #define GL_TYPE_RGBA_FLOAT_ATI                                  0x8820
00656 #define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI                      0x8835
00657 
00658 #endif /* WGL_ATI_pixel_format_float */
00659 
00660 /* ---------------------------- NV_float_buffer --------------------------- */
00661 
00662 #ifdef WGL_NV_float_buffer
00663 
00664 #define WGL_FLOAT_COMPONENTS_NV                                 0x20B0
00665 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV                0x20B1
00666 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV               0x20B2
00667 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV              0x20B3
00668 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV             0x20B4
00669 #define WGL_TEXTURE_FLOAT_R_NV                                  0x20B5
00670 #define WGL_TEXTURE_FLOAT_RG_NV                                 0x20B6
00671 #define WGL_TEXTURE_FLOAT_RGB_NV                                0x20B7
00672 #define WGL_TEXTURE_FLOAT_RGBA_NV                               0x20B8
00673 
00674 #endif /* WGL_NV_float_buffer */
00675 
00676 /* ------------------------- NV_render_depth_texture ---------------------- */
00677 
00678 #ifdef WGL_NV_render_depth_texture
00679 
00680 #define WGL_BIND_TO_TEXTURE_DEPTH_NV                            0x20A3
00681 #define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV                  0x20A4
00682 #define WGL_DEPTH_TEXTURE_FORMAT_NV                             0x20A5
00683 #define WGL_TEXTURE_DEPTH_COMPONENT_NV                          0x20A6
00684 #define WGL_NO_TEXTURE_ARB                                      0x2077
00685 #define WGL_DEPTH_COMPONENT_NV                                  0x20A7
00686 
00687 #endif /* WGL_NV_render_depth_texture */
00688 
00689 /* ----------------------- NV_render_texture_rectangle -------------------- */
00690 
00691 #ifdef WGL_NV_render_texture_rectangle 
00692 
00693 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV                    0x20A0
00694 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV                   0x20A1
00695 #define WGL_TEXTURE_RECTANGLE_NV                                0x20A2
00696 
00697 #endif /* WGL_NV_render_texture_rectangle */
00698 
00699 /* ------------------------- NV_vertex_array_range ------------------------ */
00700 
00701 #ifdef WGL_NV_vertex_array_range
00702 
00703 typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
00704 typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
00705 
00706 extern GLEW_EXPORT PFNWGLALLOCATEMEMORYNVPROC wglAllocateMemoryNV;
00707 extern GLEW_EXPORT PFNWGLFREEMEMORYNVPROC wglFreeMemoryNV;
00708 
00709 #endif /* WGL_NV_vertex_array_range */
00710 
00711 /* ------------------------------------------------------------------------ */
00712 
00713 struct WGLEW
00714 {
00715   unsigned int ARB_buffer_region : 1;
00716   unsigned int ARB_extensions_string : 1;
00717   unsigned int ARB_make_current_read : 1;
00718   unsigned int ARB_multisample : 1;
00719   unsigned int ARB_pbuffer : 1;
00720   unsigned int ARB_pixel_format : 1;
00721   unsigned int ARB_render_texture : 1;
00722 
00723   unsigned int EXT_depth_float : 1;
00724   unsigned int EXT_display_color_table : 1;
00725   unsigned int EXT_extensions_string : 1;
00726   unsigned int EXT_make_current_read : 1;
00727   unsigned int EXT_multisample : 1;
00728   unsigned int EXT_pixel_format : 1;
00729   unsigned int EXT_pbuffer : 1;
00730   unsigned int EXT_swap_control : 1;
00731 
00732   unsigned int I3D_digital_video_control : 1;
00733   unsigned int I3D_gamma : 1;
00734   unsigned int I3D_genlock : 1;
00735   unsigned int I3D_image_buffer : 1;
00736   unsigned int I3D_swap_frame_lock : 1;
00737   unsigned int I3D_swap_frame_usage : 1;
00738   unsigned int OML_sync_control : 1;
00739 
00740   unsigned int ATI_pixel_format_float : 1;
00741 
00742   unsigned int NV_float_buffer : 1;
00743   unsigned int NV_render_depth_texture : 1;
00744   unsigned int NV_render_texture_rectangle : 1;
00745   unsigned int NV_vertex_array_range : 1;
00746 };
00747 
00748 extern GLEW_EXPORT struct WGLEW wglew;
00749 extern GLEW_EXPORT GLboolean wglewGetExtension (const char* name);
00750 
00751 #ifdef __cplusplus
00752 }
00753 #endif
00754 
00755 #undef GLEW_EXPORT
00756 
00757 #endif /* _WIN32 */
00758 
00759 #endif /* __wglew_h__ */

Send questions, comments, and bug reports to:
jmk