annotate pytouhou/lib/opengl.pxd @ 600:2a748aa29c3f

Add a sample character.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Sat, 25 Oct 2014 18:52:56 +0200
parents 19d930f9e3f0
children 23b9418e4b2f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
1 # -*- encoding: utf-8 -*-
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
2 ##
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
3 ## Copyright (C) 2013 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
4 ##
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
5 ## This program is free software; you can redistribute it and/or modify
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
6 ## it under the terms of the GNU General Public License as published
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
7 ## by the Free Software Foundation; version 3 only.
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
8 ##
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
9 ## This program is distributed in the hope that it will be useful,
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
10 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
11 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
12 ## GNU General Public License for more details.
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
13 ##
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
14
450
2a352118c55a Add back Windows support, using GLEW for OpenGL.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 426
diff changeset
15
555
98380e4a0ee5 Switch to libepoxy instead of libGLEW, which will help with OpenGL portability.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 519
diff changeset
16 cdef extern from 'epoxy/gl.h' nogil:
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
17 ctypedef unsigned int GLuint
519
b18f0bd30ad0 Optimise background rendering.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 518
diff changeset
18 ctypedef unsigned short GLushort
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
19 ctypedef int GLint
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
20 ctypedef float GLfloat
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
21 ctypedef char GLboolean
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
22 ctypedef char GLchar
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
23 ctypedef unsigned int GLsizei
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
24 ctypedef unsigned int GLsizeiptr
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
25 ctypedef unsigned int GLbitfield
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
26 ctypedef void GLvoid
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
27
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
28 ctypedef enum GLenum_blendfunc 'GLenum':
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
29 GL_SRC_ALPHA
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
30 GL_ONE_MINUS_SRC_ALPHA
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
31 GL_ONE
462
a71b912b45b7 Render to framebuffers first, and reposition some interface elements in the game area.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 450
diff changeset
32 GL_ZERO
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
33
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
34 ctypedef enum GLenum_type 'GLenum':
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
35 GL_UNSIGNED_BYTE
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
36 GL_UNSIGNED_SHORT
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
37 GL_SHORT
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
38 GL_FLOAT
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
39 GL_UNSIGNED_SHORT_5_6_5
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
40 GL_UNSIGNED_SHORT_4_4_4_4
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
41 GL_UNSIGNED_SHORT_4_4_4_4_REV
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
42
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
43 ctypedef enum GLenum_format 'GLenum':
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
44 GL_BGRA
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
45 GL_RGBA
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
46 GL_RGB
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
47 GL_LUMINANCE
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
48
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
49 ctypedef enum GLenum_bitfield 'GLenum':
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
50 GL_COLOR_BUFFER_BIT
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
51 GL_DEPTH_BUFFER_BIT
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
52
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
53 ctypedef GLenum GLenum_textarget
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
54
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
55 ctypedef enum GLenum_texparam 'GLenum':
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
56 GL_TEXTURE_MIN_FILTER
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
57 GL_TEXTURE_MAG_FILTER
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
58
592
19d930f9e3f0 Add the screenshot feature, using P or Home like the original game.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 587
diff changeset
59 ctypedef enum GLenum_store 'GLenum':
19d930f9e3f0 Add the screenshot feature, using P or Home like the original game.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 587
diff changeset
60 GL_PACK_INVERT_MESA
19d930f9e3f0 Add the screenshot feature, using P or Home like the original game.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 587
diff changeset
61
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
62 ctypedef enum GLenum_client_state 'GLenum':
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
63 GL_COLOR_ARRAY
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
64 GL_VERTEX_ARRAY
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
65 GL_TEXTURE_COORD_ARRAY
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
66
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
67 ctypedef enum GLenum_matrix 'GLenum':
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
68 GL_MODELVIEW
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
69 GL_PROJECTION
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
70
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
71 ctypedef enum GLenum_fog 'GLenum':
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
72 GL_FOG_MODE
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
73 GL_FOG_START
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
74 GL_FOG_END
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
75 GL_FOG_COLOR
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
76
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
77 ctypedef enum GLenum_hint 'GLenum':
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
78 GL_FOG_HINT
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
79 GL_PERSPECTIVE_CORRECTION_HINT
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
80
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
81 ctypedef enum GLenum_quality 'GLenum':
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
82 GL_NICEST
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
83
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
84 ctypedef enum GLenum_mode 'GLenum':
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
85 GL_TRIANGLES
585
e0166cda75d5 Use primitive-restart to lower the size of our ibo, if supported.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 584
diff changeset
86 GL_TRIANGLE_STRIP
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
87
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
88 ctypedef enum GLenum_buffer 'GLenum':
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
89 GL_ARRAY_BUFFER
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
90 GL_ELEMENT_ARRAY_BUFFER
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
91
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
92 ctypedef enum GLenum_usage 'GLenum':
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
93 GL_STATIC_DRAW
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
94 GL_DYNAMIC_DRAW
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
95
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
96 ctypedef enum GLenum_shader 'GLenum':
424
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
97 GL_VERTEX_SHADER
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
98 GL_FRAGMENT_SHADER
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
99
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
100 ctypedef enum GLenum_shader_param 'GLenum':
424
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
101 GL_INFO_LOG_LENGTH
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
102 GL_COMPILE_STATUS
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
103 GL_LINK_STATUS
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
104
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
105 ctypedef enum GLenum_framebuffer 'GLenum':
462
a71b912b45b7 Render to framebuffers first, and reposition some interface elements in the game area.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 450
diff changeset
106 GL_FRAMEBUFFER
587
6c9d8a3d853f Use ARB_framebuffer_blit instead of a second rendering pass for scaled rendering, if supported, and remove framebuffer stuff from the Renderer.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 586
diff changeset
107 GL_DRAW_FRAMEBUFFER
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
108
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
109 ctypedef enum GLenum_renderbuffer 'GLenum':
462
a71b912b45b7 Render to framebuffers first, and reposition some interface elements in the game area.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 450
diff changeset
110 GL_RENDERBUFFER
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
111
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
112 ctypedef enum GLenum_renderbuffer_format 'GLenum':
559
1be60813f7cb Get OpenGL ES 2.0 to work thanks to libepoxy. PCB textures will need swizzle in the shaders since BGRA isn’t natively supported on GLES.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 558
diff changeset
113 GL_DEPTH_COMPONENT16
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
114
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
115 ctypedef enum GLenum_attachment 'GLenum':
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
116 GL_COLOR_ATTACHMENT0
462
a71b912b45b7 Render to framebuffers first, and reposition some interface elements in the game area.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 450
diff changeset
117 GL_DEPTH_ATTACHMENT
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
118
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
119 ctypedef enum GLenum_framebuffer_status 'GLenum':
462
a71b912b45b7 Render to framebuffers first, and reposition some interface elements in the game area.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 450
diff changeset
120 GL_FRAMEBUFFER_COMPLETE
a71b912b45b7 Render to framebuffers first, and reposition some interface elements in the game area.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 450
diff changeset
121
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
122 ctypedef enum GLenum_debug 'GLenum':
579
b8df946d394d Add grouping for OpenGL calls, making traces much more readable.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 559
diff changeset
123 GL_DEBUG_SOURCE_APPLICATION
b8df946d394d Add grouping for OpenGL calls, making traces much more readable.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 559
diff changeset
124
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
125 ctypedef enum GLenum:
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
126 GL_BLEND
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
127 GL_TEXTURE_2D
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
128 GL_DEPTH_TEST
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
129 GL_LINEAR
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
130 GL_SCISSOR_TEST
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
131 GL_FOG
585
e0166cda75d5 Use primitive-restart to lower the size of our ibo, if supported.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 584
diff changeset
132 GL_PRIMITIVE_RESTART
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
133
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
134 void glVertexPointer(GLint size, GLenum_type type_, GLsizei stride, GLvoid *pointer)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
135 void glTexCoordPointer(GLint size, GLenum_type type_, GLsizei stride, GLvoid *pointer)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
136 void glColorPointer(GLint size, GLenum_type type_, GLsizei stride, GLvoid *pointer)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
137
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
138 void glBlendFunc(GLenum_blendfunc sfactor, GLenum_blendfunc dfactor)
586
4b0593da29d5 Simplify framebuffer rendering with glDrawArrays, and move it all to its own file.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 585
diff changeset
139 void glDrawArrays(GLenum_mode mode, GLint first, GLsizei count)
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
140 void glDrawElements(GLenum_mode mode, GLsizei count, GLenum_type type_, const GLvoid *indices)
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
141 void glEnable(GLenum cap)
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
142 void glDisable(GLenum cap)
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
143
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
144 void glGenTextures(GLsizei n, GLuint *textures)
426
5d7bb2fd74f7 Never keep texture on the host when it has been uploaded, and prevent them from being decoded again.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 424
diff changeset
145 void glDeleteTextures(GLsizei n, const GLuint *textures)
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
146 void glBindTexture(GLenum_textarget target, GLuint texture)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
147 void glTexParameteri(GLenum_textarget target, GLenum_texparam pname, GLint param)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
148 void glTexImage2D(GLenum_textarget target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum_format format_, GLenum_type type_, const GLvoid *data)
592
19d930f9e3f0 Add the screenshot feature, using P or Home like the original game.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 587
diff changeset
149 void glGetTexImage(GLenum_textarget target, GLint level, GLenum_format format_, GLenum_type type_, GLvoid *img)
19d930f9e3f0 Add the screenshot feature, using P or Home like the original game.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 587
diff changeset
150 void glPixelStorei(GLenum_store pname, GLint param)
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
151
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
152 void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
153 void glClear(GLbitfield mask)
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
154 void glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
155 void glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
156 void glMatrixMode(GLenum_matrix mode)
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
157 void glLoadIdentity()
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
158 void glLoadMatrixf(const GLfloat * m)
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
159
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
160 void glFogi(GLenum_fog pname, GLint param)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
161 void glFogf(GLenum_fog pname, GLfloat param)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
162 void glFogfv(GLenum_fog pname, const GLfloat * params)
423
d8630c086926 Replace Pyglet with our own Cython OpenGL wrapper.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
diff changeset
163
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
164 void glHint(GLenum_hint target, GLenum_quality mode)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
165 void glEnableClientState(GLenum_client_state cap)
424
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
166
555
98380e4a0ee5 Switch to libepoxy instead of libGLEW, which will help with OpenGL portability.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 519
diff changeset
167 # Here start non-1.x declarations.
491
2276229282fd Fix gcc’s warnings with -Wall -Wextra.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 462
diff changeset
168
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
169 void glVertexAttribPointer(GLuint index, GLint size, GLenum_type type_, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
491
2276229282fd Fix gcc’s warnings with -Wall -Wextra.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 462
diff changeset
170 void glEnableVertexAttribArray(GLuint index)
2276229282fd Fix gcc’s warnings with -Wall -Wextra.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 462
diff changeset
171
2276229282fd Fix gcc’s warnings with -Wall -Wextra.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 462
diff changeset
172 void glGenBuffers(GLsizei n, GLuint * buffers)
2276229282fd Fix gcc’s warnings with -Wall -Wextra.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 462
diff changeset
173 void glDeleteBuffers(GLsizei n, const GLuint * buffers)
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
174 void glBindBuffer(GLenum_buffer target, GLuint buffer_)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
175 void glBufferData(GLenum_buffer target, GLsizeiptr size, const GLvoid *data, GLenum_usage usage)
491
2276229282fd Fix gcc’s warnings with -Wall -Wextra.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 462
diff changeset
176
424
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
177 GLuint glCreateProgram()
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
178 GLuint glCreateShader(GLenum_shader shaderType)
424
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
179 void glLinkProgram(GLuint program)
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
180 void glUseProgram(GLuint program)
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
181 void glGetProgramiv(GLuint program, GLenum_shader_param pname, GLint *params)
424
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
182 void glGetProgramInfoLog(GLuint program, GLsizei maxLength, GLsizei *length, GLchar *infoLog)
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
183
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
184 void glShaderSource(GLuint shader, GLsizei count, const GLchar **string, const GLint *length)
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
185 void glCompileShader(GLuint shader)
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
186 void glGetShaderiv(GLuint shader, GLenum_shader_param pname, GLint *params)
424
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
187 void glGetShaderInfoLog(GLuint shader, GLsizei maxLength, GLsizei *length, GLchar *infoLog)
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
188 void glAttachShader(GLuint program, GLuint shader)
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
189
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
190 GLint glGetUniformLocation(GLuint program, const GLchar *name)
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
191 void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name)
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
192 void glUniform1fv(GLint location, GLsizei count, const GLfloat *value)
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
193 void glUniform4fv(GLint location, GLsizei count, const GLfloat *value)
f4d76d3d6f2a Make the Shader class use cython too.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 423
diff changeset
194 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
462
a71b912b45b7 Render to framebuffers first, and reposition some interface elements in the game area.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 450
diff changeset
195
a71b912b45b7 Render to framebuffers first, and reposition some interface elements in the game area.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 450
diff changeset
196 void glGenFramebuffers(GLsizei n, GLuint *ids)
586
4b0593da29d5 Simplify framebuffer rendering with glDrawArrays, and move it all to its own file.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 585
diff changeset
197 void glDeleteFramebuffers(GLsizei n, GLuint *ids)
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
198 void glBindFramebuffer(GLenum_framebuffer target, GLuint framebuffer)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
199 void glFramebufferTexture2D(GLenum_framebuffer target, GLenum_attachment attachment, GLenum_textarget textarget, GLuint texture, GLint level)
586
4b0593da29d5 Simplify framebuffer rendering with glDrawArrays, and move it all to its own file.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 585
diff changeset
200
462
a71b912b45b7 Render to framebuffers first, and reposition some interface elements in the game area.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 450
diff changeset
201 void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
586
4b0593da29d5 Simplify framebuffer rendering with glDrawArrays, and move it all to its own file.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 585
diff changeset
202 void glDeleteRenderbuffers(GLsizei n, GLuint *renderbuffers)
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
203 void glBindRenderbuffer(GLenum_renderbuffer target, GLuint renderbuffer)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
204 void glRenderbufferStorage(GLenum_renderbuffer target, GLenum_renderbuffer_format internalformat, GLsizei width, GLsizei height)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
205 void glFramebufferRenderbuffer(GLenum_framebuffer target, GLenum_attachment attachment, GLenum_renderbuffer renderbuffertarget, GLuint renderbuffer)
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
206 GLenum_framebuffer_status glCheckFramebufferStatus(GLenum_framebuffer target)
587
6c9d8a3d853f Use ARB_framebuffer_blit instead of a second rendering pass for scaled rendering, if supported, and remove framebuffer stuff from the Renderer.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 586
diff changeset
207 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter_)
558
94725968dabb Use vertex array objects, to be compatible with OpenGL 3.1+ core profile.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 555
diff changeset
208
94725968dabb Use vertex array objects, to be compatible with OpenGL 3.1+ core profile.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 555
diff changeset
209 void glGenVertexArrays(GLsizei n, GLuint *arrays)
94725968dabb Use vertex array objects, to be compatible with OpenGL 3.1+ core profile.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 555
diff changeset
210 void glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
94725968dabb Use vertex array objects, to be compatible with OpenGL 3.1+ core profile.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 555
diff changeset
211 void glBindVertexArray(GLuint array)
579
b8df946d394d Add grouping for OpenGL calls, making traces much more readable.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 559
diff changeset
212
585
e0166cda75d5 Use primitive-restart to lower the size of our ibo, if supported.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 584
diff changeset
213 void glPrimitiveRestartIndex(GLuint index)
e0166cda75d5 Use primitive-restart to lower the size of our ibo, if supported.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 584
diff changeset
214
579
b8df946d394d Add grouping for OpenGL calls, making traces much more readable.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 559
diff changeset
215 # Debug
b8df946d394d Add grouping for OpenGL calls, making traces much more readable.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 559
diff changeset
216
584
538b52aafbca Split GLenum into subtypes, in order to add type safety when calling OpenGL functions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 583
diff changeset
217 void glPushDebugGroup(GLenum_debug source, GLuint id_, GLsizei length, const char *message)
579
b8df946d394d Add grouping for OpenGL calls, making traces much more readable.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 559
diff changeset
218 void glPopDebugGroup()
583
47cf4e3d159d Use libepoxy to discover the actual GL version we are using, and available extensions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 579
diff changeset
219
47cf4e3d159d Use libepoxy to discover the actual GL version we are using, and available extensions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 579
diff changeset
220 # Non-OpenGL libepoxy functions.
47cf4e3d159d Use libepoxy to discover the actual GL version we are using, and available extensions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 579
diff changeset
221
47cf4e3d159d Use libepoxy to discover the actual GL version we are using, and available extensions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 579
diff changeset
222 int epoxy_gl_version()
47cf4e3d159d Use libepoxy to discover the actual GL version we are using, and available extensions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 579
diff changeset
223 bint epoxy_has_gl_extension(const char *extension)
47cf4e3d159d Use libepoxy to discover the actual GL version we are using, and available extensions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 579
diff changeset
224 bint epoxy_is_desktop_gl()