opengl 0.9.2-x64-mingw32 → 0.10.0-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +8 -0
- data/{History.rdoc → History.md} +15 -0
- data/Manifest.txt +5 -1
- data/README.rdoc +25 -28
- data/Rakefile +125 -27
- data/examples/RedBook/font.rb +2 -2
- data/examples/RedBook/light.rb +2 -0
- data/examples/RedBook/stroke.rb +6 -6
- data/ext/opengl/GL/gl.h +2115 -0
- data/ext/opengl/GL/glext.h +11770 -0
- data/ext/opengl/common.h +116 -172
- data/ext/opengl/conv.h +2 -2
- data/ext/opengl/extconf.rb +3 -31
- data/ext/opengl/fptr_struct.h +912 -0
- data/ext/opengl/funcdef.h +29 -63
- data/ext/opengl/gl-1.0-1.1.c +918 -648
- data/ext/opengl/gl-1.2.c +13 -13
- data/ext/opengl/gl-1.3.c +68 -64
- data/ext/opengl/gl-1.4.c +64 -66
- data/ext/opengl/gl-1.5.c +32 -31
- data/ext/opengl/gl-2.0.c +126 -128
- data/ext/opengl/gl-2.1.c +8 -8
- data/ext/opengl/gl-3.0.c +102 -93
- data/ext/opengl/gl-enums.c +9 -29
- data/ext/opengl/gl-enums.h +31 -91
- data/ext/opengl/gl-error.c +15 -17
- data/ext/opengl/gl-error.h +4 -7
- data/ext/opengl/gl-ext-3dfx.c +2 -2
- data/ext/opengl/gl-ext-arb.c +176 -171
- data/ext/opengl/gl-ext-ati.c +4 -4
- data/ext/opengl/gl-ext-ext.c +151 -155
- data/ext/opengl/gl-ext-gremedy.c +4 -4
- data/ext/opengl/gl-ext-nv.c +141 -142
- data/ext/opengl/gl.c +121 -76
- data/ext/opengl/gl_buffer.c +44 -19
- data/ext/opengl/glimpl.c +187 -0
- data/ext/opengl/glimpl.h +47 -0
- data/ext/opengl/opengl.c +5 -3
- data/lib/opengl.rb +24 -4
- data/lib/opengl/2.0/opengl.so +0 -0
- data/lib/opengl/2.1/opengl.so +0 -0
- data/lib/opengl/2.2/opengl.so +0 -0
- data/lib/opengl/2.3/opengl.so +0 -0
- data/lib/opengl/2.4/opengl.so +0 -0
- data/lib/opengl/bindings_version.rb +4 -0
- data/lib/opengl/implementation.rb +38 -0
- data/opengl.gemspec +32 -0
- data/test/test_gl.rb +7 -0
- data/test/test_gl_21.rb +21 -21
- data/test/test_gl_ext_arb.rb +1 -1
- data/test/test_glimpl.rb +23 -0
- data/test/test_opengl_buffer.rb +2 -0
- data/utils/enumgen.rb +2 -2
- metadata +74 -61
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/ext/opengl/gl-types.h +0 -67
- metadata.gz.sig +0 -2
data/ext/opengl/gl-ext-ati.c
CHANGED
@@ -18,13 +18,13 @@
|
|
18
18
|
/* OpenGL ATI extensions */
|
19
19
|
|
20
20
|
/* #277 GL_ATI_draw_buffers */
|
21
|
-
static void (APIENTRY * fptr_glDrawBuffersATI)(GLsizei,const GLenum *);
|
22
21
|
static VALUE gl_DrawBuffersATI(VALUE obj,VALUE arg1)
|
23
22
|
{
|
24
23
|
GLsizei size;
|
25
24
|
GLenum *buffers;
|
25
|
+
DECL_GL_FUNC_PTR(GLvoid,glDrawBuffersATI,(GLsizei,const GLenum *));
|
26
26
|
LOAD_GL_FUNC(glDrawBuffersATI, "GL_ATI_draw_buffers");
|
27
|
-
Check_Type(arg1,T_ARRAY);
|
27
|
+
Check_Type(arg1,T_ARRAY);
|
28
28
|
size = (GLsizei)RARRAY_LENINT(arg1);
|
29
29
|
buffers = ALLOC_N(GLenum,size);
|
30
30
|
ary2cuint(arg1,buffers,size);
|
@@ -34,8 +34,8 @@ static VALUE gl_DrawBuffersATI(VALUE obj,VALUE arg1)
|
|
34
34
|
return Qnil;
|
35
35
|
}
|
36
36
|
|
37
|
-
void gl_init_functions_ext_ati(VALUE
|
37
|
+
void gl_init_functions_ext_ati(VALUE klass)
|
38
38
|
{
|
39
39
|
/* #277 GL_ATI_draw_buffers */
|
40
|
-
|
40
|
+
rb_define_method(klass, "glDrawBuffersATI", gl_DrawBuffersATI, 1);
|
41
41
|
}
|
data/ext/opengl/gl-ext-ext.c
CHANGED
@@ -30,7 +30,6 @@ GL_FUNC_GENOBJECTS_LOAD(GenTexturesEXT,"GL_EXT_texture_object")
|
|
30
30
|
GL_FUNC_DELETEOBJECTS_LOAD(DeleteTexturesEXT,"GL_EXT_texture_object")
|
31
31
|
GL_FUNC_LOAD_2(BindTextureEXT,GLvoid, GLenum,GLint, "GL_EXT_texture_object")
|
32
32
|
|
33
|
-
static void (APIENTRY * fptr_glPrioritizeTexturesEXT)(GLsizei,const GLuint *,const GLclampf *);
|
34
33
|
static VALUE
|
35
34
|
gl_PrioritizeTexturesEXT(obj,arg1,arg2)
|
36
35
|
VALUE obj,arg1,arg2;
|
@@ -38,6 +37,7 @@ VALUE obj,arg1,arg2;
|
|
38
37
|
GLuint *textures;
|
39
38
|
GLclampf *priorities;
|
40
39
|
GLsizei size;
|
40
|
+
DECL_GL_FUNC_PTR(GLvoid,glPrioritizeTexturesEXT,(GLsizei,const GLuint *,const GLclampf *));
|
41
41
|
LOAD_GL_FUNC(glPrioritizeTexturesEXT, "GL_EXT_texture_object");
|
42
42
|
Check_Type(arg1,T_ARRAY);
|
43
43
|
Check_Type(arg2,T_ARRAY);
|
@@ -54,7 +54,6 @@ VALUE obj,arg1,arg2;
|
|
54
54
|
return Qnil;
|
55
55
|
}
|
56
56
|
|
57
|
-
static GLboolean (APIENTRY * fptr_glAreTexturesResidentEXT)(GLsizei,const GLuint *,GLboolean *);
|
58
57
|
static VALUE
|
59
58
|
gl_AreTexturesResidentEXT(obj,arg1)
|
60
59
|
VALUE obj,arg1;
|
@@ -66,6 +65,7 @@ VALUE obj,arg1;
|
|
66
65
|
VALUE retary;
|
67
66
|
VALUE ary;
|
68
67
|
int i;
|
68
|
+
DECL_GL_FUNC_PTR(GLboolean,glAreTexturesResidentEXT,(GLsizei,const GLuint *,GLboolean *));
|
69
69
|
LOAD_GL_FUNC(glAreTexturesResidentEXT, "GL_EXT_texture_object");
|
70
70
|
ary = rb_Array(arg1);
|
71
71
|
size = (GLsizei)RARRAY_LENINT(ary);
|
@@ -95,12 +95,12 @@ GL_FUNC_LOAD_1(BlendEquationEXT,GLvoid, GLenum, "GL_EXT_blend_minmax")
|
|
95
95
|
/* #54 - GL_EXT_point_parameters */
|
96
96
|
GL_FUNC_LOAD_2(PointParameterfEXT,GLvoid, GLenum,GLfloat, "GL_EXT_point_parameters")
|
97
97
|
|
98
|
-
static void (APIENTRY * fptr_glPointParameterfvEXT)(GLenum,GLfloat *);
|
99
98
|
static VALUE gl_PointParameterfvEXT(VALUE obj,VALUE arg1,VALUE arg2)
|
100
99
|
{
|
101
100
|
GLfloat params[3] = {(GLfloat)0.0,(GLfloat)0.0,(GLfloat)0.0};
|
102
101
|
GLenum pname;
|
103
102
|
GLint size;
|
103
|
+
DECL_GL_FUNC_PTR(GLvoid,glPointParameterfvEXT,(GLenum,GLfloat *));
|
104
104
|
LOAD_GL_FUNC(glPointParameterfvEXT, "GL_EXT_point_parameters");
|
105
105
|
pname = NUM2UINT(arg1);
|
106
106
|
Check_Type(arg2,T_ARRAY);
|
@@ -125,10 +125,10 @@ GL_FUNC_LOAD_3(SecondaryColor3usEXT,GLvoid, GLushort,GLushort,GLushort, "GL_EXT_
|
|
125
125
|
GL_FUNC_LOAD_3(SecondaryColor3uiEXT,GLvoid, GLuint,GLuint,GLuint, "GL_EXT_secondary_color")
|
126
126
|
|
127
127
|
#define GLSECONDARYCOLOREXT_VFUNC(_name_,_type_,_conv_) \
|
128
|
-
static void (APIENTRY * fptr_gl##_name_)(_type_ *); \
|
129
128
|
VALUE gl_##_name_(VALUE obj,VALUE arg1) \
|
130
129
|
{ \
|
131
130
|
_type_ cary[3] = {0,0,0}; \
|
131
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(_type_ *)); \
|
132
132
|
LOAD_GL_FUNC(gl##_name_, "GL_EXT_secondary_color"); \
|
133
133
|
Check_Type(arg1,T_ARRAY); \
|
134
134
|
_conv_(arg1,cary,3); \
|
@@ -147,8 +147,6 @@ GLSECONDARYCOLOREXT_VFUNC(SecondaryColor3ubvEXT,GLubyte,ary2cubyte)
|
|
147
147
|
GLSECONDARYCOLOREXT_VFUNC(SecondaryColor3usvEXT,GLushort,ary2cushort)
|
148
148
|
#undef GLSECONDARYCOLOREXT_VFUNC
|
149
149
|
|
150
|
-
extern VALUE g_SecondaryColor_ptr;
|
151
|
-
static void (APIENTRY * fptr_glSecondaryColorPointerEXT)(GLint,GLenum,GLsizei,const GLvoid *);
|
152
150
|
static VALUE
|
153
151
|
gl_SecondaryColorPointerEXT(obj,arg1,arg2,arg3,arg4)
|
154
152
|
VALUE obj,arg1,arg2,arg3,arg4;
|
@@ -156,18 +154,19 @@ VALUE obj,arg1,arg2,arg3,arg4;
|
|
156
154
|
GLint size;
|
157
155
|
GLenum type;
|
158
156
|
GLsizei stride;
|
157
|
+
DECL_GL_FUNC_PTR(GLvoid,glSecondaryColorPointerEXT,(GLint,GLenum,GLsizei,const GLvoid *));
|
159
158
|
LOAD_GL_FUNC(glSecondaryColorPointerEXT, "GL_EXT_secondary_color");
|
160
159
|
size = (GLint)NUM2INT(arg1);
|
161
160
|
type = (GLenum)NUM2INT(arg2);
|
162
161
|
stride = (GLsizei)NUM2UINT(arg3);
|
163
|
-
if (
|
164
|
-
|
162
|
+
if (CHECK_BUFFER_BINDING(GL_ARRAY_BUFFER_BINDING)) {
|
163
|
+
SET_GLIMPL_VARIABLE(SecondaryColor_ptr, arg4);
|
165
164
|
fptr_glSecondaryColorPointerEXT(size,type, stride, (const GLvoid*)NUM2SIZET(arg4));
|
166
165
|
} else {
|
167
166
|
VALUE data;
|
168
167
|
data = pack_array_or_pass_string(type,arg4);
|
169
168
|
rb_str_freeze(data);
|
170
|
-
|
169
|
+
SET_GLIMPL_VARIABLE(SecondaryColor_ptr, data);
|
171
170
|
fptr_glSecondaryColorPointerEXT(size,type, stride, (const GLvoid*)RSTRING_PTR(data));
|
172
171
|
}
|
173
172
|
CHECK_GLERROR_FROM("glSecondaryColorPointerEXT");
|
@@ -179,7 +178,6 @@ GL_FUNC_LOAD_2(LockArraysEXT,GLvoid, GLint,GLint, "GL_EXT_compiled_vertex_array"
|
|
179
178
|
GL_FUNC_LOAD_0(UnlockArraysEXT,GLvoid, "GL_EXT_compiled_vertex_array")
|
180
179
|
|
181
180
|
/* #112 - GL_EXT_draw_range_elements */
|
182
|
-
static void (APIENTRY * fptr_glDrawRangeElementsEXT)(GLenum,GLuint,GLuint,GLsizei,GLenum,GLvoid*);
|
183
181
|
static VALUE
|
184
182
|
gl_DrawRangeElementsEXT(obj,arg1,arg2,arg3,arg4,arg5,arg6)
|
185
183
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6;
|
@@ -189,13 +187,14 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6;
|
|
189
187
|
GLuint end;
|
190
188
|
GLsizei count;
|
191
189
|
GLenum type;
|
190
|
+
DECL_GL_FUNC_PTR(GLvoid,glDrawRangeElementsEXT,(GLenum,GLuint,GLuint,GLsizei,GLenum,GLvoid*));
|
192
191
|
LOAD_GL_FUNC(glDrawRangeElementsEXT, "GL_EXT_draw_range_elements");
|
193
192
|
mode = (GLenum)NUM2INT(arg1);
|
194
193
|
start = (GLuint)NUM2UINT(arg2);
|
195
194
|
end = (GLuint)NUM2UINT(arg3);
|
196
195
|
count = (GLsizei)NUM2UINT(arg4);
|
197
196
|
type = (GLenum)NUM2INT(arg5);
|
198
|
-
if (
|
197
|
+
if (CHECK_BUFFER_BINDING(GL_ELEMENT_ARRAY_BUFFER_BINDING)) {
|
199
198
|
fptr_glDrawRangeElementsEXT(mode, start, end, count, type, (GLvoid *)NUM2SIZET(arg6));
|
200
199
|
} else {
|
201
200
|
VALUE data;
|
@@ -207,7 +206,6 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6;
|
|
207
206
|
}
|
208
207
|
|
209
208
|
/* #148 - GL_EXT_multi_draw_arrays */
|
210
|
-
static void (APIENTRY * fptr_glMultiDrawArraysEXT)(GLenum,GLint*,GLsizei*,GLsizei);
|
211
209
|
static VALUE
|
212
210
|
gl_MultiDrawArraysEXT(obj,arg1,arg2,arg3)
|
213
211
|
VALUE obj,arg1,arg2,arg3;
|
@@ -216,6 +214,7 @@ VALUE obj,arg1,arg2,arg3;
|
|
216
214
|
GLint *ary1;
|
217
215
|
GLsizei *ary2;
|
218
216
|
int len1,len2;
|
217
|
+
DECL_GL_FUNC_PTR(GLvoid,glMultiDrawArraysEXT,(GLenum,GLint*,GLsizei*,GLsizei));
|
219
218
|
LOAD_GL_FUNC(glMultiDrawArraysEXT, "GL_EXT_multi_draw_arrays");
|
220
219
|
len1 = (int)RARRAY_LENINT(arg2);
|
221
220
|
len2 = (int)RARRAY_LENINT(arg3);
|
@@ -233,7 +232,6 @@ VALUE obj,arg1,arg2,arg3;
|
|
233
232
|
return Qnil;
|
234
233
|
}
|
235
234
|
|
236
|
-
static void (APIENTRY * fptr_glMultiDrawElementsEXT)(GLenum,const GLsizei *,GLenum,GLvoid **,GLsizei);
|
237
235
|
static VALUE
|
238
236
|
gl_MultiDrawElementsEXT(argc,argv,obj)
|
239
237
|
int argc;
|
@@ -247,11 +245,12 @@ VALUE obj;
|
|
247
245
|
GLint size;
|
248
246
|
int i;
|
249
247
|
VALUE ary, args[4];
|
248
|
+
DECL_GL_FUNC_PTR(GLvoid,glMultiDrawElementsEXT,(GLenum,const GLsizei *,GLenum,GLvoid **,GLsizei));
|
250
249
|
LOAD_GL_FUNC(glMultiDrawElementsEXT, "GL_EXT_multi_draw_arrays");
|
251
250
|
switch (rb_scan_args(argc, argv, "31", &args[0], &args[1], &args[2],&args[3])) {
|
252
251
|
default:
|
253
252
|
case 3:
|
254
|
-
if (
|
253
|
+
if (CHECK_BUFFER_BINDING(GL_ELEMENT_ARRAY_BUFFER_BINDING))
|
255
254
|
rb_raise(rb_eArgError, "Element array buffer bound, but offsets array missing");
|
256
255
|
mode = (GLenum)NUM2INT(args[0]);
|
257
256
|
type = (GLenum)NUM2INT(args[1]);
|
@@ -272,7 +271,7 @@ VALUE obj;
|
|
272
271
|
xfree(indices);
|
273
272
|
break;
|
274
273
|
case 4:
|
275
|
-
if (!
|
274
|
+
if (!CHECK_BUFFER_BINDING(GL_ELEMENT_ARRAY_BUFFER_BINDING))
|
276
275
|
rb_raise(rb_eArgError, "Element array buffer not bound");
|
277
276
|
mode = (GLenum)NUM2INT(args[0]);
|
278
277
|
type = (GLenum)NUM2INT(args[1]);
|
@@ -303,10 +302,10 @@ GL_FUNC_LOAD_1(FogCoordfEXT,GLvoid, GLfloat, "GL_EXT_fog_coord")
|
|
303
302
|
GL_FUNC_LOAD_1(FogCoorddEXT,GLvoid, GLdouble, "GL_EXT_fog_coord")
|
304
303
|
|
305
304
|
#define GLFOGCOORD_VFUNC(_name_,_type_,_conv_) \
|
306
|
-
static void (APIENTRY * fptr_gl##_name_)(_type_ *); \
|
307
305
|
VALUE gl_##_name_(VALUE obj,VALUE arg1) \
|
308
306
|
{ \
|
309
307
|
_type_ cary = 0; \
|
308
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(_type_ *)); \
|
310
309
|
LOAD_GL_FUNC(gl##_name_, "GL_EXT_secondary_color"); \
|
311
310
|
Check_Type(arg1,T_ARRAY); \
|
312
311
|
_conv_(arg1,&cary,1); \
|
@@ -318,25 +317,24 @@ GLFOGCOORD_VFUNC(FogCoordfvEXT,GLfloat,ary2cflt)
|
|
318
317
|
GLFOGCOORD_VFUNC(FogCoorddvEXT,GLdouble,ary2cdbl)
|
319
318
|
#undef GLFOGCOORD_VFUNC
|
320
319
|
|
321
|
-
extern VALUE g_FogCoord_ptr;
|
322
|
-
static void (APIENTRY * fptr_glFogCoordPointerEXT)(GLenum,GLsizei,const GLvoid *);
|
323
320
|
static VALUE
|
324
321
|
gl_FogCoordPointerEXT(obj,arg1,arg2,arg3)
|
325
322
|
VALUE obj,arg1,arg2,arg3;
|
326
323
|
{
|
327
324
|
GLenum type;
|
328
325
|
GLsizei stride;
|
326
|
+
DECL_GL_FUNC_PTR(GLvoid,glFogCoordPointerEXT,(GLenum,GLsizei,const GLvoid *));
|
329
327
|
LOAD_GL_FUNC(glFogCoordPointerEXT, "GL_EXT_secondary_color");
|
330
328
|
type = (GLenum)NUM2INT(arg1);
|
331
329
|
stride = (GLsizei)NUM2UINT(arg2);
|
332
|
-
if (
|
333
|
-
|
330
|
+
if (CHECK_BUFFER_BINDING(GL_ARRAY_BUFFER_BINDING)) {
|
331
|
+
SET_GLIMPL_VARIABLE(FogCoord_ptr, arg3);
|
334
332
|
fptr_glFogCoordPointerEXT(type, stride, (const GLvoid*)NUM2SIZET(arg3));
|
335
333
|
} else {
|
336
334
|
VALUE data;
|
337
335
|
data = pack_array_or_pass_string(type,arg3);
|
338
336
|
rb_str_freeze(data);
|
339
|
-
|
337
|
+
SET_GLIMPL_VARIABLE(FogCoord_ptr, data);
|
340
338
|
fptr_glFogCoordPointerEXT(type, stride, (const GLvoid*)RSTRING_PTR(data));
|
341
339
|
}
|
342
340
|
CHECK_GLERROR_FROM("glFogCoordPointerEXT");
|
@@ -362,10 +360,10 @@ GL_FUNC_LOAD_4(RenderbufferStorageEXT,GLvoid, GLenum,GLenum,GLsizei,GLsizei, "GL
|
|
362
360
|
GL_FUNC_GENOBJECTS_LOAD(GenRenderbuffersEXT,"GL_EXT_framebuffer_object")
|
363
361
|
GL_FUNC_DELETEOBJECTS_LOAD(DeleteRenderbuffersEXT,"GL_EXT_framebuffer_object")
|
364
362
|
|
365
|
-
static void (APIENTRY * fptr_glGetRenderbufferParameterivEXT)(GLenum,GLenum,GLint *);
|
366
363
|
static VALUE gl_GetRenderbufferParameterivEXT(VALUE obj,VALUE arg1,VALUE arg2)
|
367
364
|
{
|
368
365
|
GLint param = 0;
|
366
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetRenderbufferParameterivEXT,(GLenum,GLenum,GLint *));
|
369
367
|
LOAD_GL_FUNC(glGetRenderbufferParameterivEXT, "GL_EXT_framebuffer_object");
|
370
368
|
fptr_glGetRenderbufferParameterivEXT(NUM2UINT(arg1),NUM2UINT(arg2),¶m);
|
371
369
|
CHECK_GLERROR_FROM("glGetRenderbufferParameterivEXT");
|
@@ -383,10 +381,10 @@ GL_FUNC_LOAD_6(FramebufferTexture3DEXT,GLvoid, GLenum,GLenum,GLenum,GLuint,GLint
|
|
383
381
|
|
384
382
|
GL_FUNC_LOAD_4(FramebufferRenderbufferEXT,GLvoid, GLuint,GLuint,GLuint,GLuint, "GL_EXT_framebuffer_object")
|
385
383
|
|
386
|
-
static void (APIENTRY * fptr_glGetFramebufferAttachmentParameterivEXT)(GLenum,GLenum,GLenum,GLint *);
|
387
384
|
static VALUE gl_GetFramebufferAttachmentParameterivEXT(VALUE obj,VALUE arg1, VALUE arg2, VALUE arg3)
|
388
385
|
{
|
389
386
|
GLint ret = 0;
|
387
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetFramebufferAttachmentParameterivEXT,(GLenum,GLenum,GLenum,GLint *));
|
390
388
|
LOAD_GL_FUNC(glGetFramebufferAttachmentParameterivEXT, "GL_EXT_framebuffer_object");
|
391
389
|
fptr_glGetFramebufferAttachmentParameterivEXT(NUM2UINT(arg1),NUM2UINT(arg2),NUM2UINT(arg3),&ret);
|
392
390
|
CHECK_GLERROR_FROM("glGetFramebufferAttachmentParameterivEXT");
|
@@ -407,30 +405,30 @@ GL_FUNC_LOAD_5(RenderbufferStorageMultisampleEXT,GLvoid, GLenum,GLsizei,GLenum,G
|
|
407
405
|
/* #319 - GL_EXT_timer_query */
|
408
406
|
|
409
407
|
#define GETQUERY_FUNC(_name_,_type_,_conv_) \
|
410
|
-
static void (APIENTRY * fptr_gl##_name_)(GLuint,GLenum,_type_ *); \
|
411
408
|
static VALUE gl_##_name_(VALUE obj,VALUE arg1,VALUE arg2) \
|
412
409
|
{ \
|
413
410
|
_type_ ret = 0; \
|
411
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLuint,GLenum,_type_ *)); \
|
414
412
|
LOAD_GL_FUNC(gl##_name_, "GL_EXT_timer_query"); \
|
415
413
|
fptr_gl##_name_(NUM2INT(arg1),NUM2INT(arg2),&ret); \
|
416
414
|
CHECK_GLERROR_FROM("gl" #_name_); \
|
417
415
|
return _conv_(NUM2INT(arg2),ret); \
|
418
416
|
}
|
419
417
|
|
420
|
-
GETQUERY_FUNC(GetQueryObjecti64vEXT,
|
421
|
-
GETQUERY_FUNC(GetQueryObjectui64vEXT,
|
418
|
+
GETQUERY_FUNC(GetQueryObjecti64vEXT,GLint64,cond_GLBOOL2RUBY_LL)
|
419
|
+
GETQUERY_FUNC(GetQueryObjectui64vEXT,GLuint64,cond_GLBOOL2RUBY_ULL)
|
422
420
|
#undef GETQUERY_FUNC
|
423
421
|
|
424
422
|
|
425
423
|
/* #320 - GL_EXT_gpu_program_parameters */
|
426
424
|
#define PROGRAMPARAM_MULTI_FUNC_V(_name_,_type_,_conv_,_extension_) \
|
427
|
-
static void (APIENTRY * fptr_gl##_name_)(GLenum,GLuint,GLsizei,const _type_ *); \
|
428
425
|
static VALUE \
|
429
426
|
gl_##_name_(obj,arg1,arg2,arg3) \
|
430
427
|
VALUE obj,arg1,arg2,arg3; \
|
431
428
|
{ \
|
432
429
|
_type_ *cary; \
|
433
430
|
GLsizei len; \
|
431
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLenum,GLuint,GLsizei,const _type_ *)); \
|
434
432
|
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
435
433
|
len = (GLsizei)RARRAY_LENINT(rb_Array(arg3)); \
|
436
434
|
if (len<=0 || (len % 4) != 0) \
|
@@ -461,12 +459,12 @@ GL_FUNC_LOAD_4(VertexAttribI3uiEXT,GLvoid, GLuint,GLuint,GLuint,GLuint, "GL_EXT_
|
|
461
459
|
GL_FUNC_LOAD_5(VertexAttribI4uiEXT,GLvoid, GLuint,GLuint,GLuint,GLuint,GLuint, "GL_EXT_gpu_shader4")
|
462
460
|
|
463
461
|
#define GLVERTEXATTRIB_VFUNC(_name_,_type_,_conv_,_size_) \
|
464
|
-
static void (APIENTRY * fptr_gl##_name_)(GLuint,const _type_ *); \
|
465
462
|
static VALUE \
|
466
463
|
gl_##_name_(obj,arg1,arg2) \
|
467
464
|
VALUE obj,arg1,arg2; \
|
468
465
|
{ \
|
469
466
|
_type_ value[_size_]; \
|
467
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLuint,const _type_ *)); \
|
470
468
|
LOAD_GL_FUNC(gl##_name_, "GL_EXT_gpu_shader4"); \
|
471
469
|
_conv_(arg2,value,_size_); \
|
472
470
|
fptr_gl##_name_(NUM2UINT(arg1),value); \
|
@@ -489,7 +487,6 @@ GLVERTEXATTRIB_VFUNC(VertexAttribI4usvEXT,GLushort,ary2cushort,4)
|
|
489
487
|
#undef GLVERTEXATTRIB_VFUNC
|
490
488
|
|
491
489
|
#define GETVERTEXATTRIB_FUNC(_name_,_type_,_conv_,_extension_) \
|
492
|
-
static void (APIENTRY * fptr_gl##_name_)(GLuint,GLenum,_type_ *); \
|
493
490
|
static VALUE \
|
494
491
|
gl_##_name_(obj,arg1,arg2) \
|
495
492
|
VALUE obj,arg1,arg2; \
|
@@ -498,6 +495,7 @@ VALUE obj,arg1,arg2; \
|
|
498
495
|
GLenum pname; \
|
499
496
|
_type_ params[4] = {0,0,0,0}; \
|
500
497
|
GLint size; \
|
498
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLuint,GLenum,_type_ *)); \
|
501
499
|
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
502
500
|
index = (GLuint)NUM2UINT(arg1); \
|
503
501
|
pname = (GLenum)NUM2INT(arg2); \
|
@@ -513,9 +511,6 @@ GETVERTEXATTRIB_FUNC(GetVertexAttribIivEXT,GLint,cond_GLBOOL2RUBY,"GL_EXT_gpu_sh
|
|
513
511
|
GETVERTEXATTRIB_FUNC(GetVertexAttribIuivEXT,GLuint,cond_GLBOOL2RUBY_U,"GL_EXT_gpu_shader4")
|
514
512
|
#undef GETVERTEXATTRIB_FUNC
|
515
513
|
|
516
|
-
extern VALUE g_VertexAttrib_ptr[];
|
517
|
-
|
518
|
-
static void (APIENTRY * fptr_glVertexAttribIPointerEXT)(GLuint,GLint,GLenum,GLsizei,const GLvoid *);
|
519
514
|
static VALUE gl_VertexAttribIPointerEXT(VALUE obj,VALUE arg1,VALUE arg2,VALUE arg3,VALUE arg4,VALUE arg5)
|
520
515
|
{
|
521
516
|
GLuint index;
|
@@ -523,6 +518,7 @@ static VALUE gl_VertexAttribIPointerEXT(VALUE obj,VALUE arg1,VALUE arg2,VALUE ar
|
|
523
518
|
GLenum type;
|
524
519
|
GLsizei stride;
|
525
520
|
|
521
|
+
DECL_GL_FUNC_PTR(GLvoid,glVertexAttribIPointerEXT,(GLuint,GLint,GLenum,GLsizei,const GLvoid *));
|
526
522
|
LOAD_GL_FUNC(glVertexAttribIPointerEXT, "GL_EXT_gpu_shader4");
|
527
523
|
|
528
524
|
index = (GLuint)NUM2UINT(arg1);
|
@@ -532,14 +528,14 @@ static VALUE gl_VertexAttribIPointerEXT(VALUE obj,VALUE arg1,VALUE arg2,VALUE ar
|
|
532
528
|
if (index>_MAX_VERTEX_ATTRIBS)
|
533
529
|
rb_raise(rb_eArgError, "Index too large, maximum allowed value '%i'",_MAX_VERTEX_ATTRIBS);
|
534
530
|
|
535
|
-
if (
|
536
|
-
|
531
|
+
if (CHECK_BUFFER_BINDING(GL_ARRAY_BUFFER_BINDING)) {
|
532
|
+
SET_GLIMPL_VARIABLE(VertexAttrib_ptr[index], arg5);
|
537
533
|
fptr_glVertexAttribIPointerEXT(index,size,type,stride,(GLvoid *)NUM2SIZET(arg5));
|
538
534
|
} else {
|
539
535
|
VALUE data;
|
540
536
|
data = pack_array_or_pass_string(type,arg5);
|
541
537
|
rb_str_freeze(data);
|
542
|
-
|
538
|
+
SET_GLIMPL_VARIABLE(VertexAttrib_ptr[index], data);
|
543
539
|
fptr_glVertexAttribIPointerEXT(index,size,type,stride,(GLvoid *)RSTRING_PTR(data));
|
544
540
|
}
|
545
541
|
|
@@ -553,7 +549,6 @@ GL_FUNC_LOAD_4(Uniform3uiEXT,GLvoid, GLint,GLuint,GLuint,GLuint, "GL_EXT_gpu_sha
|
|
553
549
|
GL_FUNC_LOAD_5(Uniform4uiEXT,GLvoid, GLint,GLuint,GLuint,GLuint,GLuint, "GL_EXT_gpu_shader4")
|
554
550
|
|
555
551
|
#define GLUNIFORM_VFUNC(_name_,_type_,_conv_,_size_) \
|
556
|
-
static void (APIENTRY * fptr_gl##_name_)(GLint,GLsizei,const _type_ *); \
|
557
552
|
static VALUE \
|
558
553
|
gl_##_name_(obj,arg1,arg2) \
|
559
554
|
VALUE obj,arg1,arg2; \
|
@@ -561,6 +556,7 @@ VALUE obj,arg1,arg2; \
|
|
561
556
|
GLint location; \
|
562
557
|
GLsizei count; \
|
563
558
|
_type_ *value; \
|
559
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLint,GLsizei,const _type_ *)); \
|
564
560
|
LOAD_GL_FUNC(gl##_name_, "GL_EXT_gpu_shader4"); \
|
565
561
|
Check_Type(arg2,T_ARRAY); \
|
566
562
|
count = (GLsizei)RARRAY_LENINT(arg2); \
|
@@ -581,9 +577,7 @@ GLUNIFORM_VFUNC(Uniform3uivEXT,GLuint,ary2cuint,3)
|
|
581
577
|
GLUNIFORM_VFUNC(Uniform4uivEXT,GLuint,ary2cuint,4)
|
582
578
|
#undef GLUNIFORM_VFUNC
|
583
579
|
|
584
|
-
static void (APIENTRY * fptr_glGetActiveUniformARB)(GLuint,GLuint,GLsizei,GLsizei*,GLint*,GLenum*,GLchar*);
|
585
580
|
#define GETUNIFORM_FUNC(_name_,_type_) \
|
586
|
-
static void (APIENTRY * fptr_gl##_name_)(GLuint,GLint,_type_ *); \
|
587
581
|
static VALUE \
|
588
582
|
gl_##_name_(obj,arg1,arg2) \
|
589
583
|
VALUE obj,arg1,arg2; \
|
@@ -595,6 +589,8 @@ VALUE obj,arg1,arg2; \
|
|
595
589
|
GLenum uniform_type = 0; \
|
596
590
|
GLint uniform_size = 0; \
|
597
591
|
\
|
592
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLuint,GLint,_type_ *)); \
|
593
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetActiveUniformARB,(GLuint,GLuint,GLsizei,GLsizei*,GLint*,GLenum*,GLchar*)); \
|
598
594
|
LOAD_GL_FUNC(gl##_name_, "GL_EXT_gpu_shader4"); \
|
599
595
|
LOAD_GL_FUNC(glGetActiveUniformARB, "GL_ARB_shader_objects"); \
|
600
596
|
program = (GLuint)NUM2UINT(arg1); \
|
@@ -615,9 +611,9 @@ VALUE obj,arg1,arg2; \
|
|
615
611
|
GETUNIFORM_FUNC(GetUniformuivEXT,GLuint)
|
616
612
|
#undef GETUNIFORM_FUNC
|
617
613
|
|
618
|
-
static void (APIENTRY * fptr_glBindFragDataLocationEXT)(GLuint,GLuint,const GLchar *);
|
619
614
|
static VALUE gl_BindFragDataLocationEXT(VALUE obj,VALUE arg1,VALUE arg2,VALUE arg3)
|
620
615
|
{
|
616
|
+
DECL_GL_FUNC_PTR(GLvoid,glBindFragDataLocationEXT,(GLuint,GLuint,const GLchar *));
|
621
617
|
LOAD_GL_FUNC(glBindFragDataLocationEXT, "GL_EXT_gpu_shader4");
|
622
618
|
Check_Type(arg3,T_STRING);
|
623
619
|
fptr_glBindFragDataLocationEXT(NUM2UINT(arg1),NUM2UINT(arg2),RSTRING_PTR(arg3));
|
@@ -625,10 +621,10 @@ static VALUE gl_BindFragDataLocationEXT(VALUE obj,VALUE arg1,VALUE arg2,VALUE ar
|
|
625
621
|
return Qnil;
|
626
622
|
}
|
627
623
|
|
628
|
-
static GLint (APIENTRY * fptr_glGetFragDataLocationEXT)(GLuint,const GLchar *);
|
629
624
|
static VALUE gl_GetFragDataLocationEXT(VALUE obj,VALUE arg1,VALUE arg2)
|
630
625
|
{
|
631
626
|
GLint ret;
|
627
|
+
DECL_GL_FUNC_PTR(GLint,glGetFragDataLocationEXT,(GLuint,const GLchar *));
|
632
628
|
LOAD_GL_FUNC(glGetFragDataLocationEXT, "GL_EXT_gpu_shader4");
|
633
629
|
Check_Type(arg2,T_STRING);
|
634
630
|
ret = fptr_glGetFragDataLocationEXT(NUM2UINT(arg1),RSTRING_PTR(arg2));
|
@@ -639,7 +635,6 @@ static VALUE gl_GetFragDataLocationEXT(VALUE obj,VALUE arg1,VALUE arg2)
|
|
639
635
|
/* #327 - GL_EXT_draw_instanced */
|
640
636
|
GL_FUNC_LOAD_4(DrawArraysInstancedEXT,GLvoid, GLenum,GLint,GLsizei,GLsizei, "GL_EXT_draw_instanced")
|
641
637
|
|
642
|
-
static void (APIENTRY * fptr_glDrawElementsInstancedEXT)(GLenum,GLsizei,GLenum,const GLvoid *,GLsizei);
|
643
638
|
static VALUE gl_DrawElementsInstancedEXT(obj,arg1,arg2,arg3,arg4,arg5)
|
644
639
|
VALUE obj,arg1,arg2,arg3,arg4,arg5;
|
645
640
|
{
|
@@ -647,12 +642,13 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5;
|
|
647
642
|
GLsizei count;
|
648
643
|
GLenum type;
|
649
644
|
GLsizei primcount;
|
645
|
+
DECL_GL_FUNC_PTR(GLvoid,glDrawElementsInstancedEXT,(GLenum,GLsizei,GLenum,const GLvoid *,GLsizei));
|
650
646
|
LOAD_GL_FUNC(glDrawElementsInstancedEXT, "GL_EXT_draw_instanced");
|
651
647
|
mode = (GLenum)NUM2INT(arg1);
|
652
648
|
count = (GLsizei)NUM2UINT(arg2);
|
653
649
|
type = (GLenum)NUM2INT(arg3);
|
654
650
|
primcount = (GLsizei)NUM2INT(arg5);
|
655
|
-
if (
|
651
|
+
if (CHECK_BUFFER_BINDING(GL_ELEMENT_ARRAY_BUFFER_BINDING)) {
|
656
652
|
fptr_glDrawElementsInstancedEXT(mode, count, type, (const GLvoid*)NUM2SIZET(arg4), primcount);
|
657
653
|
} else {
|
658
654
|
VALUE data;
|
@@ -671,7 +667,6 @@ GL_FUNC_LOAD_4(ClearColorIiEXT,GLvoid, GLint,GLint,GLint,GLint, "GL_EXT_texture_
|
|
671
667
|
GL_FUNC_LOAD_4(ClearColorIuiEXT,GLvoid, GLuint,GLuint,GLuint,GLuint, "GL_EXT_texture_integer")
|
672
668
|
|
673
669
|
#define TEXPARAMETER_VFUNC(_name_,_type_,_conv_) \
|
674
|
-
static void (APIENTRY * fptr_gl##_name_)(GLenum,GLenum,_type_ *); \
|
675
670
|
static VALUE \
|
676
671
|
gl_##_name_(obj,arg1,arg2,arg3) \
|
677
672
|
VALUE obj,arg1,arg2,arg3; \
|
@@ -679,6 +674,7 @@ VALUE obj,arg1,arg2,arg3; \
|
|
679
674
|
GLenum target; \
|
680
675
|
GLenum pname; \
|
681
676
|
_type_ params[4] = {0,0,0,0}; \
|
677
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLenum,GLenum,_type_ *)); \
|
682
678
|
LOAD_GL_FUNC(gl##_name_, "GL_EXT_texture_integer"); \
|
683
679
|
target = (GLenum)NUM2UINT(arg1); \
|
684
680
|
pname = (GLenum)NUM2UINT(arg2); \
|
@@ -694,7 +690,6 @@ TEXPARAMETER_VFUNC(TexParameterIuivEXT,GLuint,ary2cuint)
|
|
694
690
|
#undef TEXPARAMETER_VFUNC
|
695
691
|
|
696
692
|
#define GETTEXPARAMETER_VFUNC(_name_,_type_,_conv_) \
|
697
|
-
static void (APIENTRY * fptr_gl##_name_)(GLenum,GLenum,_type_ *); \
|
698
693
|
static VALUE \
|
699
694
|
gl_##_name_(obj,arg1,arg2) \
|
700
695
|
VALUE obj,arg1,arg2; \
|
@@ -703,6 +698,7 @@ VALUE obj,arg1,arg2; \
|
|
703
698
|
GLenum pname; \
|
704
699
|
_type_ params[4] = {0,0,0,0}; \
|
705
700
|
int size; \
|
701
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLenum,GLenum,_type_ *)); \
|
706
702
|
LOAD_GL_FUNC(gl##_name_, "GL_EXT_texture_integer"); \
|
707
703
|
target = (GLenum)NUM2INT(arg1); \
|
708
704
|
pname = (GLenum)NUM2INT(arg2); \
|
@@ -725,165 +721,165 @@ GETTEXPARAMETER_VFUNC(GetTexParameterIivEXT,GLint,cond_GLBOOL2RUBY)
|
|
725
721
|
GETTEXPARAMETER_VFUNC(GetTexParameterIuivEXT,GLuint,cond_GLBOOL2RUBY_U)
|
726
722
|
#undef GETTEXPARAMETER_VFUNC
|
727
723
|
|
728
|
-
void gl_init_functions_ext_ext(VALUE
|
724
|
+
void gl_init_functions_ext_ext(VALUE klass)
|
729
725
|
{
|
730
726
|
/* #2 - GL_EXT_blend_color */
|
731
|
-
|
727
|
+
rb_define_method(klass, "glBlendColorEXT", gl_BlendColorEXT, 4);
|
732
728
|
|
733
729
|
/* #3 - GL_EXT_polygon_offset */
|
734
|
-
|
730
|
+
rb_define_method(klass, "glPolygonOffsetEXT", gl_PolygonOffsetEXT, 2);
|
735
731
|
|
736
732
|
/* #20 - GL_EXT_texture_object */
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
733
|
+
rb_define_method(klass, "glGenTexturesEXT", gl_GenTexturesEXT, 1);
|
734
|
+
rb_define_method(klass, "glDeleteTexturesEXT", gl_DeleteTexturesEXT, 1);
|
735
|
+
rb_define_method(klass, "glBindTextureEXT", gl_BindTextureEXT, 2);
|
736
|
+
rb_define_method(klass, "glPrioritizeTexturesEXT", gl_PrioritizeTexturesEXT, 2);
|
737
|
+
rb_define_method(klass, "glAreTexturesResidentEXT", gl_AreTexturesResidentEXT, 1);
|
738
|
+
rb_define_method(klass, "glIsTextureEXT", gl_IsTextureEXT, 1);
|
743
739
|
|
744
740
|
/* #37 - GL_EXT_blend_minmax */
|
745
|
-
|
741
|
+
rb_define_method(klass, "glBlendEquationEXT", gl_BlendEquationEXT, 1);
|
746
742
|
|
747
743
|
/* #54 - GL_EXT_point_parameters */
|
748
|
-
|
749
|
-
|
744
|
+
rb_define_method(klass, "glPointParameterfEXT", gl_PointParameterfEXT, 2);
|
745
|
+
rb_define_method(klass, "glPointParameterfvEXT", gl_PointParameterfvEXT, 2);
|
750
746
|
|
751
747
|
/* #97 - GL_EXT_compiled_vertex_array */
|
752
|
-
|
753
|
-
|
748
|
+
rb_define_method(klass, "glLockArraysEXT", gl_LockArraysEXT, 2);
|
749
|
+
rb_define_method(klass, "glUnlockArraysEXT", gl_UnlockArraysEXT, 0);
|
754
750
|
|
755
751
|
/* #112 - GL_EXT_draw_range_elements */
|
756
|
-
|
752
|
+
rb_define_method(klass, "glDrawRangeElementsEXT", gl_DrawRangeElementsEXT, 6);
|
757
753
|
|
758
754
|
/* #145 - GL_EXT_secondary_color */
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
755
|
+
rb_define_method(klass, "glSecondaryColor3bEXT", gl_SecondaryColor3bEXT, 3);
|
756
|
+
rb_define_method(klass, "glSecondaryColor3dEXT", gl_SecondaryColor3dEXT, 3);
|
757
|
+
rb_define_method(klass, "glSecondaryColor3fEXT", gl_SecondaryColor3fEXT, 3);
|
758
|
+
rb_define_method(klass, "glSecondaryColor3iEXT", gl_SecondaryColor3iEXT, 3);
|
759
|
+
rb_define_method(klass, "glSecondaryColor3sEXT", gl_SecondaryColor3sEXT, 3);
|
760
|
+
rb_define_method(klass, "glSecondaryColor3ubEXT", gl_SecondaryColor3ubEXT, 3);
|
761
|
+
rb_define_method(klass, "glSecondaryColor3uiEXT", gl_SecondaryColor3uiEXT, 3);
|
762
|
+
rb_define_method(klass, "glSecondaryColor3usEXT", gl_SecondaryColor3usEXT, 3);
|
763
|
+
rb_define_method(klass, "glSecondaryColor3bvEXT", gl_SecondaryColor3bvEXT, 1);
|
764
|
+
rb_define_method(klass, "glSecondaryColor3dvEXT", gl_SecondaryColor3dvEXT, 1);
|
765
|
+
rb_define_method(klass, "glSecondaryColor3fvEXT", gl_SecondaryColor3fvEXT, 1);
|
766
|
+
rb_define_method(klass, "glSecondaryColor3ivEXT", gl_SecondaryColor3ivEXT, 1);
|
767
|
+
rb_define_method(klass, "glSecondaryColor3svEXT", gl_SecondaryColor3svEXT, 1);
|
768
|
+
rb_define_method(klass, "glSecondaryColor3ubvEXT", gl_SecondaryColor3ubvEXT, 1);
|
769
|
+
rb_define_method(klass, "glSecondaryColor3uivEXT", gl_SecondaryColor3uivEXT, 1);
|
770
|
+
rb_define_method(klass, "glSecondaryColor3usvEXT", gl_SecondaryColor3usvEXT, 1);
|
771
|
+
rb_define_method(klass, "glSecondaryColorPointerEXT", gl_SecondaryColorPointerEXT, 4);
|
776
772
|
|
777
773
|
/* #148 - GL_EXT_multi_draw_arrays */
|
778
|
-
|
779
|
-
|
774
|
+
rb_define_method(klass, "glMultiDrawArraysEXT", gl_MultiDrawArraysEXT, 3);
|
775
|
+
rb_define_method(klass, "glMultiDrawElementsEXT", gl_MultiDrawElementsEXT, -1);
|
780
776
|
|
781
777
|
/* #149 - GL_EXT_fog_coord */
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
778
|
+
rb_define_method(klass, "glFogCoordfEXT", gl_FogCoordfEXT, 1);
|
779
|
+
rb_define_method(klass, "glFogCoorddEXT", gl_FogCoorddEXT, 1);
|
780
|
+
rb_define_method(klass, "glFogCoordfvEXT", gl_FogCoordfvEXT, 1);
|
781
|
+
rb_define_method(klass, "glFogCoorddvEXT", gl_FogCoorddvEXT, 1);
|
782
|
+
rb_define_method(klass, "glFogCoordPointerEXT", gl_FogCoordPointerEXT, 3);
|
787
783
|
|
788
784
|
/* #173 - GL_EXT_blend_func_separate */
|
789
|
-
|
785
|
+
rb_define_method(klass, "glBlendFuncSeparateEXT", gl_BlendFuncSeparateEXT, 4);
|
790
786
|
|
791
787
|
/* #268 - GL_EXT_stencil_two_side */
|
792
|
-
|
788
|
+
rb_define_method(klass, "glActiveStencilFaceEXT", gl_ActiveStencilFaceEXT, 1);
|
793
789
|
|
794
790
|
/* #297 - GL_EXT_depth_bounds_test */
|
795
|
-
|
791
|
+
rb_define_method(klass, "glDepthBoundsEXT", gl_DepthBoundsEXT, 2);
|
796
792
|
|
797
793
|
/* #299 - GL_EXT_blend_equation_separate */
|
798
|
-
|
794
|
+
rb_define_method(klass, "glBlendEquationSeparateEXT", gl_BlendEquationSeparateEXT, 2);
|
799
795
|
|
800
796
|
/* #310 - GL_EXT_framebuffer_object */
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
797
|
+
rb_define_method(klass, "glIsRenderbufferEXT", gl_IsRenderbufferEXT, 1);
|
798
|
+
rb_define_method(klass, "glBindRenderbufferEXT", gl_BindRenderbufferEXT, 2);
|
799
|
+
rb_define_method(klass, "glDeleteRenderbuffersEXT", gl_DeleteRenderbuffersEXT, 1);
|
800
|
+
rb_define_method(klass, "glGenRenderbuffersEXT", gl_GenRenderbuffersEXT, 1);
|
801
|
+
rb_define_method(klass, "glRenderbufferStorageEXT", gl_RenderbufferStorageEXT, 4);
|
802
|
+
rb_define_method(klass, "glGetRenderbufferParameterivEXT", gl_GetRenderbufferParameterivEXT, 2);
|
803
|
+
rb_define_method(klass, "glIsFramebufferEXT", gl_IsFramebufferEXT, 1);
|
804
|
+
rb_define_method(klass, "glBindFramebufferEXT", gl_BindFramebufferEXT, 2);
|
805
|
+
rb_define_method(klass, "glDeleteFramebuffersEXT", gl_DeleteFramebuffersEXT, 1);
|
806
|
+
rb_define_method(klass, "glGenFramebuffersEXT", gl_GenFramebuffersEXT, 1);
|
807
|
+
rb_define_method(klass, "glCheckFramebufferStatusEXT", gl_CheckFramebufferStatusEXT, 1);
|
808
|
+
rb_define_method(klass, "glFramebufferTexture1DEXT", gl_FramebufferTexture1DEXT, 5);
|
809
|
+
rb_define_method(klass, "glFramebufferTexture2DEXT", gl_FramebufferTexture2DEXT, 5);
|
810
|
+
rb_define_method(klass, "glFramebufferTexture3DEXT", gl_FramebufferTexture3DEXT, 6);
|
811
|
+
rb_define_method(klass, "glFramebufferRenderbufferEXT", gl_FramebufferRenderbufferEXT, 4);
|
812
|
+
rb_define_method(klass, "glGetFramebufferAttachmentParameterivEXT", gl_GetFramebufferAttachmentParameterivEXT, 3);
|
813
|
+
rb_define_method(klass, "glGenerateMipmapEXT", gl_GenerateMipmapEXT, 1);
|
818
814
|
|
819
815
|
/* #314 - GL_EXT_stencil_clear_tag */
|
820
|
-
|
816
|
+
rb_define_method(klass, "glStencilClearTagEXT", gl_StencilClearTagEXT, 2);
|
821
817
|
|
822
818
|
/* #316 - GL_EXT_framebuffer_blit */
|
823
|
-
|
819
|
+
rb_define_method(klass, "glBlitFramebufferEXT", gl_BlitFramebufferEXT, 10);
|
824
820
|
|
825
821
|
/* #317 - GL_EXT_framebuffer_multisample */
|
826
|
-
|
822
|
+
rb_define_method(klass, "glRenderbufferStorageMultisampleEXT", gl_RenderbufferStorageMultisampleEXT, 5);
|
827
823
|
|
828
824
|
/* #319 - GL_EXT_timer_query */
|
829
|
-
|
830
|
-
|
825
|
+
rb_define_method(klass, "glGetQueryObjecti64vEXT", gl_GetQueryObjecti64vEXT, 2);
|
826
|
+
rb_define_method(klass, "glGetQueryObjectui64vEXT", gl_GetQueryObjectui64vEXT, 2);
|
831
827
|
|
832
828
|
/* #320 - GL_EXT_gpu_program_parameters */
|
833
|
-
|
834
|
-
|
829
|
+
rb_define_method(klass, "glProgramEnvParameters4fvEXT", gl_ProgramEnvParameters4fvEXT, 3);
|
830
|
+
rb_define_method(klass, "glProgramLocalParameters4fvEXT", gl_ProgramLocalParameters4fvEXT, 3);
|
835
831
|
|
836
832
|
/* #324 - GL_EXT_geometry_shader4 */
|
837
|
-
|
833
|
+
rb_define_method(klass, "glProgramParameteriEXT", gl_ProgramParameteriEXT, 3);
|
838
834
|
|
839
835
|
/* #326 - GL_EXT_gpu_shader4 */
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
836
|
+
rb_define_method(klass, "glVertexAttribI1iEXT", gl_VertexAttribI1iEXT, 2);
|
837
|
+
rb_define_method(klass, "glVertexAttribI2iEXT", gl_VertexAttribI2iEXT, 3);
|
838
|
+
rb_define_method(klass, "glVertexAttribI3iEXT", gl_VertexAttribI3iEXT, 4);
|
839
|
+
rb_define_method(klass, "glVertexAttribI4iEXT", gl_VertexAttribI4iEXT, 5);
|
840
|
+
rb_define_method(klass, "glVertexAttribI1uiEXT", gl_VertexAttribI1uiEXT, 2);
|
841
|
+
rb_define_method(klass, "glVertexAttribI2uiEXT", gl_VertexAttribI2uiEXT, 3);
|
842
|
+
rb_define_method(klass, "glVertexAttribI3uiEXT", gl_VertexAttribI3uiEXT, 4);
|
843
|
+
rb_define_method(klass, "glVertexAttribI4uiEXT", gl_VertexAttribI4uiEXT, 5);
|
844
|
+
rb_define_method(klass, "glVertexAttribI1ivEXT", gl_VertexAttribI1ivEXT, 2);
|
845
|
+
rb_define_method(klass, "glVertexAttribI2ivEXT", gl_VertexAttribI2ivEXT, 2);
|
846
|
+
rb_define_method(klass, "glVertexAttribI3ivEXT", gl_VertexAttribI3ivEXT, 2);
|
847
|
+
rb_define_method(klass, "glVertexAttribI4ivEXT", gl_VertexAttribI4ivEXT, 2);
|
848
|
+
rb_define_method(klass, "glVertexAttribI1uivEXT", gl_VertexAttribI1uivEXT, 2);
|
849
|
+
rb_define_method(klass, "glVertexAttribI2uivEXT", gl_VertexAttribI2uivEXT, 2);
|
850
|
+
rb_define_method(klass, "glVertexAttribI3uivEXT", gl_VertexAttribI3uivEXT, 2);
|
851
|
+
rb_define_method(klass, "glVertexAttribI4uivEXT", gl_VertexAttribI4uivEXT, 2);
|
852
|
+
rb_define_method(klass, "glVertexAttribI4bvEXT", gl_VertexAttribI4bvEXT, 2);
|
853
|
+
rb_define_method(klass, "glVertexAttribI4svEXT", gl_VertexAttribI4svEXT, 2);
|
854
|
+
rb_define_method(klass, "glVertexAttribI4ubvEXT", gl_VertexAttribI4ubvEXT, 2);
|
855
|
+
rb_define_method(klass, "glVertexAttribI4usvEXT", gl_VertexAttribI4usvEXT, 2);
|
856
|
+
rb_define_method(klass, "glVertexAttribIPointerEXT", gl_VertexAttribIPointerEXT, 5);
|
857
|
+
rb_define_method(klass, "glGetVertexAttribIivEXT", gl_GetVertexAttribIivEXT, 2);
|
858
|
+
rb_define_method(klass, "glGetVertexAttribIuivEXT", gl_GetVertexAttribIuivEXT, 2);
|
859
|
+
rb_define_method(klass, "glUniform1uiEXT", gl_Uniform1uiEXT, 2);
|
860
|
+
rb_define_method(klass, "glUniform2uiEXT", gl_Uniform2uiEXT, 3);
|
861
|
+
rb_define_method(klass, "glUniform3uiEXT", gl_Uniform3uiEXT, 4);
|
862
|
+
rb_define_method(klass, "glUniform4uiEXT", gl_Uniform4uiEXT, 5);
|
863
|
+
rb_define_method(klass, "glUniform1uivEXT", gl_Uniform1uivEXT, 2);
|
864
|
+
rb_define_method(klass, "glUniform2uivEXT", gl_Uniform2uivEXT, 2);
|
865
|
+
rb_define_method(klass, "glUniform3uivEXT", gl_Uniform3uivEXT, 2);
|
866
|
+
rb_define_method(klass, "glUniform4uivEXT", gl_Uniform4uivEXT, 2);
|
867
|
+
rb_define_method(klass, "glGetUniformuivEXT", gl_GetUniformuivEXT, 2);
|
868
|
+
rb_define_method(klass, "glBindFragDataLocationEXT", gl_BindFragDataLocationEXT, 3);
|
869
|
+
rb_define_method(klass, "glGetFragDataLocationEXT", gl_GetFragDataLocationEXT, 2);
|
874
870
|
|
875
871
|
/* #327 - GL_EXT_draw_instanced */
|
876
|
-
|
877
|
-
|
872
|
+
rb_define_method(klass, "glDrawArraysInstancedEXT", gl_DrawArraysInstancedEXT, 4);
|
873
|
+
rb_define_method(klass, "glDrawElementsInstancedEXT", gl_DrawElementsInstancedEXT, 5);
|
878
874
|
|
879
875
|
/* #330 - GL_EXT_texture_buffer_object */
|
880
|
-
|
876
|
+
rb_define_method(klass, "glTexBufferEXT", gl_TexBufferEXT, 3);
|
881
877
|
|
882
878
|
/* #343 - GL_EXT_texture_integer */
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
879
|
+
rb_define_method(klass, "glClearColorIiEXT", gl_ClearColorIiEXT, 4);
|
880
|
+
rb_define_method(klass, "glClearColorIuiEXT", gl_ClearColorIuiEXT, 4);
|
881
|
+
rb_define_method(klass, "glTexParameterIivEXT", gl_TexParameterIivEXT, 3);
|
882
|
+
rb_define_method(klass, "glTexParameterIuivEXT", gl_TexParameterIuivEXT, 3);
|
883
|
+
rb_define_method(klass, "glGetTexParameterIivEXT", gl_GetTexParameterIivEXT, 2);
|
884
|
+
rb_define_method(klass, "glGetTexParameterIuivEXT", gl_GetTexParameterIuivEXT, 2);
|
889
885
|
}
|