source: trunk/nv/lib/gl.hh @ 21

Last change on this file since 21 was 21, checked in by epyon, 12 years ago
  • bugfixes
  • missing files added
File size: 28.1 KB
RevLine 
[5]1// Copyright (C) 2012-2013 ChaosForge / Kornel Kisielewicz
2// http://chaosforge.org/
3//
4// This file is part of NV Libraries.
5// For conditions of distribution and use, see copyright notice in nv.hh
6
7#ifndef NV_LIB_GL_HH
8#define NV_LIB_GL_HH
9
[20]10#include <nv/common.hh>
11#include <stddef.h>
12
[5]13//#define NV_SDL_GL
14#define NV_GL_DYNAMIC
15//#define NV_GL_SHARED
16
17#if NV_PLATFORM == NV_WINDOWS
18#       define NV_GL_PATH "opengl32.dll"
19#elif NV_PLATFORM == NV_APPLE
20#       define NV_GL_PATH "/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib"
21#else
22#       define NV_GL_PATH "libGL.so"
23#endif
24
25#include <stdint.h>
26
27extern "C" {
28
29#if NV_PLATFORM == NV_WINDOWS
30#       define NV_GL_APIENTRY __stdcall
31#else
32#       define NV_GL_APIENTRY
33#endif
34
35#if defined(NV_GL_SHARED) && (NV_PLATFORM == NV_WINDOWS)
36#       define NV_GL_API __declspec(dllimport)
37#else
38#       define NV_GL_API extern
39#endif
40
41#if defined(NV_GL_DYNAMIC)
42#       define NV_GL_FUN( rtype, fname, fparams ) NV_GL_API rtype ( NV_GL_APIENTRY *fname) fparams
43#else
44#       define NV_GL_FUN( rtype, fname, fparams ) NV_GL_API rtype NV_GL_APIENTRY fname fparams
45#endif
46
47typedef unsigned int GLenum;
48typedef unsigned int GLbitfield;
49typedef unsigned int GLuint;
50typedef int GLint;
51typedef int GLsizei;
52typedef unsigned char GLboolean;
53typedef signed char GLbyte;
54typedef short GLshort;
55typedef unsigned char GLubyte;
56typedef unsigned short GLushort;
57typedef unsigned long GLulong;
58typedef float GLfloat;
59typedef float GLclampf;
60typedef double GLdouble;
61typedef double GLclampd;
62typedef void GLvoid;
63typedef char GLchar;
64typedef ptrdiff_t GLintptr;
65typedef ptrdiff_t GLsizeiptr;
66
67
68/* OpenGL 1.1 non-deprecated defines */
69#define GL_DEPTH_BUFFER_BIT 0x00000100
70#define GL_STENCIL_BUFFER_BIT 0x00000400
71#define GL_COLOR_BUFFER_BIT 0x00004000
72#define GL_FALSE 0
73#define GL_TRUE 1
74#define GL_POINTS 0x0000
75#define GL_LINES 0x0001
76#define GL_LINE_LOOP 0x0002
77#define GL_LINE_STRIP 0x0003
78#define GL_TRIANGLES 0x0004
79#define GL_TRIANGLE_STRIP 0x0005
80#define GL_TRIANGLE_FAN 0x0006
81#define GL_NEVER 0x0200
82#define GL_LESS 0x0201
83#define GL_LEQUAL 0x0203
84#define GL_GREATER 0x0204
85#define GL_NOTEQUAL 0x0205
86#define GL_GEQUAL 0x0206
87#define GL_ALWAYS 0x0207
88#define GL_ONE 1
89#define GL_SRC_COLOR 0x0300
90#define GL_ONE_MINUS_SRC_COLOR 0x0301
91#define GL_SRC_ALPHA 0x0302
92#define GL_ONE_MINUS_SRC_ALPHA 0x0303
93#define GL_DST_ALPHA 0x0304
94#define GL_ONE_MINUS_DST_ALPHA 0x0305
95#define GL_DST_COLOR 0x0306
96#define GL_ONE_MINUS_DST_COLOR 0x0307
97#define GL_SRC_ALPHA_SATURATE 0x0308
98#define GL_FRONT_LEFT 0x0400
99#define GL_FRONT_RIGHT 0x0401
100#define GL_BACK_LEFT 0x0402
101#define GL_BACK_RIGHT 0x0403
102#define GL_FRONT 0x0404
103#define GL_BACK 0x0405
104#define GL_LEFT 0x0406
105#define GL_RIGHT 0x0407
106#define GL_FRONT_AND_BACK 0x0408
107#define GL_INVALID_ENUM 0x0500
108#define GL_INVALID_VALUE 0x0501
109#define GL_INVALID_OPERATION 0x0502
110#define GL_OUT_OF_MEMORY 0x0505
111#define GL_POINT_SIZE 0x0B11
112#define GL_POINT_SIZE_RANGE 0x0B12
113#define GL_POINT_SIZE_GRANULARITY 0x0B13
114#define GL_LINE_SMOOTH 0x0B20
115#define GL_LINE_WIDTH 0x0B21
116#define GL_LINE_WIDTH_RANGE 0x0B22
117#define GL_LINE_WIDTH_GRANULARITY 0x0B23
118#define GL_POLYGON_SMOOTH 0x0B41
119#define GL_CULL_FACE 0x0B44
120#define GL_CULL_FACE_MODE 0x0B45
121#define GL_FRONT_FACE 0x0B46
122#define GL_DEPTH_TEST 0x0B71
123#define GL_DEPTH_WRITEMASK 0x0B72
124#define GL_DEPTH_CLEAR_VALUE 0x0B73
125#define GL_DEPTH_FUNC 0x0B74
126#define GL_STENCIL_TEST 0x0B90
127#define GL_STENCIL_CLEAR_VALUE 0x0B91
128#define GL_STENCIL_FUNC 0x0B92
129#define GL_STENCIL_VALUE_MASK 0x0B93
130#define GL_STENCIL_FAIL 0x0B94
131#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
132#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
133#define GL_STENCIL_REF 0x0B97
134#define GL_STENCIL_WRITEMASK 0x0B98
135#define GL_DITHER 0x0BD0
136#define GL_BLEND_DST 0x0BE0
137#define GL_BLEND_SRC 0x0BE1
138#define GL_BLEND 0x0BE2
139#define GL_LOGIC_OP_MODE 0x0BF0
140#define GL_COLOR_LOGIC_OP 0x0BF2
141#define GL_DRAW_BUFFER 0x0C01
142#define GL_READ_BUFFER 0x0C02
143#define GL_COLOR_CLEAR_VALUE 0x0C22
144#define GL_COLOR_WRITEMASK 0x0C23
145#define GL_DOUBLEBUFFER 0x0C32
146#define GL_STEREO 0x0C33
147#define GL_LINE_SMOOTH_HINT 0x0C52
148#define GL_POLYGON_SMOOTH_HINT 0x0C53
149#define GL_UNPACK_SWAP_BYTES 0x0CF0
150#define GL_UNPACK_LSB_FIRST 0x0CF1
151#define GL_UNPACK_ROW_LENGTH 0x0CF2
152#define GL_UNPACK_SKIP_ROWS 0x0CF3
153#define GL_UNPACK_SKIP_PIXELS 0x0CF4
154#define GL_UNPACK_ALIGNMENT 0x0CF5
155#define GL_PACK_SWAP_BYTES 0x0D00
156#define GL_PACK_LSB_FIRST 0x0D01
157#define GL_PACK_ROW_LENGTH 0x0D02
158#define GL_PACK_SKIP_ROWS 0x0D03
159#define GL_PACK_SKIP_PIXELS 0x0D04
160#define GL_PACK_ALIGNMENT 0x0D05
161#define GL_MAX_TEXTURE_SIZE 0x0D33
162#define GL_MAX_VIEWPORT_DIMS 0x0D3A
163#define GL_SUBPIXEL_BITS 0x0D50
[21]164#define GL_TEXTURE_2D 0x0DE1
[5]165#define GL_POLYGON_OFFSET_UNITS 0x2A00
166#define GL_POLYGON_OFFSET_POINT 0x2A01
167#define GL_POLYGON_OFFSET_LINE 0x2A02
168#define GL_POLYGON_OFFSET_FILL 0x8037
169#define GL_POLYGON_OFFSET_FACTOR 0x8038
170#define GL_TEXTURE_BINDING_1D 0x8068
171#define GL_TEXTURE_BINDING_2D 0x8069
172#define GL_TEXTURE_WIDTH 0x1000
173#define GL_TEXTURE_HEIGHT 0x1001
174#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
175#define GL_TEXTURE_BORDER_COLOR 0x1004
176#define GL_TEXTURE_RED_SIZE 0x805C
177#define GL_TEXTURE_GREEN_SIZE 0x805D
178#define GL_TEXTURE_BLUE_SIZE 0x805E
179#define GL_TEXTURE_ALPHA_SIZE 0x805F
180#define GL_DONT_CARE 0x1100
181#define GL_FASTEST 0x1101
182#define GL_NICEST 0x1102
183#define GL_BYTE 0x1400
184#define GL_UNSIGNED_BYTE 0x1401
185#define GL_SHORT 0x1402
186#define GL_UNSIGNED_SHORT 0x1403
187#define GL_INT 0x1404
188#define GL_UNSIGNED_INT 0x1405
189#define GL_FLOAT 0x1406
190#define GL_CLEAR 0x1500
191#define GL_AND 0x1501
192#define GL_AND_REVERSE 0x1502
193#define GL_COPY 0x1503
194#define GL_AND_INVERTED 0x1504
195#define GL_NOOP 0x1505
196#define GL_XOR 0x1506
197#define GL_OR 0x1507
198#define GL_NOR 0x1508
199#define GL_EQUIV 0x1509
200#define GL_INVERT 0x150A
201#define GL_OR_REVERSE 0x150B
202#define GL_COPY_INVERTED 0x150C
203#define GL_OR_INVERTED 0x150D
204#define GL_NAND 0x150E
205#define GL_SET 0x150F
206#define GL_TEXTURE 0x1702
207#define GL_COLOR 0x1800
208#define GL_DEPTH 0x1801
209#define GL_STENCIL 0x1802
210#define GL_STENCIL_INDEX 0x1901
211#define GL_DEPTH_COMPONENT 0x1902
212#define GL_RED 0x1903
213#define GL_GREEN 0x1904
214#define GL_BLUE 0x1905
215#define GL_ALPHA 0x1906
216#define GL_RGB 0x1907
217#define GL_RGBA 0x1908
218#define GL_POINT 0x1B00
219#define GL_LINE 0x1B01
220#define GL_FILL 0x1B02
221#define GL_KEEP 0x1E00
222#define GL_REPLACE 0x1E01
223#define GL_INCR 0x1E02
224#define GL_DECR 0x1E03
225#define GL_VENDOR 0x1F00
226#define GL_RENDERER 0x1F01
227#define GL_VERSION 0x1F02
228#define GL_EXTENSIONS 0x1F03
229#define GL_NEAREST 0x2600
230#define GL_LINEAR 0x2601
231#define GL_NEAREST_MIPMAP_NEAREST 0x2700
232#define GL_LINEAR_MIPMAP_NEAREST 0x2701
233#define GL_NEAREST_MIPMAP_LINEAR 0x2702
234#define GL_LINEAR_MIPMAP_LINEAR 0x2703
235#define GL_TEXTURE_MAG_FILTER 0x2800
236#define GL_TEXTURE_MIN_FILTER 0x2801
237#define GL_TEXTURE_WRAP_S 0x2802
238#define GL_TEXTURE_WRAP_T 0x2803
239#define GL_PROXY_TEXTURE_1D 0x8063
240#define GL_PROXY_TEXTURE_2D 0x8064
241#define GL_REPEAT 0x2901
242#define GL_R3_G3_B2 0x2A10
243#define GL_RGB4 0x804F
244#define GL_RGB5 0x8050
245#define GL_RGB8 0x8051
246#define GL_RGB10 0x8052
247#define GL_RGB12 0x8053
248#define GL_RGB16 0x8054
249#define GL_RGBA2 0x8055
250#define GL_RGBA4 0x8056
251#define GL_RGB5_A1 0x8057
252#define GL_RGBA8 0x8058
253#define GL_RGB10_A2 0x8059
254#define GL_RGBA12 0x805A
255#define GL_RGBA16 0x805B
256
257/* OpenGL 1.2 non-deprecated defines */
258#define GL_UNSIGNED_BYTE_3_3_2 0x8032
259#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
260#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
261#define GL_UNSIGNED_INT_8_8_8_8 0x8035
262#define GL_UNSIGNED_INT_10_10_10_2 0x8036
263#define GL_TEXTURE_BINDING_3D 0x806A
264#define GL_PACK_SKIP_IMAGES 0x806B
265#define GL_PACK_IMAGE_HEIGHT 0x806C
266#define GL_UNPACK_SKIP_IMAGES 0x806D
267#define GL_UNPACK_IMAGE_HEIGHT 0x806E
268#define GL_PROXY_TEXTURE_3D 0x8070
269#define GL_TEXTURE_DEPTH 0x8071
270#define GL_TEXTURE_WRAP_R 0x8072
271#define GL_MAX_3D_TEXTURE_SIZE 0x8073
272#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
273#define GL_UNSIGNED_SHORT_5_6_5 0x8363
274#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
275#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
276#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
277#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
278#define GL_BGR 0x80E0
279#define GL_MAX_ELEMENTS_VERTICES 0x80E8
280#define GL_MAX_ELEMENTS_INDICES 0x80E9
281#define GL_CLAMP_TO_EDGE 0x812F
282#define GL_TEXTURE_MIN_LOD 0x813A
283#define GL_TEXTURE_MAX_LOD 0x813B
284#define GL_TEXTURE_BASE_LEVEL 0x813C
285#define GL_TEXTURE_MAX_LEVEL 0x813D
286#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
287#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
288#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
289#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
290#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
291
292/* OpenGL 1.3 non-deprecated defines */
293#define GL_TEXTURE0 0x84C0
294#define GL_TEXTURE1 0x84C1
295#define GL_TEXTURE2 0x84C2
296#define GL_TEXTURE3 0x84C3
297#define GL_TEXTURE4 0x84C4
298#define GL_TEXTURE5 0x84C5
299#define GL_TEXTURE6 0x84C6
300#define GL_TEXTURE7 0x84C7
301#define GL_TEXTURE8 0x84C8
302#define GL_TEXTURE9 0x84C9
303#define GL_TEXTURE10 0x84CA
304#define GL_TEXTURE11 0x84CB
305#define GL_TEXTURE12 0x84CC
306#define GL_TEXTURE13 0x84CD
307#define GL_TEXTURE14 0x84CE
308#define GL_TEXTURE15 0x84CF
309#define GL_TEXTURE16 0x84D0
310#define GL_TEXTURE17 0x84D1
311#define GL_TEXTURE18 0x84D2
312#define GL_TEXTURE19 0x84D3
313#define GL_TEXTURE20 0x84D4
314#define GL_TEXTURE21 0x84D5
315#define GL_TEXTURE22 0x84D6
316#define GL_TEXTURE23 0x84D7
317#define GL_TEXTURE24 0x84D8
318#define GL_TEXTURE25 0x84D9
319#define GL_TEXTURE26 0x84DA
320#define GL_TEXTURE27 0x84DB
321#define GL_TEXTURE28 0x84DC
322#define GL_TEXTURE29 0x84DD
323#define GL_TEXTURE30 0x84DE
324#define GL_TEXTURE31 0x84DF
325#define GL_ACTIVE_TEXTURE 0x84E0
326#define GL_MULTISAMPLE 0x809D
327#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
328#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
329#define GL_SAMPLE_COVERAGE 0x80A0
330#define GL_SAMPLE_BUFFERS 0x80A8
331#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
332#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
333#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
334#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
335#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
336#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
337#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
338#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
339#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
340#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
341#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
342#define GL_COMPRESSED_RGB 0x84ED
343#define GL_COMPRESSED_RGBA 0x84EE
344#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
345#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
346#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
347#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
348#define GL_CLAMP_TO_BORDER 0x812D
349
350/* OpenGL 1.4 non-deprecated defines */
351#define GL_BLEND_DST_RGB 0x80C8
352#define GL_BLEND_SRC_RGB 0x80C9
353#define GL_BLEND_DST_ALPHA 0x80CA
354#define GL_BLEND_SRC_ALPHA 0x80CB
355#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
356#define GL_DEPTH_COMPONENT16 0x81A5
357#define GL_DEPTH_COMPONENT24 0x81A6
358#define GL_DEPTH_COMPONENT32 0x81A7
359#define GL_MIRRORED_REPEAT 0x8370
360#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
361#define GL_TEXTURE_LOD_BIAS 0x8501
362#define GL_INCR_WRAP 0x8507
363#define GL_DECR_WRAP 0x8508
364#define GL_TEXTURE_DEPTH_SIZE 0x884A
365#define GL_TEXTURE_COMPARE_MODE 0x884C
366#define GL_TEXTURE_COMPARE_FUNC 0x884D
367
368/* OpenGL 1.5 non-deprecated defines */
369#define GL_BUFFER_SIZE 0x8764
370#define GL_BUFFER_USAGE 0x8765
371#define GL_QUERY_COUNTER_BITS 0x8864
372#define GL_CURRENT_QUERY 0x8865
373#define GL_QUERY_RESULT 0x8866
374#define GL_QUERY_RESULT_AVAILABLE 0x8867
375#define GL_ARRAY_BUFFER 0x8892
376#define GL_ELEMENT_ARRAY_BUFFER 0x8893
377#define GL_ARRAY_BUFFER_BINDING 0x8894
378#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
379#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
380#define GL_READ_ONLY 0x88B8
381#define GL_BUFFER_ACCESS 0x88BB
382#define GL_BUFFER_MAPPED 0x88BC
383#define GL_BUFFER_MAP_POINTER 0x88BD
384#define GL_STREAM_DRAW 0x88E0
385#define GL_STREAM_READ 0x88E1
386#define GL_STREAM_COPY 0x88E2
387#define GL_STATIC_DRAW 0x88E4
388#define GL_STATIC_READ 0x88E5
389#define GL_STATIC_COPY 0x88E6
390#define GL_DYNAMIC_DRAW 0x88E8
391#define GL_DYNAMIC_READ 0x88E9
392#define GL_DYNAMIC_COPY 0x88EA
393#define GL_SAMPLES_PASSED 0x8914
394
395/* OpenGL 2.0 non-deprecated defines */
396#define GL_BLEND_EQUATION_RGB 0x8009
397#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
398#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
399#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
400#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
401#define GL_CURRENT_VERTEX_ATTRIB 0x8626
402#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
403#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
404#define GL_STENCIL_BACK_FUNC 0x8800
405#define GL_STENCIL_BACK_FAIL 0x8801
406#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
407#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
408#define GL_MAX_DRAW_BUFFERS 0x8824
409#define GL_DRAW_BUFFER0 0x8825
410#define GL_DRAW_BUFFER1 0x8826
411#define GL_DRAW_BUFFER2 0x8827
412#define GL_DRAW_BUFFER3 0x8828
413#define GL_DRAW_BUFFER4 0x8829
414#define GL_DRAW_BUFFER5 0x882A
415#define GL_DRAW_BUFFER6 0x882B
416#define GL_DRAW_BUFFER7 0x882C
417#define GL_DRAW_BUFFER8 0x882D
418#define GL_DRAW_BUFFER9 0x882E
419#define GL_DRAW_BUFFER10 0x882F
420#define GL_DRAW_BUFFER11 0x8830
421#define GL_DRAW_BUFFER12 0x8831
422#define GL_DRAW_BUFFER13 0x8832
423#define GL_DRAW_BUFFER14 0x8833
424#define GL_DRAW_BUFFER15 0x8834
425#define GL_BLEND_EQUATION_ALPHA 0x883D
426#define GL_MAX_VERTEX_ATTRIBS 0x8869
427#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
428#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
429#define GL_FRAGMENT_SHADER 0x8B30
430#define GL_VERTEX_SHADER 0x8B31
431#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
432#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
433#define GL_MAX_VARYING_FLOATS 0x8B4B
434#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
435#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
436#define GL_SHADER_TYPE 0x8B4F
437#define GL_FLOAT_VEC2 0x8B50
438#define GL_FLOAT_VEC3 0x8B51
439#define GL_FLOAT_VEC4 0x8B52
440#define GL_INT_VEC2 0x8B53
441#define GL_INT_VEC3 0x8B54
442#define GL_INT_VEC4 0x8B55
443#define GL_BOOL 0x8B56
444#define GL_BOOL_VEC2 0x8B57
445#define GL_BOOL_VEC3 0x8B58
446#define GL_BOOL_VEC4 0x8B59
447#define GL_FLOAT_MAT2 0x8B5A
448#define GL_FLOAT_MAT3 0x8B5B
449#define GL_FLOAT_MAT4 0x8B5C
450#define GL_SAMPLER_1D 0x8B5D
451#define GL_SAMPLER_2D 0x8B5E
452#define GL_SAMPLER_3D 0x8B5F
453#define GL_SAMPLER_CUBE 0x8B60
454#define GL_SAMPLER_1D_SHADOW 0x8B61
455#define GL_SAMPLER_2D_SHADOW 0x8B62
456#define GL_DELETE_STATUS 0x8B80
457#define GL_COMPILE_STATUS 0x8B81
458#define GL_LINK_STATUS 0x8B82
459#define GL_VALIDATE_STATUS 0x8B83
460#define GL_INFO_LOG_LENGTH 0x8B84
461#define GL_ATTACHED_SHADERS 0x8B85
462#define GL_ACTIVE_UNIFORMS 0x8B86
463#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
464#define GL_SHADER_SOURCE_LENGTH 0x8B88
465#define GL_ACTIVE_ATTRIBUTES 0x8B89
466#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
467#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
468#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
469#define GL_CURRENT_PROGRAM 0x8B8D
470#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
471#define GL_LOWER_LEFT 0x8CA1
472#define GL_UPPER_LEFT 0x8CA2
473#define GL_STENCIL_BACK_REF 0x8CA3
474#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
475#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
476
477/* OpenGL 2.1 non-deprecated defines */
478#define GL_PIXEL_PACK_BUFFER 0x88EB
479#define GL_PIXEL_UNPACK_BUFFER 0x88EC
480#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
481#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
482#define GL_FLOAT_MAT2x3 0x8B65
483#define GL_FLOAT_MAT2x4 0x8B66
484#define GL_FLOAT_MAT3x2 0x8B67
485#define GL_FLOAT_MAT3x4 0x8B68
486#define GL_FLOAT_MAT4x2 0x8B69
487#define GL_FLOAT_MAT4x3 0x8B6A
488#define GL_SRGB 0x8C40
489#define GL_SRGB8 0x8C41
490#define GL_SRGB_ALPHA 0x8C42
491#define GL_SRGB8_ALPHA8 0x8C43
492#define GL_COMPRESSED_SRGB 0x8C48
493#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
494
495/* OpenGL 1.1 non-deprecated functions */
496NV_GL_FUN( void , glCullFace , ( GLenum ) );
497NV_GL_FUN( void , glFrontFace , ( GLenum ) );
498NV_GL_FUN( void , glHint , ( GLenum, GLenum ) );
499NV_GL_FUN( void , glLineWidth , ( GLfloat ) );
500NV_GL_FUN( void , glPointSize , ( GLfloat ) );
501NV_GL_FUN( void , glPolygonMode , ( GLenum, GLenum ) );
502NV_GL_FUN( void , glScissor , ( GLint , GLint , GLsizei , GLsizei ) );
503NV_GL_FUN( void , glTexParameterf , ( GLenum , GLenum , GLfloat ) );
[21]504NV_GL_FUN( void , glTexParameterfv , ( GLenum , GLenum , const GLfloat *) );
505NV_GL_FUN( void , glTexParameteri , ( GLenum , GLenum , GLint ) );
[5]506NV_GL_FUN( void , glTexParameteriv , ( GLenum , GLenum , const GLint *) );
507NV_GL_FUN( void , glTexImage1D , ( GLenum , GLint , GLint , GLsizei , GLint , GLenum , GLenum , const GLvoid *) );
508NV_GL_FUN( void , glTexImage2D , ( GLenum , GLint , GLint , GLsizei , GLsizei , GLint , GLenum , GLenum , const GLvoid *) );
509NV_GL_FUN( void , glDrawBuffer , ( GLenum ) );
510NV_GL_FUN( void , glClear , ( GLbitfield ) );
511NV_GL_FUN( void , glClearColor , ( GLfloat , GLfloat , GLfloat , GLfloat ) );
512NV_GL_FUN( void , glClearStencil , ( GLint ) );
513NV_GL_FUN( void , glClearDepth , ( GLdouble ) );
514NV_GL_FUN( void , glStencilMask , ( GLuint ) );
515NV_GL_FUN( void , glColorMask , ( GLboolean , GLboolean , GLboolean , GLboolean ) );
516NV_GL_FUN( void , glDepthMask , ( GLboolean ) );
517NV_GL_FUN( void , glDisable , ( GLenum ) );
518NV_GL_FUN( void , glEnable , ( GLenum ) );
519NV_GL_FUN( void , glFinish , ( void ) );
520NV_GL_FUN( void , glFlush , ( void ) );
521NV_GL_FUN( void , glBlendFunc , ( GLenum, GLenum ) );
522NV_GL_FUN( void , glLogicOp , ( GLenum ) );
523NV_GL_FUN( void , glStencilFunc , ( GLenum , GLint , GLuint ) );
524NV_GL_FUN( void , glStencilOp , ( GLenum , GLenum , GLenum ) );
525NV_GL_FUN( void , glDepthFunc , ( GLenum ) );
526NV_GL_FUN( void , glPixelStoref , ( GLenum , GLfloat ) );
527NV_GL_FUN( void , glPixelStorei , ( GLenum , GLint ) );
528NV_GL_FUN( void , glReadBuffer , ( GLenum ) );
529NV_GL_FUN( void , glReadPixels , ( GLint , GLint , GLsizei , GLsizei , GLenum , GLenum , GLvoid *) );
530NV_GL_FUN( void , glGetBooleanv , ( GLenum , GLboolean *) );
531NV_GL_FUN( void , glGetDoublev , ( GLenum , GLdouble *) );
532NV_GL_FUN( GLenum , glGetError , ( void ) );
533NV_GL_FUN( void , glGetFloatv , ( GLenum , GLfloat *) );
534NV_GL_FUN( void , glGetIntegerv , ( GLenum , GLint *) );
535NV_GL_FUN( const GLubyte * , glGetString , ( GLenum ) );
536NV_GL_FUN( void , glGetTexImage , ( GLenum , GLint , GLenum , GLenum , GLvoid *) );
537NV_GL_FUN( void , glGetTexParameterfv , ( GLenum , GLenum , GLfloat *) );
538NV_GL_FUN( void , glGetTexParameteriv , ( GLenum , GLenum , GLint *) );
539NV_GL_FUN( void , glGetTexLevelParameterfv , ( GLenum , GLint , GLenum , GLfloat *) );
540NV_GL_FUN( void , glGetTexLevelParameteriv , ( GLenum , GLint , GLenum , GLint *) );
541NV_GL_FUN( GLboolean , glIsEnabled , ( GLenum ) );
542NV_GL_FUN( void , glDepthRange , ( GLdouble , GLdouble ) );
543NV_GL_FUN( void , glViewport , ( GLint , GLint , GLsizei , GLsizei ) );
544NV_GL_FUN( void , glDrawArrays , ( GLenum , GLint , GLsizei ) );
545NV_GL_FUN( void , glDrawElements , ( GLenum , GLsizei , GLenum , const GLvoid *) );
546NV_GL_FUN( void , glGetPointerv , ( GLenum , GLvoid* *) );
547NV_GL_FUN( void , glPolygonOffset , ( GLfloat , GLfloat ) );
548NV_GL_FUN( void , glCopyTexImage1D , ( GLenum , GLint , GLenum , GLint , GLint , GLsizei , GLint ) );
549NV_GL_FUN( void , glCopyTexImage2D , ( GLenum , GLint , GLenum , GLint , GLint , GLsizei , GLsizei , GLint ) );
550NV_GL_FUN( void , glCopyTexSubImage1D , ( GLenum , GLint , GLint , GLint , GLint , GLsizei ) );
551NV_GL_FUN( void , glCopyTexSubImage2D , ( GLenum , GLint , GLint , GLint , GLint , GLint , GLsizei , GLsizei ) );
552NV_GL_FUN( void , glTexSubImage1D , ( GLenum , GLint , GLint , GLsizei , GLenum , GLenum , const GLvoid *) );
553NV_GL_FUN( void , glTexSubImage2D , ( GLenum , GLint , GLint , GLsizei , GLenum , GLenum , const GLvoid *) );
[21]554NV_GL_FUN( void , glBindTexture , ( GLenum , GLuint ) );
[5]555NV_GL_FUN( void , glDeleteTextures , ( GLsizei , const GLuint *) );
556NV_GL_FUN( void , glGenTextures , ( GLsizei , GLuint *) );
557NV_GL_FUN( GLboolean , glIsTexture , ( GLuint ) );
558NV_GL_FUN( void , glIndexub , ( GLubyte ) );
559NV_GL_FUN( void , glIndexubv , ( const GLubyte *) );
560
561/* OpenGL 1.2 non-deprecated functions */
562NV_GL_FUN( void , glBlendColor , ( GLfloat , GLfloat , GLfloat , GLfloat ) );
563NV_GL_FUN( void , glBlendEquation , ( GLenum ) );
564NV_GL_FUN( void , glDrawRangeElements , ( GLenum , GLuint , GLuint , GLsizei , GLenum , const GLvoid *) );
565NV_GL_FUN( void , glTexSubImage3D , ( GLenum , GLint , GLint , GLint , GLint , GLsizei , GLsizei , GLsizei , GLenum , GLenum , const GLvoid *) );
566NV_GL_FUN( void , glCopyTexSubImage3D , ( GLenum , GLint , GLint , GLint , GLint , GLint , GLint , GLsizei , GLsizei ) );
567
568/* OpenGL 1.3 non-deprecated functions */
569NV_GL_FUN( void , glActiveTexture , ( GLenum ) );
570NV_GL_FUN( void , glSampleCoverage , ( GLfloat , GLboolean ) );
571NV_GL_FUN( void , glCompressedTexImage3D , ( GLenum , GLint , GLenum , GLsizei , GLsizei , GLsizei , GLint , GLsizei , const GLvoid *) );
572NV_GL_FUN( void , glCompressedTexImage2D , ( GLenum , GLint , GLenum , GLsizei , GLsizei , GLint , GLsizei , const GLvoid *) );
573NV_GL_FUN( void , glCompressedTexImage1D , ( GLenum , GLint , GLenum , GLsizei , GLint , GLsizei , const GLvoid *) );
574NV_GL_FUN( void , glCompressedTexSubImage3D , ( GLenum , GLint , GLint , GLint , GLint , GLsizei , GLsizei , GLsizei , GLenum , GLsizei , const GLvoid *) );
575NV_GL_FUN( void , glCompressedTexSubImage2D , ( GLenum , GLint , GLint , GLint , GLsizei , GLsizei , GLenum , GLsizei , const GLvoid *) );
576NV_GL_FUN( void , glCompressedTexSubImage1D , ( GLenum , GLint , GLint , GLsizei , GLenum , GLsizei , const GLvoid *) );
577NV_GL_FUN( void , glGetCompressedTexImage , ( GLenum , GLint , GLvoid *) );
578
579/* OpenGL 1.4 non-deprecated functions */
580NV_GL_FUN( void , glBlendFuncSeparate , ( GLenum , GLenum , GLenum , GLenum ) );
581NV_GL_FUN( void , glMultiDrawArrays , ( GLenum , const GLint *, const GLsizei *, GLsizei ) );
582NV_GL_FUN( void , glMultiDrawElements , ( GLenum , const GLsizei *, GLenum , const GLvoid* const *, GLsizei ) );
583NV_GL_FUN( void , glPointParameterf , ( GLenum , GLfloat ) );
584NV_GL_FUN( void , glPointParameterfv , ( GLenum , const GLfloat *) );
585NV_GL_FUN( void , glPointParameteri , ( GLenum , GLint ) );
586NV_GL_FUN( void , glPointParameteriv , ( GLenum , const GLint *) );
587
588/* OpenGL 1.5 non-deprecated functions */
589NV_GL_FUN( void , glGenQueries , ( GLsizei , GLuint *) );
590NV_GL_FUN( void , glDeleteQueries , ( GLsizei , const GLuint *) );
591NV_GL_FUN( GLboolean , glIsQuery , ( GLuint ) );
592NV_GL_FUN( void , glBeginQuery , ( GLenum , GLuint ) );
593NV_GL_FUN( void , glEndQuery , ( GLenum ) );
594NV_GL_FUN( void , glGetQueryiv , ( GLenum , GLenum , GLint *) );
595NV_GL_FUN( void , glGetQueryObjectiv , ( GLuint , GLenum , GLint *) );
596NV_GL_FUN( void , glGetQueryObjectuiv , ( GLuint , GLenum , GLuint *) );
597NV_GL_FUN( void , glBindBuffer , ( GLenum , GLuint ) );
598NV_GL_FUN( void , glDeleteBuffers , ( GLsizei , const GLuint *) );
599NV_GL_FUN( void , glGenBuffers , ( GLsizei , GLuint *) );
600NV_GL_FUN( GLboolean , glIsBuffer , ( GLuint ) );
601NV_GL_FUN( void , glBufferData , ( GLenum , GLsizeiptr , const GLvoid *, GLenum ) );
602NV_GL_FUN( void , glBufferSubData , ( GLenum , GLintptr , GLsizeiptr , const GLvoid *) );
603NV_GL_FUN( void , glGetBufferSubData , ( GLenum , GLintptr , GLsizeiptr , GLvoid *) );
604NV_GL_FUN( GLvoid* , glMapBuffer , ( GLenum , GLenum ) );
605NV_GL_FUN( GLboolean , glUnmapBuffer , ( GLenum ) );
606NV_GL_FUN( void , glGetBufferParameteriv , ( GLenum , GLenum , GLint *) );
607NV_GL_FUN( void , glGetBufferPointerv , ( GLenum , GLenum , GLvoid* *) );
608
609/* OpenGL 2.0 non-deprecated functions */
610NV_GL_FUN( void , glBlendEquationSeparate , ( GLenum , GLenum ) );
611NV_GL_FUN( void , glDrawBuffers , ( GLsizei , const GLenum *) );
612NV_GL_FUN( void , glStencilOpSeparate , ( GLenum , GLenum , GLenum , GLenum ) );
613NV_GL_FUN( void , glStencilFuncSeparate , ( GLenum , GLenum , GLint , GLuint ) );
614NV_GL_FUN( void , glStencilMaskSeparate , ( GLenum , GLuint ) );
615NV_GL_FUN( void , glAttachShader , ( GLuint , GLuint ) );
616NV_GL_FUN( void , glBindAttribLocation , ( GLuint , GLuint , const GLchar *) );
617NV_GL_FUN( void , glCompileShader , ( GLuint ) );
618NV_GL_FUN( GLuint , glCreateProgram , ( void ) );
619NV_GL_FUN( GLuint , glCreateShader , ( GLenum ) );
620NV_GL_FUN( void , glDeleteProgram , ( GLuint ) );
621NV_GL_FUN( void , glDeleteShader , ( GLuint ) );
622NV_GL_FUN( void , glDetachShader , ( GLuint, GLuint ) );
623NV_GL_FUN( void , glDisableVertexAttribArray , ( GLuint ) );
624NV_GL_FUN( void , glEnableVertexAttribArray , ( GLuint ) );
625NV_GL_FUN( void , glGetActiveAttrib , ( GLuint , GLuint , GLsizei , GLsizei *, GLint *, GLenum *, GLchar *) );
626NV_GL_FUN( void , glGetActiveUniform , ( GLuint , GLuint , GLsizei , GLsizei *, GLint *, GLenum *, GLchar *) );
627NV_GL_FUN( void , glGetAttachedShaders , ( GLuint , GLsizei , GLsizei *, GLuint *) );
628NV_GL_FUN( GLint , glGetAttribLocation , ( GLuint , const GLchar *) );
629NV_GL_FUN( void , glGetProgramiv , ( GLuint , GLenum , GLint *) );
630NV_GL_FUN( void , glGetProgramInfoLog , ( GLuint , GLsizei , GLsizei *, GLchar *) );
631NV_GL_FUN( void , glGetShaderiv , ( GLuint , GLenum , GLint *) );
632NV_GL_FUN( void , glGetShaderInfoLog , ( GLuint , GLsizei , GLsizei *, GLchar *) );
633NV_GL_FUN( void , glGetShaderSource , ( GLuint , GLsizei , GLsizei *, GLchar *) );
634NV_GL_FUN( GLint , glGetUniformLocation , ( GLuint , const GLchar *) );
635NV_GL_FUN( void , glGetUniformfv , ( GLuint , GLint , GLfloat *) );
636NV_GL_FUN( void , glGetUniformiv , ( GLuint , GLint , GLint *) );
637NV_GL_FUN( void , glGetVertexAttribdv , ( GLuint , GLenum , GLdouble *) );
638NV_GL_FUN( void , glGetVertexAttribfv , ( GLuint , GLenum , GLfloat *) );
639NV_GL_FUN( void , glGetVertexAttribiv , ( GLuint , GLenum , GLint *) );
640NV_GL_FUN( void , glGetVertexAttribPointerv , ( GLuint , GLenum , GLvoid* *) );
641NV_GL_FUN( GLboolean , glIsProgram , ( GLuint ) );
642NV_GL_FUN( GLboolean , glIsShader , ( GLuint ) );
643NV_GL_FUN( void , glLinkProgram , ( GLuint ) );
644NV_GL_FUN( void , glShaderSource , ( GLuint , GLsizei , const GLchar* const *, const GLint *) );
645NV_GL_FUN( void , glUseProgram , ( GLuint ) );
646NV_GL_FUN( void , glUniform1f , ( GLint , GLfloat ) );
647NV_GL_FUN( void , glUniform2f , ( GLint , GLfloat , GLfloat ) );
648NV_GL_FUN( void , glUniform3f , ( GLint , GLfloat , GLfloat , GLfloat ) );
649NV_GL_FUN( void , glUniform4f , ( GLint , GLfloat , GLfloat , GLfloat , GLfloat ) );
650NV_GL_FUN( void , glUniform1i , ( GLint , GLint ) );
651NV_GL_FUN( void , glUniform2i , ( GLint , GLint , GLint ) );
652NV_GL_FUN( void , glUniform3i , ( GLint , GLint , GLint , GLint ) );
653NV_GL_FUN( void , glUniform4i , ( GLint , GLint , GLint , GLint , GLint ) );
654NV_GL_FUN( void , glUniform1fv , ( GLint , GLsizei , const GLfloat *) );
655NV_GL_FUN( void , glUniform2fv , ( GLint , GLsizei , const GLfloat *) );
656NV_GL_FUN( void , glUniform3fv , ( GLint , GLsizei , const GLfloat *) );
657NV_GL_FUN( void , glUniform4fv , ( GLint , GLsizei , const GLfloat *) );
658NV_GL_FUN( void , glUniform1iv , ( GLint , GLsizei , const GLint *) );
659NV_GL_FUN( void , glUniform2iv , ( GLint , GLsizei , const GLint *) );
660NV_GL_FUN( void , glUniform3iv , ( GLint , GLsizei , const GLint *) );
661NV_GL_FUN( void , glUniform4iv , ( GLint , GLsizei , const GLint *) );
662NV_GL_FUN( void , glUniformMatrix2fv , ( GLint , GLsizei , GLboolean , const GLfloat *) );
663NV_GL_FUN( void , glUniformMatrix3fv , ( GLint , GLsizei , GLboolean , const GLfloat *) );
664NV_GL_FUN( void , glUniformMatrix4fv , ( GLint , GLsizei , GLboolean , const GLfloat *) );
665NV_GL_FUN( void , glValidateProgram , ( GLuint ) );
666NV_GL_FUN( void , glVertexAttribPointer , ( GLuint , GLint , GLenum , GLboolean , GLsizei , const GLvoid *) );
667
668/* OpenGL 2.1 non-deprecated functions */
669NV_GL_FUN( void , glUniformMatrix2x3fv , ( GLint , GLsizei , GLboolean , const GLfloat *) );
670NV_GL_FUN( void , glUniformMatrix3x2fv , ( GLint , GLsizei , GLboolean , const GLfloat *) );
671NV_GL_FUN( void , glUniformMatrix2x4fv , ( GLint , GLsizei , GLboolean , const GLfloat *) );
672NV_GL_FUN( void , glUniformMatrix4x2fv , ( GLint , GLsizei , GLboolean , const GLfloat *) );
673NV_GL_FUN( void , glUniformMatrix3x4fv , ( GLint , GLsizei , GLboolean , const GLfloat *) );
674NV_GL_FUN( void , glUniformMatrix4x3fv , ( GLint , GLsizei , GLboolean , const GLfloat *) );
675
676#undef NV_GL_FUN
677
678}
679
680namespace nv {
681/* Dynamic load support */
682#       if defined( NV_GL_DYNAMIC )
683                bool load_gl_library( const char* path = NV_GL_PATH );
684#       else
685                inline bool load_gl_library( const char* path = "" ) { return true; }
686#       endif
687}
688
689#endif // NV_LIB_GL_HH
Note: See TracBrowser for help on using the repository browser.