00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
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
00095
00096
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
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
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
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
00138 #define WGL_ATI_pixel_format_float 1
00139
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
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
00165
00166
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
00175
00176
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
00190
00191
00192
00193 #ifdef WGL_ARB_multisample
00194
00195 #define WGL_SAMPLE_BUFFERS_ARB 0x2041
00196 #define WGL_SAMPLES_ARB 0x2042
00197
00198 #endif
00199
00200
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
00228
00229
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
00292
00293
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
00341
00342
00343
00344 #ifdef WGL_EXT_depth_float
00345
00346 #define WGL_DEPTH_FLOAT_EXT 0x2040
00347
00348 #endif
00349
00350
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
00365
00366
00367
00368 #ifdef WGL_EXT_extensions_string
00369
00370 typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) ();
00371
00372 extern GLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC wglGetExtensionsStringEXT;
00373
00374 #endif
00375
00376
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
00389
00390
00391
00392 #ifdef WGL_EXT_multisample
00393
00394 #define WGL_SAMPLE_BUFFERS_EXT 0x2041
00395 #define WGL_SAMPLES_EXT 0x2042
00396
00397 #endif
00398
00399
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
00458
00459
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
00488
00489
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
00500
00501
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
00517
00518
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
00536
00537
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
00578
00579
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
00597
00598
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
00613
00614
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
00629
00630
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
00649
00650
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
00659
00660
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
00675
00676
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
00688
00689
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
00698
00699
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
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
00758
00759 #endif