Panda3D
|
00001 #ifndef __wglext_h_ 00002 #define __wglext_h_ 00003 00004 #ifdef __cplusplus 00005 extern "C" { 00006 #endif 00007 00008 /* 00009 ** License Applicability. Except to the extent portions of this file are 00010 ** made subject to an alternative license as permitted in the SGI Free 00011 ** Software License B, Version 1.1 (the "License"), the contents of this 00012 ** file are subject only to the provisions of the License. You may not use 00013 ** this file except in compliance with the License. You may obtain a copy 00014 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 00015 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: 00016 ** 00017 ** http://oss.sgi.com/projects/FreeB 00018 ** 00019 ** Note that, as provided in the License, the Software is distributed on an 00020 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS 00021 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND 00022 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A 00023 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. 00024 ** 00025 ** Original Code. The Original Code is: OpenGL Sample Implementation, 00026 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, 00027 ** Inc. The Original Code is Copyright (c) 1991-2002 Silicon Graphics, Inc. 00028 ** Copyright in any portions created by third parties is as indicated 00029 ** elsewhere herein. All Rights Reserved. 00030 ** 00031 ** Additional Notice Provisions: This software was created using the 00032 ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has 00033 ** not been independently verified as being compliant with the OpenGL(R) 00034 ** version 1.2.1 Specification. 00035 */ 00036 00037 #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) 00038 #define WIN32_LEAN_AND_MEAN 1 00039 #include <windows.h> 00040 #endif 00041 00042 #ifndef APIENTRY 00043 #define APIENTRY 00044 #endif 00045 #ifndef APIENTRYP 00046 #define APIENTRYP APIENTRY * 00047 #endif 00048 #ifndef GLAPI 00049 #define GLAPI extern 00050 #endif 00051 00052 /*************************************************************/ 00053 00054 /* Header file version number */ 00055 /* wglext.h last updated 2002/03/22 */ 00056 /* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */ 00057 #define WGL_WGLEXT_VERSION 4 00058 00059 #ifndef WGL_ARB_buffer_region 00060 #define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001 00061 #define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002 00062 #define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004 00063 #define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008 00064 #endif 00065 00066 #ifndef WGL_ARB_multisample 00067 #define WGL_SAMPLE_BUFFERS_ARB 0x2041 00068 #define WGL_SAMPLES_ARB 0x2042 00069 #endif 00070 00071 #ifndef WGL_ARB_extensions_string 00072 #endif 00073 00074 #ifndef WGL_ARB_pixel_format 00075 #define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 00076 #define WGL_DRAW_TO_WINDOW_ARB 0x2001 00077 #define WGL_DRAW_TO_BITMAP_ARB 0x2002 00078 #define WGL_ACCELERATION_ARB 0x2003 00079 #define WGL_NEED_PALETTE_ARB 0x2004 00080 #define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005 00081 #define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006 00082 #define WGL_SWAP_METHOD_ARB 0x2007 00083 #define WGL_NUMBER_OVERLAYS_ARB 0x2008 00084 #define WGL_NUMBER_UNDERLAYS_ARB 0x2009 00085 #define WGL_TRANSPARENT_ARB 0x200A 00086 #define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037 00087 #define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038 00088 #define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039 00089 #define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A 00090 #define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B 00091 #define WGL_SHARE_DEPTH_ARB 0x200C 00092 #define WGL_SHARE_STENCIL_ARB 0x200D 00093 #define WGL_SHARE_ACCUM_ARB 0x200E 00094 #define WGL_SUPPORT_GDI_ARB 0x200F 00095 #define WGL_SUPPORT_OPENGL_ARB 0x2010 00096 #define WGL_DOUBLE_BUFFER_ARB 0x2011 00097 #define WGL_STEREO_ARB 0x2012 00098 #define WGL_PIXEL_TYPE_ARB 0x2013 00099 #define WGL_COLOR_BITS_ARB 0x2014 00100 #define WGL_RED_BITS_ARB 0x2015 00101 #define WGL_RED_SHIFT_ARB 0x2016 00102 #define WGL_GREEN_BITS_ARB 0x2017 00103 #define WGL_GREEN_SHIFT_ARB 0x2018 00104 #define WGL_BLUE_BITS_ARB 0x2019 00105 #define WGL_BLUE_SHIFT_ARB 0x201A 00106 #define WGL_ALPHA_BITS_ARB 0x201B 00107 #define WGL_ALPHA_SHIFT_ARB 0x201C 00108 #define WGL_ACCUM_BITS_ARB 0x201D 00109 #define WGL_ACCUM_RED_BITS_ARB 0x201E 00110 #define WGL_ACCUM_GREEN_BITS_ARB 0x201F 00111 #define WGL_ACCUM_BLUE_BITS_ARB 0x2020 00112 #define WGL_ACCUM_ALPHA_BITS_ARB 0x2021 00113 #define WGL_DEPTH_BITS_ARB 0x2022 00114 #define WGL_STENCIL_BITS_ARB 0x2023 00115 #define WGL_AUX_BUFFERS_ARB 0x2024 00116 #define WGL_NO_ACCELERATION_ARB 0x2025 00117 #define WGL_GENERIC_ACCELERATION_ARB 0x2026 00118 #define WGL_FULL_ACCELERATION_ARB 0x2027 00119 #define WGL_SWAP_EXCHANGE_ARB 0x2028 00120 #define WGL_SWAP_COPY_ARB 0x2029 00121 #define WGL_SWAP_UNDEFINED_ARB 0x202A 00122 #define WGL_TYPE_RGBA_ARB 0x202B 00123 #define WGL_TYPE_COLORINDEX_ARB 0x202C 00124 #endif 00125 00126 #ifndef WGL_ARB_make_current_read 00127 #define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043 00128 #define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054 00129 #endif 00130 00131 #ifndef WGL_ARB_pbuffer 00132 #define WGL_DRAW_TO_PBUFFER_ARB 0x202D 00133 #define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E 00134 #define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F 00135 #define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030 00136 #define WGL_PBUFFER_LARGEST_ARB 0x2033 00137 #define WGL_PBUFFER_WIDTH_ARB 0x2034 00138 #define WGL_PBUFFER_HEIGHT_ARB 0x2035 00139 #define WGL_PBUFFER_LOST_ARB 0x2036 00140 #endif 00141 00142 #ifndef WGL_ARB_render_texture 00143 #define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070 00144 #define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071 00145 #define WGL_TEXTURE_FORMAT_ARB 0x2072 00146 #define WGL_TEXTURE_TARGET_ARB 0x2073 00147 #define WGL_MIPMAP_TEXTURE_ARB 0x2074 00148 #define WGL_TEXTURE_RGB_ARB 0x2075 00149 #define WGL_TEXTURE_RGBA_ARB 0x2076 00150 #define WGL_NO_TEXTURE_ARB 0x2077 00151 #define WGL_TEXTURE_CUBE_MAP_ARB 0x2078 00152 #define WGL_TEXTURE_1D_ARB 0x2079 00153 #define WGL_TEXTURE_2D_ARB 0x207A 00154 #define WGL_MIPMAP_LEVEL_ARB 0x207B 00155 #define WGL_CUBE_MAP_FACE_ARB 0x207C 00156 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D 00157 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E 00158 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F 00159 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080 00160 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081 00161 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082 00162 #define WGL_FRONT_LEFT_ARB 0x2083 00163 #define WGL_FRONT_RIGHT_ARB 0x2084 00164 #define WGL_BACK_LEFT_ARB 0x2085 00165 #define WGL_BACK_RIGHT_ARB 0x2086 00166 #define WGL_AUX0_ARB 0x2087 00167 #define WGL_AUX1_ARB 0x2088 00168 #define WGL_AUX2_ARB 0x2089 00169 #define WGL_AUX3_ARB 0x208A 00170 #define WGL_AUX4_ARB 0x208B 00171 #define WGL_AUX5_ARB 0x208C 00172 #define WGL_AUX6_ARB 0x208D 00173 #define WGL_AUX7_ARB 0x208E 00174 #define WGL_AUX8_ARB 0x208F 00175 #define WGL_AUX9_ARB 0x2090 00176 #endif 00177 00178 #ifndef WGL_EXT_make_current_read 00179 #define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 00180 #endif 00181 00182 #ifndef WGL_EXT_pixel_format 00183 #define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000 00184 #define WGL_DRAW_TO_WINDOW_EXT 0x2001 00185 #define WGL_DRAW_TO_BITMAP_EXT 0x2002 00186 #define WGL_ACCELERATION_EXT 0x2003 00187 #define WGL_NEED_PALETTE_EXT 0x2004 00188 #define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005 00189 #define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006 00190 #define WGL_SWAP_METHOD_EXT 0x2007 00191 #define WGL_NUMBER_OVERLAYS_EXT 0x2008 00192 #define WGL_NUMBER_UNDERLAYS_EXT 0x2009 00193 #define WGL_TRANSPARENT_EXT 0x200A 00194 #define WGL_TRANSPARENT_VALUE_EXT 0x200B 00195 #define WGL_SHARE_DEPTH_EXT 0x200C 00196 #define WGL_SHARE_STENCIL_EXT 0x200D 00197 #define WGL_SHARE_ACCUM_EXT 0x200E 00198 #define WGL_SUPPORT_GDI_EXT 0x200F 00199 #define WGL_SUPPORT_OPENGL_EXT 0x2010 00200 #define WGL_DOUBLE_BUFFER_EXT 0x2011 00201 #define WGL_STEREO_EXT 0x2012 00202 #define WGL_PIXEL_TYPE_EXT 0x2013 00203 #define WGL_COLOR_BITS_EXT 0x2014 00204 #define WGL_RED_BITS_EXT 0x2015 00205 #define WGL_RED_SHIFT_EXT 0x2016 00206 #define WGL_GREEN_BITS_EXT 0x2017 00207 #define WGL_GREEN_SHIFT_EXT 0x2018 00208 #define WGL_BLUE_BITS_EXT 0x2019 00209 #define WGL_BLUE_SHIFT_EXT 0x201A 00210 #define WGL_ALPHA_BITS_EXT 0x201B 00211 #define WGL_ALPHA_SHIFT_EXT 0x201C 00212 #define WGL_ACCUM_BITS_EXT 0x201D 00213 #define WGL_ACCUM_RED_BITS_EXT 0x201E 00214 #define WGL_ACCUM_GREEN_BITS_EXT 0x201F 00215 #define WGL_ACCUM_BLUE_BITS_EXT 0x2020 00216 #define WGL_ACCUM_ALPHA_BITS_EXT 0x2021 00217 #define WGL_DEPTH_BITS_EXT 0x2022 00218 #define WGL_STENCIL_BITS_EXT 0x2023 00219 #define WGL_AUX_BUFFERS_EXT 0x2024 00220 #define WGL_NO_ACCELERATION_EXT 0x2025 00221 #define WGL_GENERIC_ACCELERATION_EXT 0x2026 00222 #define WGL_FULL_ACCELERATION_EXT 0x2027 00223 #define WGL_SWAP_EXCHANGE_EXT 0x2028 00224 #define WGL_SWAP_COPY_EXT 0x2029 00225 #define WGL_SWAP_UNDEFINED_EXT 0x202A 00226 #define WGL_TYPE_RGBA_EXT 0x202B 00227 #define WGL_TYPE_COLORINDEX_EXT 0x202C 00228 #endif 00229 00230 #ifndef WGL_EXT_pbuffer 00231 #define WGL_DRAW_TO_PBUFFER_EXT 0x202D 00232 #define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E 00233 #define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F 00234 #define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030 00235 #define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031 00236 #define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032 00237 #define WGL_PBUFFER_LARGEST_EXT 0x2033 00238 #define WGL_PBUFFER_WIDTH_EXT 0x2034 00239 #define WGL_PBUFFER_HEIGHT_EXT 0x2035 00240 #endif 00241 00242 #ifndef WGL_EXT_depth_float 00243 #define WGL_DEPTH_FLOAT_EXT 0x2040 00244 #endif 00245 00246 #ifndef WGL_3DFX_multisample 00247 #define WGL_SAMPLE_BUFFERS_3DFX 0x2060 00248 #define WGL_SAMPLES_3DFX 0x2061 00249 #endif 00250 00251 #ifndef WGL_EXT_multisample 00252 #define WGL_SAMPLE_BUFFERS_EXT 0x2041 00253 #define WGL_SAMPLES_EXT 0x2042 00254 #endif 00255 00256 #ifndef WGL_I3D_digital_video_control 00257 #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050 00258 #define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051 00259 #define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052 00260 #define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053 00261 #endif 00262 00263 #ifndef WGL_I3D_gamma 00264 #define WGL_GAMMA_TABLE_SIZE_I3D 0x204E 00265 #define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F 00266 #endif 00267 00268 #ifndef WGL_I3D_genlock 00269 #define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044 00270 #define WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D 0x2045 00271 #define WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D 0x2046 00272 #define WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D 0x2047 00273 #define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048 00274 #define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049 00275 #define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A 00276 #define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B 00277 #define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C 00278 #endif 00279 00280 #ifndef WGL_I3D_image_buffer 00281 #define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001 00282 #define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002 00283 #endif 00284 00285 #ifndef WGL_I3D_swap_frame_lock 00286 #endif 00287 00288 #ifndef WGL_NV_render_depth_texture 00289 #define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3 00290 #define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4 00291 #define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5 00292 #define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6 00293 #define WGL_DEPTH_COMPONENT_NV 0x20A7 00294 #endif 00295 00296 #ifndef WGL_NV_render_texture_rectangle 00297 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0 00298 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1 00299 #define WGL_TEXTURE_RECTANGLE_NV 0x20A2 00300 #endif 00301 00302 #ifndef WGL_NV_float_buffer 00303 #define WGL_FLOAT_COMPONENTS_NV 0x20B0 00304 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1 00305 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2 00306 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3 00307 #define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4 00308 #define WGL_TEXTURE_FLOAT_R_NV 0x20B5 00309 #define WGL_TEXTURE_FLOAT_RG_NV 0x20B6 00310 #define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7 00311 #define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8 00312 #endif 00313 00314 00315 /*************************************************************/ 00316 00317 #ifndef WGL_ARB_pbuffer 00318 DECLARE_HANDLE(HPBUFFERARB); 00319 #endif 00320 #ifndef WGL_EXT_pbuffer 00321 DECLARE_HANDLE(HPBUFFEREXT); 00322 #endif 00323 00324 #ifndef WGL_ARB_buffer_region 00325 #define WGL_ARB_buffer_region 1 00326 #ifdef WGL_WGLEXT_PROTOTYPES 00327 extern HANDLE WINAPI wglCreateBufferRegionARB (HDC, int, UINT); 00328 extern VOID WINAPI wglDeleteBufferRegionARB (HANDLE); 00329 extern BOOL WINAPI wglSaveBufferRegionARB (HANDLE, int, int, int, int); 00330 extern BOOL WINAPI wglRestoreBufferRegionARB (HANDLE, int, int, int, int, int, int); 00331 #endif /* WGL_WGLEXT_PROTOTYPES */ 00332 typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType); 00333 typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion); 00334 typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height); 00335 typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); 00336 #endif 00337 00338 #ifndef WGL_ARB_multisample 00339 #define WGL_ARB_multisample 1 00340 #endif 00341 00342 #ifndef WGL_ARB_extensions_string 00343 #define WGL_ARB_extensions_string 1 00344 #ifdef WGL_WGLEXT_PROTOTYPES 00345 extern const char * WINAPI wglGetExtensionsStringARB (HDC); 00346 #endif /* WGL_WGLEXT_PROTOTYPES */ 00347 typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc); 00348 #endif 00349 00350 #ifndef WGL_ARB_pixel_format 00351 #define WGL_ARB_pixel_format 1 00352 #ifdef WGL_WGLEXT_PROTOTYPES 00353 extern BOOL WINAPI wglGetPixelFormatAttribivARB (HDC, int, int, UINT, const int *, int *); 00354 extern BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC, int, int, UINT, const int *, FLOAT *); 00355 extern BOOL WINAPI wglChoosePixelFormatARB (HDC, const int *, const FLOAT *, UINT, int *, UINT *); 00356 #endif /* WGL_WGLEXT_PROTOTYPES */ 00357 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues); 00358 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues); 00359 typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 00360 #endif 00361 00362 #ifndef WGL_ARB_make_current_read 00363 #define WGL_ARB_make_current_read 1 00364 #ifdef WGL_WGLEXT_PROTOTYPES 00365 extern BOOL WINAPI wglMakeContextCurrentARB (HDC, HDC, HGLRC); 00366 extern HDC WINAPI wglGetCurrentReadDCARB (void); 00367 #endif /* WGL_WGLEXT_PROTOTYPES */ 00368 typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 00369 typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void); 00370 #endif 00371 00372 #ifndef WGL_ARB_pbuffer 00373 #define WGL_ARB_pbuffer 1 00374 #ifdef WGL_WGLEXT_PROTOTYPES 00375 extern HPBUFFERARB WINAPI wglCreatePbufferARB (HDC, int, int, int, const int *); 00376 extern HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB); 00377 extern int WINAPI wglReleasePbufferDCARB (HPBUFFERARB, HDC); 00378 extern BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB); 00379 extern BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB, int, int *); 00380 #endif /* WGL_WGLEXT_PROTOTYPES */ 00381 typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 00382 typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer); 00383 typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC); 00384 typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer); 00385 typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue); 00386 #endif 00387 00388 #ifndef WGL_ARB_render_texture 00389 #define WGL_ARB_render_texture 1 00390 #ifdef WGL_WGLEXT_PROTOTYPES 00391 extern BOOL WINAPI wglBindTexImageARB (HPBUFFERARB, int); 00392 extern BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB, int); 00393 extern BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB, const int *); 00394 #endif /* WGL_WGLEXT_PROTOTYPES */ 00395 typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); 00396 typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); 00397 typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList); 00398 #endif 00399 00400 #ifndef WGL_EXT_display_color_table 00401 #define WGL_EXT_display_color_table 1 00402 #ifdef WGL_WGLEXT_PROTOTYPES 00403 extern GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort); 00404 extern GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *, GLuint); 00405 extern GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort); 00406 extern VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort); 00407 #endif /* WGL_WGLEXT_PROTOTYPES */ 00408 typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id); 00409 typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length); 00410 typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id); 00411 typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id); 00412 #endif 00413 00414 #ifndef WGL_EXT_extensions_string 00415 #define WGL_EXT_extensions_string 1 00416 #ifdef WGL_WGLEXT_PROTOTYPES 00417 extern const char * WINAPI wglGetExtensionsStringEXT (void); 00418 #endif /* WGL_WGLEXT_PROTOTYPES */ 00419 typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void); 00420 #endif 00421 00422 #ifndef WGL_EXT_make_current_read 00423 #define WGL_EXT_make_current_read 1 00424 #ifdef WGL_WGLEXT_PROTOTYPES 00425 extern BOOL WINAPI wglMakeContextCurrentEXT (HDC, HDC, HGLRC); 00426 extern HDC WINAPI wglGetCurrentReadDCEXT (void); 00427 #endif /* WGL_WGLEXT_PROTOTYPES */ 00428 typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 00429 typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void); 00430 #endif 00431 00432 #ifndef WGL_EXT_pbuffer 00433 #define WGL_EXT_pbuffer 1 00434 #ifdef WGL_WGLEXT_PROTOTYPES 00435 extern HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC, int, int, int, const int *); 00436 extern HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT); 00437 extern int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT, HDC); 00438 extern BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT); 00439 extern BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT, int, int *); 00440 #endif /* WGL_WGLEXT_PROTOTYPES */ 00441 typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 00442 typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer); 00443 typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC); 00444 typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer); 00445 typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue); 00446 #endif 00447 00448 #ifndef WGL_EXT_pixel_format 00449 #define WGL_EXT_pixel_format 1 00450 #ifdef WGL_WGLEXT_PROTOTYPES 00451 extern BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC, int, int, UINT, int *, int *); 00452 extern BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC, int, int, UINT, int *, FLOAT *); 00453 extern BOOL WINAPI wglChoosePixelFormatEXT (HDC, const int *, const FLOAT *, UINT, int *, UINT *); 00454 #endif /* WGL_WGLEXT_PROTOTYPES */ 00455 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues); 00456 typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues); 00457 typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 00458 #endif 00459 00460 #ifndef WGL_EXT_swap_control 00461 #define WGL_EXT_swap_control 1 00462 #ifdef WGL_WGLEXT_PROTOTYPES 00463 extern BOOL WINAPI wglSwapIntervalEXT (int); 00464 extern int WINAPI wglGetSwapIntervalEXT (void); 00465 #endif /* WGL_WGLEXT_PROTOTYPES */ 00466 typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval); 00467 typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void); 00468 #endif 00469 00470 #ifndef WGL_EXT_depth_float 00471 #define WGL_EXT_depth_float 1 00472 #endif 00473 00474 #ifndef WGL_NV_vertex_array_range 00475 #define WGL_NV_vertex_array_range 1 00476 #ifdef WGL_WGLEXT_PROTOTYPES 00477 extern void* WINAPI wglAllocateMemoryNV (GLsizei, GLfloat, GLfloat, GLfloat); 00478 extern void WINAPI wglFreeMemoryNV (void *); 00479 #endif /* WGL_WGLEXT_PROTOTYPES */ 00480 typedef void* (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); 00481 typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer); 00482 #endif 00483 00484 #ifndef WGL_3DFX_multisample 00485 #define WGL_3DFX_multisample 1 00486 #endif 00487 00488 #ifndef WGL_EXT_multisample 00489 #define WGL_EXT_multisample 1 00490 #endif 00491 00492 #ifndef WGL_OML_sync_control 00493 #define WGL_OML_sync_control 1 00494 #ifdef WGL_WGLEXT_PROTOTYPES 00495 extern BOOL WINAPI wglGetSyncValuesOML (HDC, INT64 *, INT64 *, INT64 *); 00496 extern BOOL WINAPI wglGetMscRateOML (HDC, INT32 *, INT32 *); 00497 extern INT64 WINAPI wglSwapBuffersMscOML (HDC, INT64, INT64, INT64); 00498 extern INT64 WINAPI wglSwapLayerBuffersMscOML (HDC, int, INT64, INT64, INT64); 00499 extern BOOL WINAPI wglWaitForMscOML (HDC, INT64, INT64, INT64, INT64 *, INT64 *, INT64 *); 00500 extern BOOL WINAPI wglWaitForSbcOML (HDC, INT64, INT64 *, INT64 *, INT64 *); 00501 #endif /* WGL_WGLEXT_PROTOTYPES */ 00502 typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc); 00503 typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator); 00504 typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); 00505 typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); 00506 typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc); 00507 typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc); 00508 #endif 00509 00510 #ifndef WGL_I3D_digital_video_control 00511 #define WGL_I3D_digital_video_control 1 00512 #ifdef WGL_WGLEXT_PROTOTYPES 00513 extern BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC, int, int *); 00514 extern BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC, int, const int *); 00515 #endif /* WGL_WGLEXT_PROTOTYPES */ 00516 typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue); 00517 typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue); 00518 #endif 00519 00520 #ifndef WGL_I3D_gamma 00521 #define WGL_I3D_gamma 1 00522 #ifdef WGL_WGLEXT_PROTOTYPES 00523 extern BOOL WINAPI wglGetGammaTableParametersI3D (HDC, int, int *); 00524 extern BOOL WINAPI wglSetGammaTableParametersI3D (HDC, int, const int *); 00525 extern BOOL WINAPI wglGetGammaTableI3D (HDC, int, USHORT *, USHORT *, USHORT *); 00526 extern BOOL WINAPI wglSetGammaTableI3D (HDC, int, const USHORT *, const USHORT *, const USHORT *); 00527 #endif /* WGL_WGLEXT_PROTOTYPES */ 00528 typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue); 00529 typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue); 00530 typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue); 00531 typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue); 00532 #endif 00533 00534 #ifndef WGL_I3D_genlock 00535 #define WGL_I3D_genlock 1 00536 #ifdef WGL_WGLEXT_PROTOTYPES 00537 extern BOOL WINAPI wglEnableGenlockI3D (HDC); 00538 extern BOOL WINAPI wglDisableGenlockI3D (HDC); 00539 extern BOOL WINAPI wglIsEnabledGenlockI3D (HDC, BOOL *); 00540 extern BOOL WINAPI wglGenlockSourceI3D (HDC, UINT); 00541 extern BOOL WINAPI wglGetGenlockSourceI3D (HDC, UINT *); 00542 extern BOOL WINAPI wglGenlockSourceEdgeI3D (HDC, UINT); 00543 extern BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC, UINT *); 00544 extern BOOL WINAPI wglGenlockSampleRateI3D (HDC, UINT); 00545 extern BOOL WINAPI wglGetGenlockSampleRateI3D (HDC, UINT *); 00546 extern BOOL WINAPI wglGenlockSourceDelayI3D (HDC, UINT); 00547 extern BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC, UINT *); 00548 extern BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC, UINT *, UINT *); 00549 #endif /* WGL_WGLEXT_PROTOTYPES */ 00550 typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC); 00551 typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC); 00552 typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag); 00553 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource); 00554 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource); 00555 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge); 00556 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge); 00557 typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate); 00558 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate); 00559 typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay); 00560 typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay); 00561 typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay); 00562 #endif 00563 00564 #ifndef WGL_I3D_image_buffer 00565 #define WGL_I3D_image_buffer 1 00566 #ifdef WGL_WGLEXT_PROTOTYPES 00567 extern LPVOID WINAPI wglCreateImageBufferI3D (HDC, DWORD, UINT); 00568 extern BOOL WINAPI wglDestroyImageBufferI3D (HDC, LPVOID); 00569 extern BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC, const HANDLE *, const LPVOID *, const DWORD *, UINT); 00570 extern BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC, const LPVOID *, UINT); 00571 #endif /* WGL_WGLEXT_PROTOTYPES */ 00572 typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags); 00573 typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress); 00574 typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count); 00575 typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count); 00576 #endif 00577 00578 #ifndef WGL_I3D_swap_frame_lock 00579 #define WGL_I3D_swap_frame_lock 1 00580 #ifdef WGL_WGLEXT_PROTOTYPES 00581 extern BOOL WINAPI wglEnableFrameLockI3D (void); 00582 extern BOOL WINAPI wglDisableFrameLockI3D (void); 00583 extern BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *); 00584 extern BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *); 00585 #endif /* WGL_WGLEXT_PROTOTYPES */ 00586 typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void); 00587 typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void); 00588 typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag); 00589 typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag); 00590 #endif 00591 00592 #ifndef WGL_I3D_swap_frame_usage 00593 #define WGL_I3D_swap_frame_usage 1 00594 #ifdef WGL_WGLEXT_PROTOTYPES 00595 extern BOOL WINAPI wglGetFrameUsageI3D (PN_stdfloat *); 00596 extern BOOL WINAPI wglBeginFrameTrackingI3D (void); 00597 extern BOOL WINAPI wglEndFrameTrackingI3D (void); 00598 extern BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *, DWORD *, PN_stdfloat *); 00599 #endif /* WGL_WGLEXT_PROTOTYPES */ 00600 typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (PN_stdfloat *pUsage); 00601 typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void); 00602 typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void); 00603 typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, PN_stdfloat *pLastMissedUsage); 00604 #endif 00605 00606 00607 #ifdef __cplusplus 00608 } 00609 #endif 00610 00611 #endif