opengl 0.9.2-x64-mingw32 → 0.10.0-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
}
|