Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/RenderSystems/GL/include/GL/wglext.h @ 5

Last change on this file since 5 was 5, checked in by anonymous, 17 years ago

=hoffentlich gehts jetzt

File size: 26.4 KB
Line 
1#ifndef __wglext_h_
2#define __wglext_h_
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** License Applicability. Except to the extent portions of this file are
10** made subject to an alternative license as permitted in the SGI Free
11** Software License B, Version 1.1 (the "License"), the contents of this
12** file are subject only to the provisions of the License. You may not use
13** this file except in compliance with the License. You may obtain a copy
14** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
15** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
16**
17** http://oss.sgi.com/projects/FreeB
18**
19** Note that, as provided in the License, the Software is distributed on an
20** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
21** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
22** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
23** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
24**
25** Original Code. The Original Code is: OpenGL Sample Implementation,
26** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
27** Inc. The Original Code is Copyright (c) 1991-2002 Silicon Graphics, Inc.
28** Copyright in any portions created by third parties is as indicated
29** elsewhere herein. All Rights Reserved.
30**
31** Additional Notice Provisions: This software was created using the
32** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
33** not been independently verified as being compliant with the OpenGL(R)
34** version 1.2.1 Specification.
35*/
36
37#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
38#define WIN32_LEAN_AND_MEAN 1
39#include <windows.h>
40#endif
41
42#ifndef APIENTRY
43#define APIENTRY
44#endif
45#ifndef GLAPI
46#define GLAPI extern
47#endif
48
49/*************************************************************/
50
51/* Header file version number */
52/* wglext.h last updated 2002/03/22 */
53/* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */
54#define WGL_WGLEXT_VERSION 4
55
56#ifndef WGL_ARB_buffer_region
57#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
58#define WGL_BACK_COLOR_BUFFER_BIT_ARB  0x00000002
59#define WGL_DEPTH_BUFFER_BIT_ARB       0x00000004
60#define WGL_STENCIL_BUFFER_BIT_ARB     0x00000008
61#endif
62
63#ifndef WGL_ARB_multisample
64#define WGL_SAMPLE_BUFFERS_ARB         0x2041
65#define WGL_SAMPLES_ARB                0x2042
66#endif
67
68#ifndef WGL_ARB_extensions_string
69#endif
70
71#ifndef WGL_ARB_pixel_format
72#define WGL_NUMBER_PIXEL_FORMATS_ARB   0x2000
73#define WGL_DRAW_TO_WINDOW_ARB         0x2001
74#define WGL_DRAW_TO_BITMAP_ARB         0x2002
75#define WGL_ACCELERATION_ARB           0x2003
76#define WGL_NEED_PALETTE_ARB           0x2004
77#define WGL_NEED_SYSTEM_PALETTE_ARB    0x2005
78#define WGL_SWAP_LAYER_BUFFERS_ARB     0x2006
79#define WGL_SWAP_METHOD_ARB            0x2007
80#define WGL_NUMBER_OVERLAYS_ARB        0x2008
81#define WGL_NUMBER_UNDERLAYS_ARB       0x2009
82#define WGL_TRANSPARENT_ARB            0x200A
83#define WGL_TRANSPARENT_RED_VALUE_ARB  0x2037
84#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
85#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
86#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
87#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
88#define WGL_SHARE_DEPTH_ARB            0x200C
89#define WGL_SHARE_STENCIL_ARB          0x200D
90#define WGL_SHARE_ACCUM_ARB            0x200E
91#define WGL_SUPPORT_GDI_ARB            0x200F
92#define WGL_SUPPORT_OPENGL_ARB         0x2010
93#define WGL_DOUBLE_BUFFER_ARB          0x2011
94#define WGL_STEREO_ARB                 0x2012
95#define WGL_PIXEL_TYPE_ARB             0x2013
96#define WGL_COLOR_BITS_ARB             0x2014
97#define WGL_RED_BITS_ARB               0x2015
98#define WGL_RED_SHIFT_ARB              0x2016
99#define WGL_GREEN_BITS_ARB             0x2017
100#define WGL_GREEN_SHIFT_ARB            0x2018
101#define WGL_BLUE_BITS_ARB              0x2019
102#define WGL_BLUE_SHIFT_ARB             0x201A
103#define WGL_ALPHA_BITS_ARB             0x201B
104#define WGL_ALPHA_SHIFT_ARB            0x201C
105#define WGL_ACCUM_BITS_ARB             0x201D
106#define WGL_ACCUM_RED_BITS_ARB         0x201E
107#define WGL_ACCUM_GREEN_BITS_ARB       0x201F
108#define WGL_ACCUM_BLUE_BITS_ARB        0x2020
109#define WGL_ACCUM_ALPHA_BITS_ARB       0x2021
110#define WGL_DEPTH_BITS_ARB             0x2022
111#define WGL_STENCIL_BITS_ARB           0x2023
112#define WGL_AUX_BUFFERS_ARB            0x2024
113#define WGL_NO_ACCELERATION_ARB        0x2025
114#define WGL_GENERIC_ACCELERATION_ARB   0x2026
115#define WGL_FULL_ACCELERATION_ARB      0x2027
116#define WGL_SWAP_EXCHANGE_ARB          0x2028
117#define WGL_SWAP_COPY_ARB              0x2029
118#define WGL_SWAP_UNDEFINED_ARB         0x202A
119#define WGL_TYPE_RGBA_ARB              0x202B
120#define WGL_TYPE_COLORINDEX_ARB        0x202C
121#endif
122
123#ifndef WGL_ARB_make_current_read
124#define ERROR_INVALID_PIXEL_TYPE_ARB   0x2043
125#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
126#endif
127
128#ifndef WGL_ARB_pbuffer
129#define WGL_DRAW_TO_PBUFFER_ARB        0x202D
130#define WGL_MAX_PBUFFER_PIXELS_ARB     0x202E
131#define WGL_MAX_PBUFFER_WIDTH_ARB      0x202F
132#define WGL_MAX_PBUFFER_HEIGHT_ARB     0x2030
133#define WGL_PBUFFER_LARGEST_ARB        0x2033
134#define WGL_PBUFFER_WIDTH_ARB          0x2034
135#define WGL_PBUFFER_HEIGHT_ARB         0x2035
136#define WGL_PBUFFER_LOST_ARB           0x2036
137#endif
138
139#ifndef WGL_ARB_render_texture
140#define WGL_BIND_TO_TEXTURE_RGB_ARB    0x2070
141#define WGL_BIND_TO_TEXTURE_RGBA_ARB   0x2071
142#define WGL_TEXTURE_FORMAT_ARB         0x2072
143#define WGL_TEXTURE_TARGET_ARB         0x2073
144#define WGL_MIPMAP_TEXTURE_ARB         0x2074
145#define WGL_TEXTURE_RGB_ARB            0x2075
146#define WGL_TEXTURE_RGBA_ARB           0x2076
147#define WGL_NO_TEXTURE_ARB             0x2077
148#define WGL_TEXTURE_CUBE_MAP_ARB       0x2078
149#define WGL_TEXTURE_1D_ARB             0x2079
150#define WGL_TEXTURE_2D_ARB             0x207A
151#define WGL_MIPMAP_LEVEL_ARB           0x207B
152#define WGL_CUBE_MAP_FACE_ARB          0x207C
153#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
154#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
155#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
156#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
157#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
158#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
159#define WGL_FRONT_LEFT_ARB             0x2083
160#define WGL_FRONT_RIGHT_ARB            0x2084
161#define WGL_BACK_LEFT_ARB              0x2085
162#define WGL_BACK_RIGHT_ARB             0x2086
163#define WGL_AUX0_ARB                   0x2087
164#define WGL_AUX1_ARB                   0x2088
165#define WGL_AUX2_ARB                   0x2089
166#define WGL_AUX3_ARB                   0x208A
167#define WGL_AUX4_ARB                   0x208B
168#define WGL_AUX5_ARB                   0x208C
169#define WGL_AUX6_ARB                   0x208D
170#define WGL_AUX7_ARB                   0x208E
171#define WGL_AUX8_ARB                   0x208F
172#define WGL_AUX9_ARB                   0x2090
173#endif
174
175#ifndef WGL_EXT_make_current_read
176#define ERROR_INVALID_PIXEL_TYPE_EXT   0x2043
177#endif
178
179#ifndef WGL_EXT_pixel_format
180#define WGL_NUMBER_PIXEL_FORMATS_EXT   0x2000
181#define WGL_DRAW_TO_WINDOW_EXT         0x2001
182#define WGL_DRAW_TO_BITMAP_EXT         0x2002
183#define WGL_ACCELERATION_EXT           0x2003
184#define WGL_NEED_PALETTE_EXT           0x2004
185#define WGL_NEED_SYSTEM_PALETTE_EXT    0x2005
186#define WGL_SWAP_LAYER_BUFFERS_EXT     0x2006
187#define WGL_SWAP_METHOD_EXT            0x2007
188#define WGL_NUMBER_OVERLAYS_EXT        0x2008
189#define WGL_NUMBER_UNDERLAYS_EXT       0x2009
190#define WGL_TRANSPARENT_EXT            0x200A
191#define WGL_TRANSPARENT_VALUE_EXT      0x200B
192#define WGL_SHARE_DEPTH_EXT            0x200C
193#define WGL_SHARE_STENCIL_EXT          0x200D
194#define WGL_SHARE_ACCUM_EXT            0x200E
195#define WGL_SUPPORT_GDI_EXT            0x200F
196#define WGL_SUPPORT_OPENGL_EXT         0x2010
197#define WGL_DOUBLE_BUFFER_EXT          0x2011
198#define WGL_STEREO_EXT                 0x2012
199#define WGL_PIXEL_TYPE_EXT             0x2013
200#define WGL_COLOR_BITS_EXT             0x2014
201#define WGL_RED_BITS_EXT               0x2015
202#define WGL_RED_SHIFT_EXT              0x2016
203#define WGL_GREEN_BITS_EXT             0x2017
204#define WGL_GREEN_SHIFT_EXT            0x2018
205#define WGL_BLUE_BITS_EXT              0x2019
206#define WGL_BLUE_SHIFT_EXT             0x201A
207#define WGL_ALPHA_BITS_EXT             0x201B
208#define WGL_ALPHA_SHIFT_EXT            0x201C
209#define WGL_ACCUM_BITS_EXT             0x201D
210#define WGL_ACCUM_RED_BITS_EXT         0x201E
211#define WGL_ACCUM_GREEN_BITS_EXT       0x201F
212#define WGL_ACCUM_BLUE_BITS_EXT        0x2020
213#define WGL_ACCUM_ALPHA_BITS_EXT       0x2021
214#define WGL_DEPTH_BITS_EXT             0x2022
215#define WGL_STENCIL_BITS_EXT           0x2023
216#define WGL_AUX_BUFFERS_EXT            0x2024
217#define WGL_NO_ACCELERATION_EXT        0x2025
218#define WGL_GENERIC_ACCELERATION_EXT   0x2026
219#define WGL_FULL_ACCELERATION_EXT      0x2027
220#define WGL_SWAP_EXCHANGE_EXT          0x2028
221#define WGL_SWAP_COPY_EXT              0x2029
222#define WGL_SWAP_UNDEFINED_EXT         0x202A
223#define WGL_TYPE_RGBA_EXT              0x202B
224#define WGL_TYPE_COLORINDEX_EXT        0x202C
225#endif
226
227#ifndef WGL_EXT_pbuffer
228#define WGL_DRAW_TO_PBUFFER_EXT        0x202D
229#define WGL_MAX_PBUFFER_PIXELS_EXT     0x202E
230#define WGL_MAX_PBUFFER_WIDTH_EXT      0x202F
231#define WGL_MAX_PBUFFER_HEIGHT_EXT     0x2030
232#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT  0x2031
233#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
234#define WGL_PBUFFER_LARGEST_EXT        0x2033
235#define WGL_PBUFFER_WIDTH_EXT          0x2034
236#define WGL_PBUFFER_HEIGHT_EXT         0x2035
237#endif
238
239#ifndef WGL_EXT_depth_float
240#define WGL_DEPTH_FLOAT_EXT            0x2040
241#endif
242
243#ifndef WGL_3DFX_multisample
244#define WGL_SAMPLE_BUFFERS_3DFX        0x2060
245#define WGL_SAMPLES_3DFX               0x2061
246#endif
247
248#ifndef WGL_EXT_multisample
249#define WGL_SAMPLE_BUFFERS_EXT         0x2041
250#define WGL_SAMPLES_EXT                0x2042
251#endif
252
253#ifndef WGL_I3D_digital_video_control
254#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
255#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
256#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
257#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
258#endif
259
260#ifndef WGL_I3D_gamma
261#define WGL_GAMMA_TABLE_SIZE_I3D       0x204E
262#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D  0x204F
263#endif
264
265#ifndef WGL_I3D_genlock
266#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
267#define WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D 0x2045
268#define WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D 0x2046
269#define WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D 0x2047
270#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
271#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
272#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
273#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
274#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
275#endif
276
277#ifndef WGL_I3D_image_buffer
278#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
279#define WGL_IMAGE_BUFFER_LOCK_I3D      0x00000002
280#endif
281
282#ifndef WGL_I3D_swap_frame_lock
283#endif
284
285#ifndef WGL_NV_render_depth_texture
286#define WGL_BIND_TO_TEXTURE_DEPTH_NV   0x20A3
287#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
288#define WGL_DEPTH_TEXTURE_FORMAT_NV    0x20A5
289#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
290#define WGL_DEPTH_COMPONENT_NV         0x20A7
291#endif
292
293#ifndef WGL_NV_render_texture_rectangle
294#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
295#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
296#define WGL_TEXTURE_RECTANGLE_NV       0x20A2
297#endif
298
299#ifndef WGL_NV_float_buffer
300#define WGL_FLOAT_COMPONENTS_NV        0x20B0
301#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
302#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
303#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
304#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
305#define WGL_TEXTURE_FLOAT_R_NV         0x20B5
306#define WGL_TEXTURE_FLOAT_RG_NV        0x20B6
307#define WGL_TEXTURE_FLOAT_RGB_NV       0x20B7
308#define WGL_TEXTURE_FLOAT_RGBA_NV      0x20B8
309#endif
310
311
312/*************************************************************/
313
314#ifndef WGL_ARB_pbuffer
315DECLARE_HANDLE(HPBUFFERARB);
316#endif
317#ifndef WGL_EXT_pbuffer
318DECLARE_HANDLE(HPBUFFEREXT);
319#endif
320
321#ifndef WGL_ARB_buffer_region
322#define WGL_ARB_buffer_region 1
323#ifdef WGL_WGLEXT_PROTOTYPES
324extern HANDLE WINAPI wglCreateBufferRegionARB (HDC, int, UINT);
325extern VOID WINAPI wglDeleteBufferRegionARB (HANDLE);
326extern BOOL WINAPI wglSaveBufferRegionARB (HANDLE, int, int, int, int);
327extern BOOL WINAPI wglRestoreBufferRegionARB (HANDLE, int, int, int, int, int, int);
328#endif /* WGL_WGLEXT_PROTOTYPES */
329typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
330typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
331typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
332typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
333#endif
334
335#ifndef WGL_ARB_multisample
336#define WGL_ARB_multisample 1
337#endif
338
339#ifndef WGL_ARB_extensions_string
340#define WGL_ARB_extensions_string 1
341#ifdef WGL_WGLEXT_PROTOTYPES
342extern const char * WINAPI wglGetExtensionsStringARB (HDC);
343#endif /* WGL_WGLEXT_PROTOTYPES */
344typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
345#endif
346
347#ifndef WGL_ARB_pixel_format
348#define WGL_ARB_pixel_format 1
349#ifdef WGL_WGLEXT_PROTOTYPES
350extern BOOL WINAPI wglGetPixelFormatAttribivARB (HDC, int, int, UINT, const int *, int *);
351extern BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC, int, int, UINT, const int *, FLOAT *);
352extern BOOL WINAPI wglChoosePixelFormatARB (HDC, const int *, const FLOAT *, UINT, int *, UINT *);
353#endif /* WGL_WGLEXT_PROTOTYPES */
354typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
355typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
356typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
357#endif
358
359#ifndef WGL_ARB_make_current_read
360#define WGL_ARB_make_current_read 1
361#ifdef WGL_WGLEXT_PROTOTYPES
362extern BOOL WINAPI wglMakeContextCurrentARB (HDC, HDC, HGLRC);
363extern HDC WINAPI wglGetCurrentReadDCARB (void);
364#endif /* WGL_WGLEXT_PROTOTYPES */
365typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
366typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
367#endif
368
369#ifndef WGL_ARB_pbuffer
370#define WGL_ARB_pbuffer 1
371#ifdef WGL_WGLEXT_PROTOTYPES
372extern HPBUFFERARB WINAPI wglCreatePbufferARB (HDC, int, int, int, const int *);
373extern HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB);
374extern int WINAPI wglReleasePbufferDCARB (HPBUFFERARB, HDC);
375extern BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB);
376extern BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB, int, int *);
377#endif /* WGL_WGLEXT_PROTOTYPES */
378typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
379typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
380typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
381typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
382typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
383#endif
384
385#ifndef WGL_ARB_render_texture
386#define WGL_ARB_render_texture 1
387#ifdef WGL_WGLEXT_PROTOTYPES
388extern BOOL WINAPI wglBindTexImageARB (HPBUFFERARB, int);
389extern BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB, int);
390extern BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB, const int *);
391#endif /* WGL_WGLEXT_PROTOTYPES */
392typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
393typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
394typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
395#endif
396
397#ifndef WGL_EXT_display_color_table
398#define WGL_EXT_display_color_table 1
399#ifdef WGL_WGLEXT_PROTOTYPES
400extern GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort);
401extern GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *, GLuint);
402extern GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort);
403extern VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort);
404#endif /* WGL_WGLEXT_PROTOTYPES */
405typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
406typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length);
407typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
408typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
409#endif
410
411#ifndef WGL_EXT_extensions_string
412#define WGL_EXT_extensions_string 1
413#ifdef WGL_WGLEXT_PROTOTYPES
414extern const char * WINAPI wglGetExtensionsStringEXT (void);
415#endif /* WGL_WGLEXT_PROTOTYPES */
416typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
417#endif
418
419#ifndef WGL_EXT_make_current_read
420#define WGL_EXT_make_current_read 1
421#ifdef WGL_WGLEXT_PROTOTYPES
422extern BOOL WINAPI wglMakeContextCurrentEXT (HDC, HDC, HGLRC);
423extern HDC WINAPI wglGetCurrentReadDCEXT (void);
424#endif /* WGL_WGLEXT_PROTOTYPES */
425typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
426typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void);
427#endif
428
429#ifndef WGL_EXT_pbuffer
430#define WGL_EXT_pbuffer 1
431#ifdef WGL_WGLEXT_PROTOTYPES
432extern HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC, int, int, int, const int *);
433extern HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT);
434extern int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT, HDC);
435extern BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT);
436extern BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT, int, int *);
437#endif /* WGL_WGLEXT_PROTOTYPES */
438typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
439typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
440typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
441typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
442typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
443#endif
444
445#ifndef WGL_EXT_pixel_format
446#define WGL_EXT_pixel_format 1
447#ifdef WGL_WGLEXT_PROTOTYPES
448extern BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC, int, int, UINT, int *, int *);
449extern BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC, int, int, UINT, int *, FLOAT *);
450extern BOOL WINAPI wglChoosePixelFormatEXT (HDC, const int *, const FLOAT *, UINT, int *, UINT *);
451#endif /* WGL_WGLEXT_PROTOTYPES */
452typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
453typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
454typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
455#endif
456
457#ifndef WGL_EXT_swap_control
458#define WGL_EXT_swap_control 1
459#ifdef WGL_WGLEXT_PROTOTYPES
460extern BOOL WINAPI wglSwapIntervalEXT (int);
461extern int WINAPI wglGetSwapIntervalEXT (void);
462#endif /* WGL_WGLEXT_PROTOTYPES */
463typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
464typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
465#endif
466
467#ifndef WGL_EXT_depth_float
468#define WGL_EXT_depth_float 1
469#endif
470
471#ifndef WGL_NV_vertex_array_range
472#define WGL_NV_vertex_array_range 1
473#ifdef WGL_WGLEXT_PROTOTYPES
474extern void* WINAPI wglAllocateMemoryNV (GLsizei, GLfloat, GLfloat, GLfloat);
475extern void WINAPI wglFreeMemoryNV (void *);
476#endif /* WGL_WGLEXT_PROTOTYPES */
477typedef void* (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
478typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
479#endif
480
481#ifndef WGL_3DFX_multisample
482#define WGL_3DFX_multisample 1
483#endif
484
485#ifndef WGL_EXT_multisample
486#define WGL_EXT_multisample 1
487#endif
488
489#ifndef WGL_OML_sync_control
490#define WGL_OML_sync_control 1
491#ifdef WGL_WGLEXT_PROTOTYPES
492extern BOOL WINAPI wglGetSyncValuesOML (HDC, INT64 *, INT64 *, INT64 *);
493extern BOOL WINAPI wglGetMscRateOML (HDC, INT32 *, INT32 *);
494extern INT64 WINAPI wglSwapBuffersMscOML (HDC, INT64, INT64, INT64);
495extern INT64 WINAPI wglSwapLayerBuffersMscOML (HDC, int, INT64, INT64, INT64);
496extern BOOL WINAPI wglWaitForMscOML (HDC, INT64, INT64, INT64, INT64 *, INT64 *, INT64 *);
497extern BOOL WINAPI wglWaitForSbcOML (HDC, INT64, INT64 *, INT64 *, INT64 *);
498#endif /* WGL_WGLEXT_PROTOTYPES */
499typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
500typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator);
501typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
502typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
503typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
504typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
505#endif
506
507#ifndef WGL_I3D_digital_video_control
508#define WGL_I3D_digital_video_control 1
509#ifdef WGL_WGLEXT_PROTOTYPES
510extern BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC, int, int *);
511extern BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC, int, const int *);
512#endif /* WGL_WGLEXT_PROTOTYPES */
513typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
514typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
515#endif
516
517#ifndef WGL_I3D_gamma
518#define WGL_I3D_gamma 1
519#ifdef WGL_WGLEXT_PROTOTYPES
520extern BOOL WINAPI wglGetGammaTableParametersI3D (HDC, int, int *);
521extern BOOL WINAPI wglSetGammaTableParametersI3D (HDC, int, const int *);
522extern BOOL WINAPI wglGetGammaTableI3D (HDC, int, USHORT *, USHORT *, USHORT *);
523extern BOOL WINAPI wglSetGammaTableI3D (HDC, int, const USHORT *, const USHORT *, const USHORT *);
524#endif /* WGL_WGLEXT_PROTOTYPES */
525typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
526typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
527typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
528typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
529#endif
530
531#ifndef WGL_I3D_genlock
532#define WGL_I3D_genlock 1
533#ifdef WGL_WGLEXT_PROTOTYPES
534extern BOOL WINAPI wglEnableGenlockI3D (HDC);
535extern BOOL WINAPI wglDisableGenlockI3D (HDC);
536extern BOOL WINAPI wglIsEnabledGenlockI3D (HDC, BOOL *);
537extern BOOL WINAPI wglGenlockSourceI3D (HDC, UINT);
538extern BOOL WINAPI wglGetGenlockSourceI3D (HDC, UINT *);
539extern BOOL WINAPI wglGenlockSourceEdgeI3D (HDC, UINT);
540extern BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC, UINT *);
541extern BOOL WINAPI wglGenlockSampleRateI3D (HDC, UINT);
542extern BOOL WINAPI wglGetGenlockSampleRateI3D (HDC, UINT *);
543extern BOOL WINAPI wglGenlockSourceDelayI3D (HDC, UINT);
544extern BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC, UINT *);
545extern BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC, UINT *, UINT *);
546#endif /* WGL_WGLEXT_PROTOTYPES */
547typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
548typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
549typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag);
550typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
551typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource);
552typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
553typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge);
554typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
555typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate);
556typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
557typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay);
558typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
559#endif
560
561#ifndef WGL_I3D_image_buffer
562#define WGL_I3D_image_buffer 1
563#ifdef WGL_WGLEXT_PROTOTYPES
564extern LPVOID WINAPI wglCreateImageBufferI3D (HDC, DWORD, UINT);
565extern BOOL WINAPI wglDestroyImageBufferI3D (HDC, LPVOID);
566extern BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC, const HANDLE *, const LPVOID *, const DWORD *, UINT);
567extern BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC, const LPVOID *, UINT);
568#endif /* WGL_WGLEXT_PROTOTYPES */
569typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
570typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
571typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
572typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count);
573#endif
574
575#ifndef WGL_I3D_swap_frame_lock
576#define WGL_I3D_swap_frame_lock 1
577#ifdef WGL_WGLEXT_PROTOTYPES
578extern BOOL WINAPI wglEnableFrameLockI3D (void);
579extern BOOL WINAPI wglDisableFrameLockI3D (void);
580extern BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *);
581extern BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *);
582#endif /* WGL_WGLEXT_PROTOTYPES */
583typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
584typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
585typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag);
586typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag);
587#endif
588
589#ifndef WGL_I3D_swap_frame_usage
590#define WGL_I3D_swap_frame_usage 1
591#ifdef WGL_WGLEXT_PROTOTYPES
592extern BOOL WINAPI wglGetFrameUsageI3D (float *);
593extern BOOL WINAPI wglBeginFrameTrackingI3D (void);
594extern BOOL WINAPI wglEndFrameTrackingI3D (void);
595extern BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *, DWORD *, float *);
596#endif /* WGL_WGLEXT_PROTOTYPES */
597typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage);
598typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
599typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
600typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
601#endif
602
603
604#ifdef __cplusplus
605}
606#endif
607
608#endif
Note: See TracBrowser for help on using the repository browser.