opengl 0.7.0.pre1-x86-mingw32 → 0.7.0.pre2-x86-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.
- data/.autotest +29 -0
- data/.gitignore +5 -8
- data/History.rdoc +33 -0
- data/Manifest.txt +72 -57
- data/README.rdoc +72 -25
- data/Rakefile +60 -72
- data/Rakefile.cross +5 -2
- data/{doc → docs}/build_install.txt +0 -0
- data/{doc → docs}/extensions.txt.in +0 -0
- data/{doc → docs}/history.txt +0 -0
- data/{doc → docs}/requirements_and_design.txt +0 -0
- data/{doc → docs}/roadmap.txt +0 -0
- data/{doc → docs}/scientific_use.txt +0 -0
- data/{doc → docs}/supplies/page_template.html +0 -0
- data/{doc → docs}/thanks.txt +0 -0
- data/{doc → docs}/tutorial.txt +0 -0
- data/examples/NeHe/NeHe.png +0 -0
- data/examples/NeHe/crate.png +0 -0
- data/examples/NeHe/glass.png +0 -0
- data/examples/NeHe/nehe_lesson02.rb +82 -83
- data/examples/NeHe/nehe_lesson03.rb +88 -88
- data/examples/NeHe/nehe_lesson04.rb +93 -96
- data/examples/NeHe/nehe_lesson05.rb +137 -144
- data/examples/NeHe/nehe_lesson06.rb +183 -0
- data/examples/NeHe/nehe_lesson07.rb +237 -0
- data/examples/NeHe/nehe_lesson08.rb +252 -0
- data/examples/NeHe/nehe_lesson09.rb +199 -0
- data/examples/NeHe/nehe_lesson11.rb +173 -0
- data/examples/NeHe/nehe_lesson12.rb +200 -0
- data/examples/NeHe/nehe_lesson16.rb +208 -0
- data/examples/NeHe/nehe_lesson19.rb +206 -0
- data/examples/NeHe/particle.png +0 -0
- data/examples/NeHe/star.png +0 -0
- data/examples/NeHe/tim.png +0 -0
- data/examples/RedBook/light.rb +154 -0
- data/examples/misc/OGLBench.rb +2 -2
- data/examples/misc/trislam.rb +2 -2
- data/ext/{common → opengl}/common.h +2 -11
- data/ext/{common → opengl}/conv.h +43 -31
- data/ext/{glut → opengl}/extconf.rb +14 -7
- data/ext/{common → opengl}/funcdef.h +155 -125
- data/ext/{gl → opengl}/gl-1.0-1.1.c +426 -162
- data/ext/{gl → opengl}/gl-1.2.c +70 -66
- data/ext/{gl → opengl}/gl-1.3.c +19 -19
- data/ext/{gl → opengl}/gl-1.4.c +23 -23
- data/ext/{gl → opengl}/gl-1.5.c +46 -47
- data/ext/{gl → opengl}/gl-2.0.c +66 -60
- data/ext/{gl → opengl}/gl-2.1.c +4 -4
- data/ext/{gl → opengl}/gl-enums.c +2 -1
- data/ext/{common → opengl}/gl-enums.h +0 -0
- data/ext/{gl → opengl}/gl-error.c +12 -4
- data/ext/{common → opengl}/gl-error.h +7 -2
- data/ext/{gl → opengl}/gl-ext-3dfx.c +1 -1
- data/ext/{gl → opengl}/gl-ext-arb.c +75 -70
- data/ext/{gl → opengl}/gl-ext-ati.c +3 -3
- data/ext/{gl → opengl}/gl-ext-ext.c +54 -54
- data/ext/{gl → opengl}/gl-ext-gremedy.c +3 -3
- data/ext/{gl → opengl}/gl-ext-nv.c +49 -48
- data/ext/{common → opengl}/gl-types.h +0 -0
- data/ext/{gl → opengl}/gl.c +8 -10
- data/ext/{glu → opengl}/glu-enums.c +1 -1
- data/ext/{common → opengl}/glu-enums.h +0 -0
- data/ext/{glu → opengl}/glu.c +7 -3
- data/ext/{glut → opengl}/glut.c +98 -48
- data/ext/opengl/opengl.c +11 -0
- data/lib/gl.rb +1 -0
- data/lib/glu.rb +1 -0
- data/lib/glut.rb +1 -0
- data/lib/opengl.rb +13 -14
- data/lib/opengl/opengl.so +0 -0
- data/lib/opengl/test_case.rb +87 -0
- data/test/{tc_misc.rb → test_gl.rb} +2 -14
- data/test/test_gl_10_11.rb +1363 -0
- data/test/test_gl_12.rb +182 -0
- data/test/{tc_func_13.rb → test_gl_13.rb} +14 -14
- data/test/test_gl_14.rb +221 -0
- data/test/test_gl_15.rb +260 -0
- data/test/test_gl_20.rb +430 -0
- data/test/test_gl_21.rb +553 -0
- data/test/test_gl_ext_arb.rb +526 -0
- data/test/{tc_ext_ati.rb → test_gl_ext_ati.rb} +11 -14
- data/test/test_gl_ext_ext.rb +608 -0
- data/test/{tc_ext_gremedy.rb → test_gl_ext_gremedy.rb} +6 -6
- data/test/test_gl_ext_nv.rb +352 -0
- data/test/test_glu.rb +309 -0
- metadata +159 -102
- data/History.txt +0 -36
- data/ext/gl/extconf.rb +0 -43
- data/ext/glu/extconf.rb +0 -51
- data/test/README +0 -10
- data/test/tc_common.rb +0 -98
- data/test/tc_ext_arb.rb +0 -467
- data/test/tc_ext_ext.rb +0 -551
- data/test/tc_ext_nv.rb +0 -357
- data/test/tc_func_10_11.rb +0 -1281
- data/test/tc_func_12.rb +0 -186
- data/test/tc_func_14.rb +0 -197
- data/test/tc_func_15.rb +0 -270
- data/test/tc_func_20.rb +0 -346
- data/test/tc_func_21.rb +0 -541
- data/test/tc_glu.rb +0 -310
- data/test/tc_include_gl.rb +0 -35
- data/test/tc_require_gl.rb +0 -34
@@ -13,7 +13,7 @@
|
|
13
13
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
14
14
|
*/
|
15
15
|
|
16
|
-
#include "
|
16
|
+
#include "common.h"
|
17
17
|
|
18
18
|
/* OpenGL ATI extensions */
|
19
19
|
|
@@ -23,14 +23,14 @@ static VALUE gl_DrawBuffersATI(VALUE obj,VALUE arg1)
|
|
23
23
|
{
|
24
24
|
GLsizei size;
|
25
25
|
GLenum *buffers;
|
26
|
-
LOAD_GL_FUNC(glDrawBuffersATI,"GL_ATI_draw_buffers")
|
26
|
+
LOAD_GL_FUNC(glDrawBuffersATI, "GL_ATI_draw_buffers");
|
27
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);
|
31
31
|
fptr_glDrawBuffersATI(size,buffers);
|
32
32
|
xfree(buffers);
|
33
|
-
|
33
|
+
CHECK_GLERROR_FROM("glDrawBuffersATI");
|
34
34
|
return Qnil;
|
35
35
|
}
|
36
36
|
|
@@ -13,7 +13,7 @@
|
|
13
13
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
14
14
|
*/
|
15
15
|
|
16
|
-
#include "
|
16
|
+
#include "common.h"
|
17
17
|
|
18
18
|
/* OpenGL EXT extensions */
|
19
19
|
/* Those are extensions that are not blessed by ARB committee but were
|
@@ -38,19 +38,19 @@ VALUE obj,arg1,arg2;
|
|
38
38
|
GLuint *textures;
|
39
39
|
GLclampf *priorities;
|
40
40
|
GLsizei size;
|
41
|
-
LOAD_GL_FUNC(glPrioritizeTexturesEXT,"GL_EXT_texture_object")
|
41
|
+
LOAD_GL_FUNC(glPrioritizeTexturesEXT, "GL_EXT_texture_object");
|
42
42
|
Check_Type(arg1,T_ARRAY);
|
43
43
|
Check_Type(arg2,T_ARRAY);
|
44
44
|
if ((size = (GLsizei)RARRAY_LENINT(arg1)) != (GLsizei)RARRAY_LENINT(arg2))
|
45
45
|
rb_raise(rb_eArgError, "passed arrays must have the same length");
|
46
46
|
textures = ALLOC_N(GLuint,size);
|
47
47
|
priorities = ALLOC_N(GLclampf,size);
|
48
|
-
ary2cuint(arg1,textures,size);
|
49
|
-
ary2cflt(arg2,priorities,size);
|
48
|
+
ary2cuint(arg1,textures,size);
|
49
|
+
ary2cflt(arg2,priorities,size);
|
50
50
|
fptr_glPrioritizeTexturesEXT(size,textures,priorities);
|
51
51
|
xfree(textures);
|
52
52
|
xfree(priorities);
|
53
|
-
|
53
|
+
CHECK_GLERROR_FROM("glPrioritizeTexturesEXT");
|
54
54
|
return Qnil;
|
55
55
|
}
|
56
56
|
|
@@ -66,12 +66,12 @@ VALUE obj,arg1;
|
|
66
66
|
VALUE retary;
|
67
67
|
VALUE ary;
|
68
68
|
int i;
|
69
|
-
LOAD_GL_FUNC(glAreTexturesResidentEXT,"GL_EXT_texture_object")
|
69
|
+
LOAD_GL_FUNC(glAreTexturesResidentEXT, "GL_EXT_texture_object");
|
70
70
|
ary = rb_Array(arg1);
|
71
71
|
size = (GLsizei)RARRAY_LENINT(ary);
|
72
72
|
textures = ALLOC_N(GLuint,size);
|
73
73
|
residences = ALLOC_N(GLboolean,size);
|
74
|
-
ary2cuint(ary,textures,size);
|
74
|
+
ary2cuint(ary,textures,size);
|
75
75
|
r = fptr_glAreTexturesResidentEXT(size,textures,residences);
|
76
76
|
retary = rb_ary_new2(size);
|
77
77
|
if (r==GL_TRUE) { /* all are resident */
|
@@ -83,7 +83,7 @@ VALUE obj,arg1;
|
|
83
83
|
}
|
84
84
|
xfree(textures);
|
85
85
|
xfree(residences);
|
86
|
-
|
86
|
+
CHECK_GLERROR_FROM("glAreTexturesResidentEXT");
|
87
87
|
return retary;
|
88
88
|
}
|
89
89
|
|
@@ -101,7 +101,7 @@ static VALUE gl_PointParameterfvEXT(VALUE obj,VALUE arg1,VALUE arg2)
|
|
101
101
|
GLfloat params[3] = {(GLfloat)0.0,(GLfloat)0.0,(GLfloat)0.0};
|
102
102
|
GLenum pname;
|
103
103
|
GLint size;
|
104
|
-
LOAD_GL_FUNC(glPointParameterfvEXT,"GL_EXT_point_parameters")
|
104
|
+
LOAD_GL_FUNC(glPointParameterfvEXT, "GL_EXT_point_parameters");
|
105
105
|
pname = NUM2UINT(arg1);
|
106
106
|
Check_Type(arg2,T_ARRAY);
|
107
107
|
if (pname==GL_POINT_DISTANCE_ATTENUATION)
|
@@ -110,7 +110,7 @@ static VALUE gl_PointParameterfvEXT(VALUE obj,VALUE arg1,VALUE arg2)
|
|
110
110
|
size = 1;
|
111
111
|
ary2cflt(arg2,params,size);
|
112
112
|
fptr_glPointParameterfvEXT(pname,params);
|
113
|
-
|
113
|
+
CHECK_GLERROR_FROM("glPointParameterfvEXT");
|
114
114
|
return Qnil;
|
115
115
|
}
|
116
116
|
|
@@ -129,11 +129,11 @@ static void (APIENTRY * fptr_gl##_name_)(_type_ *); \
|
|
129
129
|
VALUE gl_##_name_(VALUE obj,VALUE arg1) \
|
130
130
|
{ \
|
131
131
|
_type_ cary[3] = {0,0,0}; \
|
132
|
-
LOAD_GL_FUNC(gl##_name_,"GL_EXT_secondary_color") \
|
132
|
+
LOAD_GL_FUNC(gl##_name_, "GL_EXT_secondary_color"); \
|
133
133
|
Check_Type(arg1,T_ARRAY); \
|
134
134
|
_conv_(arg1,cary,3); \
|
135
135
|
fptr_gl##_name_(cary); \
|
136
|
-
|
136
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
137
137
|
return Qnil; \
|
138
138
|
}
|
139
139
|
|
@@ -156,7 +156,7 @@ VALUE obj,arg1,arg2,arg3,arg4;
|
|
156
156
|
GLint size;
|
157
157
|
GLenum type;
|
158
158
|
GLsizei stride;
|
159
|
-
LOAD_GL_FUNC(glSecondaryColorPointerEXT,"GL_EXT_secondary_color")
|
159
|
+
LOAD_GL_FUNC(glSecondaryColorPointerEXT, "GL_EXT_secondary_color");
|
160
160
|
size = (GLint)NUM2INT(arg1);
|
161
161
|
type = (GLenum)NUM2INT(arg2);
|
162
162
|
stride = (GLsizei)NUM2UINT(arg3);
|
@@ -170,7 +170,7 @@ VALUE obj,arg1,arg2,arg3,arg4;
|
|
170
170
|
g_SecondaryColor_ptr = data;
|
171
171
|
fptr_glSecondaryColorPointerEXT(size,type, stride, (const GLvoid*)RSTRING_PTR(data));
|
172
172
|
}
|
173
|
-
|
173
|
+
CHECK_GLERROR_FROM("glSecondaryColorPointerEXT");
|
174
174
|
return Qnil;
|
175
175
|
}
|
176
176
|
|
@@ -189,7 +189,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6;
|
|
189
189
|
GLuint end;
|
190
190
|
GLsizei count;
|
191
191
|
GLenum type;
|
192
|
-
LOAD_GL_FUNC(glDrawRangeElementsEXT,"GL_EXT_draw_range_elements")
|
192
|
+
LOAD_GL_FUNC(glDrawRangeElementsEXT, "GL_EXT_draw_range_elements");
|
193
193
|
mode = (GLenum)NUM2INT(arg1);
|
194
194
|
start = (GLuint)NUM2UINT(arg2);
|
195
195
|
end = (GLuint)NUM2UINT(arg3);
|
@@ -202,7 +202,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6;
|
|
202
202
|
data = pack_array_or_pass_string(type,arg6);
|
203
203
|
fptr_glDrawRangeElementsEXT(mode, start, end, count, type, RSTRING_PTR(data));
|
204
204
|
}
|
205
|
-
|
205
|
+
CHECK_GLERROR_FROM("glDrawRangeElementsEXT");
|
206
206
|
return Qnil;
|
207
207
|
}
|
208
208
|
|
@@ -216,7 +216,7 @@ VALUE obj,arg1,arg2,arg3;
|
|
216
216
|
GLint *ary1;
|
217
217
|
GLsizei *ary2;
|
218
218
|
int len1,len2;
|
219
|
-
LOAD_GL_FUNC(glMultiDrawArraysEXT,"GL_EXT_multi_draw_arrays")
|
219
|
+
LOAD_GL_FUNC(glMultiDrawArraysEXT, "GL_EXT_multi_draw_arrays");
|
220
220
|
len1 = (int)RARRAY_LENINT(arg2);
|
221
221
|
len2 = (int)RARRAY_LENINT(arg3);
|
222
222
|
if (len1!=len2)
|
@@ -229,7 +229,7 @@ VALUE obj,arg1,arg2,arg3;
|
|
229
229
|
fptr_glMultiDrawArraysEXT(mode,ary1,ary2,len1);
|
230
230
|
xfree(ary1);
|
231
231
|
xfree(ary2);
|
232
|
-
|
232
|
+
CHECK_GLERROR_FROM("glMultiDrawArraysEXT");
|
233
233
|
return Qnil;
|
234
234
|
}
|
235
235
|
|
@@ -247,7 +247,7 @@ VALUE obj;
|
|
247
247
|
GLint size;
|
248
248
|
int i;
|
249
249
|
VALUE ary, args[4];
|
250
|
-
LOAD_GL_FUNC(glMultiDrawElementsEXT,"GL_EXT_multi_draw_arrays")
|
250
|
+
LOAD_GL_FUNC(glMultiDrawElementsEXT, "GL_EXT_multi_draw_arrays");
|
251
251
|
switch (rb_scan_args(argc, argv, "31", &args[0], &args[1], &args[2],&args[3])) {
|
252
252
|
default:
|
253
253
|
case 3:
|
@@ -294,7 +294,7 @@ VALUE obj;
|
|
294
294
|
xfree(indices);
|
295
295
|
break;
|
296
296
|
}
|
297
|
-
|
297
|
+
CHECK_GLERROR_FROM("glMultiDrawElementsEXT");
|
298
298
|
return Qnil;
|
299
299
|
}
|
300
300
|
|
@@ -307,11 +307,11 @@ static void (APIENTRY * fptr_gl##_name_)(_type_ *); \
|
|
307
307
|
VALUE gl_##_name_(VALUE obj,VALUE arg1) \
|
308
308
|
{ \
|
309
309
|
_type_ cary = 0; \
|
310
|
-
LOAD_GL_FUNC(gl##_name_,"GL_EXT_secondary_color") \
|
310
|
+
LOAD_GL_FUNC(gl##_name_, "GL_EXT_secondary_color"); \
|
311
311
|
Check_Type(arg1,T_ARRAY); \
|
312
312
|
_conv_(arg1,&cary,1); \
|
313
313
|
fptr_gl##_name_(&cary); \
|
314
|
-
|
314
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
315
315
|
return Qnil; \
|
316
316
|
}
|
317
317
|
GLFOGCOORD_VFUNC(FogCoordfvEXT,GLfloat,ary2cflt)
|
@@ -326,7 +326,7 @@ VALUE obj,arg1,arg2,arg3;
|
|
326
326
|
{
|
327
327
|
GLenum type;
|
328
328
|
GLsizei stride;
|
329
|
-
LOAD_GL_FUNC(glFogCoordPointerEXT,"GL_EXT_secondary_color")
|
329
|
+
LOAD_GL_FUNC(glFogCoordPointerEXT, "GL_EXT_secondary_color");
|
330
330
|
type = (GLenum)NUM2INT(arg1);
|
331
331
|
stride = (GLsizei)NUM2UINT(arg2);
|
332
332
|
if (CheckBufferBinding(GL_ARRAY_BUFFER_BINDING)) {
|
@@ -339,7 +339,7 @@ VALUE obj,arg1,arg2,arg3;
|
|
339
339
|
g_FogCoord_ptr = data;
|
340
340
|
fptr_glFogCoordPointerEXT(type, stride, (const GLvoid*)RSTRING_PTR(data));
|
341
341
|
}
|
342
|
-
|
342
|
+
CHECK_GLERROR_FROM("glFogCoordPointerEXT");
|
343
343
|
return Qnil;
|
344
344
|
}
|
345
345
|
|
@@ -366,9 +366,9 @@ static void (APIENTRY * fptr_glGetRenderbufferParameterivEXT)(GLenum,GLenum,GLin
|
|
366
366
|
static VALUE gl_GetRenderbufferParameterivEXT(VALUE obj,VALUE arg1,VALUE arg2)
|
367
367
|
{
|
368
368
|
GLint param = 0;
|
369
|
-
LOAD_GL_FUNC(glGetRenderbufferParameterivEXT,"GL_EXT_framebuffer_object")
|
369
|
+
LOAD_GL_FUNC(glGetRenderbufferParameterivEXT, "GL_EXT_framebuffer_object");
|
370
370
|
fptr_glGetRenderbufferParameterivEXT(NUM2UINT(arg1),NUM2UINT(arg2),¶m);
|
371
|
-
|
371
|
+
CHECK_GLERROR_FROM("glGetRenderbufferParameterivEXT");
|
372
372
|
return INT2NUM(param);
|
373
373
|
}
|
374
374
|
|
@@ -387,9 +387,9 @@ static void (APIENTRY * fptr_glGetFramebufferAttachmentParameterivEXT)(GLenum,GL
|
|
387
387
|
static VALUE gl_GetFramebufferAttachmentParameterivEXT(VALUE obj,VALUE arg1, VALUE arg2, VALUE arg3)
|
388
388
|
{
|
389
389
|
GLint ret = 0;
|
390
|
-
LOAD_GL_FUNC(glGetFramebufferAttachmentParameterivEXT,"GL_EXT_framebuffer_object")
|
390
|
+
LOAD_GL_FUNC(glGetFramebufferAttachmentParameterivEXT, "GL_EXT_framebuffer_object");
|
391
391
|
fptr_glGetFramebufferAttachmentParameterivEXT(NUM2UINT(arg1),NUM2UINT(arg2),NUM2UINT(arg3),&ret);
|
392
|
-
|
392
|
+
CHECK_GLERROR_FROM("glGetFramebufferAttachmentParameterivEXT");
|
393
393
|
return cond_GLBOOL2RUBY(NUM2UINT(arg3),ret);
|
394
394
|
}
|
395
395
|
|
@@ -411,9 +411,9 @@ static void (APIENTRY * fptr_gl##_name_)(GLuint,GLenum,_type_ *); \
|
|
411
411
|
static VALUE gl_##_name_(VALUE obj,VALUE arg1,VALUE arg2) \
|
412
412
|
{ \
|
413
413
|
_type_ ret = 0; \
|
414
|
-
LOAD_GL_FUNC(gl##_name_,"GL_EXT_timer_query") \
|
414
|
+
LOAD_GL_FUNC(gl##_name_, "GL_EXT_timer_query"); \
|
415
415
|
fptr_gl##_name_(NUM2INT(arg1),NUM2INT(arg2),&ret); \
|
416
|
-
|
416
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
417
417
|
return _conv_(NUM2INT(arg2),ret); \
|
418
418
|
}
|
419
419
|
|
@@ -431,7 +431,7 @@ VALUE obj,arg1,arg2,arg3; \
|
|
431
431
|
{ \
|
432
432
|
_type_ *cary; \
|
433
433
|
GLsizei len; \
|
434
|
-
LOAD_GL_FUNC(gl##_name_,_extension_) \
|
434
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
435
435
|
len = (GLsizei)RARRAY_LENINT(rb_Array(arg3)); \
|
436
436
|
if (len<=0 || (len % 4) != 0) \
|
437
437
|
rb_raise(rb_eArgError, "Parameter array size must be multiplication of 4"); \
|
@@ -439,7 +439,7 @@ VALUE obj,arg1,arg2,arg3; \
|
|
439
439
|
_conv_(arg3,cary,len); \
|
440
440
|
fptr_gl##_name_((GLenum)NUM2UINT(arg1),(GLuint)NUM2UINT(arg2),len / 4, cary); \
|
441
441
|
xfree(cary); \
|
442
|
-
|
442
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
443
443
|
return Qnil; \
|
444
444
|
}
|
445
445
|
|
@@ -467,10 +467,10 @@ gl_##_name_(obj,arg1,arg2) \
|
|
467
467
|
VALUE obj,arg1,arg2; \
|
468
468
|
{ \
|
469
469
|
_type_ value[_size_]; \
|
470
|
-
LOAD_GL_FUNC(gl##_name_,"GL_ARB_shader_objects") \
|
470
|
+
LOAD_GL_FUNC(gl##_name_, "GL_ARB_shader_objects"); \
|
471
471
|
_conv_(arg2,value,_size_); \
|
472
472
|
fptr_gl##_name_(NUM2UINT(arg1),value); \
|
473
|
-
|
473
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
474
474
|
return Qnil; \
|
475
475
|
}
|
476
476
|
|
@@ -498,7 +498,7 @@ VALUE obj,arg1,arg2; \
|
|
498
498
|
GLenum pname; \
|
499
499
|
_type_ params[4] = {0,0,0,0}; \
|
500
500
|
GLint size; \
|
501
|
-
LOAD_GL_FUNC(gl##_name_,_extension_) \
|
501
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
502
502
|
index = (GLuint)NUM2UINT(arg1); \
|
503
503
|
pname = (GLenum)NUM2INT(arg2); \
|
504
504
|
if (pname==GL_CURRENT_VERTEX_ATTRIB_ARB) \
|
@@ -506,7 +506,7 @@ VALUE obj,arg1,arg2; \
|
|
506
506
|
else \
|
507
507
|
size = 1; \
|
508
508
|
fptr_gl##_name_(index,pname,params); \
|
509
|
-
RET_ARRAY_OR_SINGLE_BOOL(size,_conv_,pname,params) \
|
509
|
+
RET_ARRAY_OR_SINGLE_BOOL("gl" #_name_, size, _conv_, pname, params); \
|
510
510
|
}
|
511
511
|
|
512
512
|
GETVERTEXATTRIB_FUNC(GetVertexAttribIivEXT,GLint,cond_GLBOOL2RUBY,"GL_EXT_gpu_shader4")
|
@@ -523,7 +523,7 @@ static VALUE gl_VertexAttribIPointerEXT(VALUE obj,VALUE arg1,VALUE arg2,VALUE ar
|
|
523
523
|
GLenum type;
|
524
524
|
GLsizei stride;
|
525
525
|
|
526
|
-
LOAD_GL_FUNC(glVertexAttribIPointerEXT,"GL_EXT_gpu_shader4")
|
526
|
+
LOAD_GL_FUNC(glVertexAttribIPointerEXT, "GL_EXT_gpu_shader4");
|
527
527
|
|
528
528
|
index = (GLuint)NUM2UINT(arg1);
|
529
529
|
size = (GLuint)NUM2UINT(arg2);
|
@@ -543,7 +543,7 @@ static VALUE gl_VertexAttribIPointerEXT(VALUE obj,VALUE arg1,VALUE arg2,VALUE ar
|
|
543
543
|
fptr_glVertexAttribIPointerEXT(index,size,type,stride,(GLvoid *)RSTRING_PTR(data));
|
544
544
|
}
|
545
545
|
|
546
|
-
|
546
|
+
CHECK_GLERROR_FROM("glVertexAttribIPointerEXT");
|
547
547
|
return Qnil;
|
548
548
|
}
|
549
549
|
|
@@ -561,7 +561,7 @@ VALUE obj,arg1,arg2; \
|
|
561
561
|
GLint location; \
|
562
562
|
GLsizei count; \
|
563
563
|
_type_ *value; \
|
564
|
-
LOAD_GL_FUNC(gl##_name_,"GL_EXT_gpu_shader4") \
|
564
|
+
LOAD_GL_FUNC(gl##_name_, "GL_EXT_gpu_shader4"); \
|
565
565
|
Check_Type(arg2,T_ARRAY); \
|
566
566
|
count = (GLsizei)RARRAY_LENINT(arg2); \
|
567
567
|
if (count<=0 || (count % _size_) != 0) \
|
@@ -571,7 +571,7 @@ VALUE obj,arg1,arg2; \
|
|
571
571
|
_conv_(arg2,value,count); \
|
572
572
|
fptr_gl##_name_(location,count / _size_,value); \
|
573
573
|
xfree(value); \
|
574
|
-
|
574
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
575
575
|
return Qnil; \
|
576
576
|
}
|
577
577
|
|
@@ -595,13 +595,13 @@ VALUE obj,arg1,arg2; \
|
|
595
595
|
GLenum uniform_type = 0; \
|
596
596
|
GLint uniform_size = 0; \
|
597
597
|
\
|
598
|
-
LOAD_GL_FUNC(gl##_name_,"GL_EXT_gpu_shader4") \
|
599
|
-
LOAD_GL_FUNC(glGetActiveUniformARB,"GL_ARB_shader_objects") \
|
598
|
+
LOAD_GL_FUNC(gl##_name_, "GL_EXT_gpu_shader4"); \
|
599
|
+
LOAD_GL_FUNC(glGetActiveUniformARB, "GL_ARB_shader_objects"); \
|
600
600
|
program = (GLuint)NUM2UINT(arg1); \
|
601
601
|
location = (GLint)NUM2INT(arg2); \
|
602
602
|
\
|
603
603
|
fptr_glGetActiveUniformARB(program,location,0,NULL,&unused,&uniform_type,NULL); \
|
604
|
-
|
604
|
+
CHECK_GLERROR_FROM("glGetActiveUniformARB"); \
|
605
605
|
if (uniform_type==0) \
|
606
606
|
rb_raise(rb_eTypeError, "Can't determine the uniform's type"); \
|
607
607
|
\
|
@@ -609,7 +609,7 @@ VALUE obj,arg1,arg2; \
|
|
609
609
|
\
|
610
610
|
memset(params,0,16*sizeof(_type_)); \
|
611
611
|
fptr_gl##_name_(program,location,params); \
|
612
|
-
RET_ARRAY_OR_SINGLE(uniform_size,RETCONV_##_type_,params) \
|
612
|
+
RET_ARRAY_OR_SINGLE("gl" #_name_, uniform_size, RETCONV_##_type_, params); \
|
613
613
|
}
|
614
614
|
|
615
615
|
GETUNIFORM_FUNC(GetUniformuivEXT,GLuint)
|
@@ -618,10 +618,10 @@ GETUNIFORM_FUNC(GetUniformuivEXT,GLuint)
|
|
618
618
|
static void (APIENTRY * fptr_glBindFragDataLocationEXT)(GLuint,GLuint,const GLchar *);
|
619
619
|
static VALUE gl_BindFragDataLocationEXT(VALUE obj,VALUE arg1,VALUE arg2,VALUE arg3)
|
620
620
|
{
|
621
|
-
LOAD_GL_FUNC(glBindFragDataLocationEXT,"GL_EXT_gpu_shader4")
|
621
|
+
LOAD_GL_FUNC(glBindFragDataLocationEXT, "GL_EXT_gpu_shader4");
|
622
622
|
Check_Type(arg3,T_STRING);
|
623
623
|
fptr_glBindFragDataLocationEXT(NUM2UINT(arg1),NUM2UINT(arg2),RSTRING_PTR(arg3));
|
624
|
-
|
624
|
+
CHECK_GLERROR_FROM("glBindFragDataLocationEXT");
|
625
625
|
return Qnil;
|
626
626
|
}
|
627
627
|
|
@@ -629,10 +629,10 @@ static GLint (APIENTRY * fptr_glGetFragDataLocationEXT)(GLuint,const GLchar *);
|
|
629
629
|
static VALUE gl_GetFragDataLocationEXT(VALUE obj,VALUE arg1,VALUE arg2)
|
630
630
|
{
|
631
631
|
GLint ret;
|
632
|
-
LOAD_GL_FUNC(glGetFragDataLocationEXT,"GL_EXT_gpu_shader4")
|
632
|
+
LOAD_GL_FUNC(glGetFragDataLocationEXT, "GL_EXT_gpu_shader4");
|
633
633
|
Check_Type(arg2,T_STRING);
|
634
634
|
ret = fptr_glGetFragDataLocationEXT(NUM2UINT(arg1),RSTRING_PTR(arg2));
|
635
|
-
|
635
|
+
CHECK_GLERROR_FROM("glGetFragDataLocationEXT");
|
636
636
|
return INT2NUM(ret);
|
637
637
|
}
|
638
638
|
|
@@ -647,7 +647,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5;
|
|
647
647
|
GLsizei count;
|
648
648
|
GLenum type;
|
649
649
|
GLsizei primcount;
|
650
|
-
LOAD_GL_FUNC(glDrawElementsInstancedEXT,"GL_EXT_draw_instanced")
|
650
|
+
LOAD_GL_FUNC(glDrawElementsInstancedEXT, "GL_EXT_draw_instanced");
|
651
651
|
mode = (GLenum)NUM2INT(arg1);
|
652
652
|
count = (GLsizei)NUM2UINT(arg2);
|
653
653
|
type = (GLenum)NUM2INT(arg3);
|
@@ -659,7 +659,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5;
|
|
659
659
|
data = pack_array_or_pass_string(type,arg4);
|
660
660
|
fptr_glDrawElementsInstancedEXT(mode, count, type, (const GLvoid*)RSTRING_PTR(data), primcount);
|
661
661
|
}
|
662
|
-
|
662
|
+
CHECK_GLERROR_FROM("glDrawArraysInstancedEXT");
|
663
663
|
return Qnil;
|
664
664
|
}
|
665
665
|
|
@@ -679,13 +679,13 @@ VALUE obj,arg1,arg2,arg3; \
|
|
679
679
|
GLenum target; \
|
680
680
|
GLenum pname; \
|
681
681
|
_type_ params[4] = {0,0,0,0}; \
|
682
|
-
LOAD_GL_FUNC(gl##_name_,"GL_EXT_texture_integer") \
|
682
|
+
LOAD_GL_FUNC(gl##_name_, "GL_EXT_texture_integer"); \
|
683
683
|
target = (GLenum)NUM2UINT(arg1); \
|
684
684
|
pname = (GLenum)NUM2UINT(arg2); \
|
685
685
|
Check_Type(arg3,T_ARRAY); \
|
686
686
|
_conv_(arg3,params,4); \
|
687
687
|
fptr_gl##_name_(target,pname,params); \
|
688
|
-
|
688
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
689
689
|
return Qnil; \
|
690
690
|
}
|
691
691
|
|
@@ -703,7 +703,7 @@ VALUE obj,arg1,arg2; \
|
|
703
703
|
GLenum pname; \
|
704
704
|
_type_ params[4] = {0,0,0,0}; \
|
705
705
|
int size; \
|
706
|
-
LOAD_GL_FUNC(gl##_name_,"GL_EXT_texture_integer") \
|
706
|
+
LOAD_GL_FUNC(gl##_name_, "GL_EXT_texture_integer"); \
|
707
707
|
target = (GLenum)NUM2INT(arg1); \
|
708
708
|
pname = (GLenum)NUM2INT(arg2); \
|
709
709
|
switch(pname) { \
|
@@ -718,7 +718,7 @@ VALUE obj,arg1,arg2; \
|
|
718
718
|
break; \
|
719
719
|
} \
|
720
720
|
fptr_gl##_name_(target,pname,params); \
|
721
|
-
RET_ARRAY_OR_SINGLE_BOOL(size,_conv_,pname,params) \
|
721
|
+
RET_ARRAY_OR_SINGLE_BOOL("gl" #_name_, size, _conv_, pname, params); \
|
722
722
|
}
|
723
723
|
|
724
724
|
GETTEXPARAMETER_VFUNC(GetTexParameterIivEXT,GLint,cond_GLBOOL2RUBY)
|
@@ -13,7 +13,7 @@
|
|
13
13
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
14
14
|
*/
|
15
15
|
|
16
|
-
#include "
|
16
|
+
#include "common.h"
|
17
17
|
|
18
18
|
/* Graphic Remedy extensions */
|
19
19
|
|
@@ -21,10 +21,10 @@
|
|
21
21
|
static void (APIENTRY * fptr_glStringMarkerGREMEDY)(GLsizei,const void *);
|
22
22
|
static VALUE gl_StringMarkerGREMEDY(VALUE obj,VALUE arg1)
|
23
23
|
{
|
24
|
-
LOAD_GL_FUNC(glStringMarkerGREMEDY,"GL_GREMEDY_string_marker")
|
24
|
+
LOAD_GL_FUNC(glStringMarkerGREMEDY, "GL_GREMEDY_string_marker");
|
25
25
|
Check_Type(arg1,T_STRING);
|
26
26
|
fptr_glStringMarkerGREMEDY((GLsizei)RSTRING_LENINT(arg1),RSTRING_PTR(arg1));
|
27
|
-
|
27
|
+
CHECK_GLERROR_FROM("glStringMarkerGREMEDY");
|
28
28
|
return Qnil;
|
29
29
|
}
|
30
30
|
|
@@ -13,7 +13,7 @@
|
|
13
13
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
14
14
|
*/
|
15
15
|
|
16
|
-
#include "
|
16
|
+
#include "common.h"
|
17
17
|
|
18
18
|
/* OpenGL NVIDIA extensions */
|
19
19
|
|
@@ -29,9 +29,9 @@ static void (APIENTRY * fptr_glGetFenceivNV)(GLuint,GLenum,GLint *);
|
|
29
29
|
static VALUE gl_GetFenceivNV(VALUE obj,VALUE arg1,VALUE arg2)
|
30
30
|
{
|
31
31
|
GLint ret = 0;
|
32
|
-
LOAD_GL_FUNC(glGetFenceivNV,"GL_NV_fence")
|
32
|
+
LOAD_GL_FUNC(glGetFenceivNV, "GL_NV_fence");
|
33
33
|
fptr_glGetFenceivNV(NUM2INT(arg1),NUM2INT(arg2),&ret);
|
34
|
-
|
34
|
+
CHECK_GLERROR_FROM("glGetFenceivNV");
|
35
35
|
return cond_GLBOOL2RUBY(NUM2INT(arg2),ret);
|
36
36
|
}
|
37
37
|
|
@@ -39,10 +39,10 @@ static VALUE gl_GetFenceivNV(VALUE obj,VALUE arg1,VALUE arg2)
|
|
39
39
|
static void (APIENTRY * fptr_glLoadProgramNV)(GLenum,GLuint,GLsizei,const GLubyte *);
|
40
40
|
static VALUE gl_LoadProgramNV(VALUE obj,VALUE arg1,VALUE arg2,VALUE arg3)
|
41
41
|
{
|
42
|
-
LOAD_GL_FUNC(glLoadProgramNV,"GL_NV_vertex_program")
|
42
|
+
LOAD_GL_FUNC(glLoadProgramNV, "GL_NV_vertex_program");
|
43
43
|
Check_Type(arg3,T_STRING);
|
44
44
|
fptr_glLoadProgramNV((GLenum)NUM2INT(arg1),(GLuint)NUM2UINT(arg2),(GLsizei)RSTRING_LENINT(arg3),(GLubyte *)RSTRING_PTR(arg3));
|
45
|
-
|
45
|
+
CHECK_GLERROR_FROM("glLoadProgramNV");
|
46
46
|
return Qnil;
|
47
47
|
}
|
48
48
|
|
@@ -50,9 +50,9 @@ static void (APIENTRY * fptr_glGetProgramivNV)(GLuint,GLenum,GLint *);
|
|
50
50
|
static VALUE gl_GetProgramivNV(VALUE obj,VALUE arg1,VALUE arg2)
|
51
51
|
{
|
52
52
|
GLint ret = 0;
|
53
|
-
LOAD_GL_FUNC(glGetProgramivNV,"GL_NV_vertex_program")
|
53
|
+
LOAD_GL_FUNC(glGetProgramivNV, "GL_NV_vertex_program");
|
54
54
|
fptr_glGetProgramivNV(NUM2INT(arg1),NUM2INT(arg2),&ret);
|
55
|
-
|
55
|
+
CHECK_GLERROR_FROM("glGetProgramivNV");
|
56
56
|
return cond_GLBOOL2RUBY(NUM2INT(arg2),ret);
|
57
57
|
}
|
58
58
|
|
@@ -63,11 +63,11 @@ static VALUE gl_GetProgramStringNV(VALUE obj,VALUE arg1,VALUE arg2)
|
|
63
63
|
char *buffer;
|
64
64
|
VALUE ret_buffer;
|
65
65
|
|
66
|
-
LOAD_GL_FUNC(glGetProgramStringNV,"GL_NV_vertex_program")
|
67
|
-
LOAD_GL_FUNC(glGetProgramivNV,"GL_NV_vertex_program")
|
66
|
+
LOAD_GL_FUNC(glGetProgramStringNV, "GL_NV_vertex_program");
|
67
|
+
LOAD_GL_FUNC(glGetProgramivNV, "GL_NV_vertex_program");
|
68
68
|
|
69
69
|
fptr_glGetProgramivNV(NUM2INT(arg1),GL_PROGRAM_LENGTH_NV,&len);
|
70
|
-
|
70
|
+
CHECK_GLERROR_FROM("glGetProgramivNV");
|
71
71
|
if (len<=0)
|
72
72
|
return rb_str_new2("");
|
73
73
|
|
@@ -77,7 +77,7 @@ static VALUE gl_GetProgramStringNV(VALUE obj,VALUE arg1,VALUE arg2)
|
|
77
77
|
ret_buffer = rb_str_new2(buffer);
|
78
78
|
xfree(buffer);
|
79
79
|
|
80
|
-
|
80
|
+
CHECK_GLERROR_FROM("glGetProgramStringNV");
|
81
81
|
return ret_buffer;
|
82
82
|
}
|
83
83
|
|
@@ -90,10 +90,10 @@ static void (APIENTRY * fptr_glExecuteProgramNV)(GLenum,GLuint,const GLfloat *);
|
|
90
90
|
static VALUE gl_ExecuteProgramNV(VALUE obj,VALUE arg1,VALUE arg2,VALUE arg3)
|
91
91
|
{
|
92
92
|
GLfloat params[4] = {0,0,0,0};
|
93
|
-
LOAD_GL_FUNC(glExecuteProgramNV,"GL_NV_vertex_program")
|
93
|
+
LOAD_GL_FUNC(glExecuteProgramNV, "GL_NV_vertex_program");
|
94
94
|
ary2cflt(arg3,params,4);
|
95
95
|
fptr_glExecuteProgramNV(NUM2UINT(arg1),NUM2UINT(arg2),params);
|
96
|
-
|
96
|
+
CHECK_GLERROR_FROM("glExecuteProgramNV");
|
97
97
|
return Qnil;
|
98
98
|
}
|
99
99
|
|
@@ -107,7 +107,7 @@ static VALUE gl_VertexAttribPointerNV(VALUE obj,VALUE arg1,VALUE arg2,VALUE arg3
|
|
107
107
|
GLenum type;
|
108
108
|
GLsizei stride;
|
109
109
|
|
110
|
-
LOAD_GL_FUNC(glVertexAttribPointerNV,"GL_NV_vertex_program")
|
110
|
+
LOAD_GL_FUNC(glVertexAttribPointerNV, "GL_NV_vertex_program");
|
111
111
|
|
112
112
|
index = (GLuint)NUM2UINT(arg1);
|
113
113
|
size = (GLuint)NUM2UINT(arg2);
|
@@ -127,7 +127,7 @@ static VALUE gl_VertexAttribPointerNV(VALUE obj,VALUE arg1,VALUE arg2,VALUE arg3
|
|
127
127
|
fptr_glVertexAttribPointerNV(index,size,type,stride,(GLvoid *)RSTRING_PTR(data));
|
128
128
|
}
|
129
129
|
|
130
|
-
|
130
|
+
CHECK_GLERROR_FROM("glVertexAttribPointerNV");
|
131
131
|
return Qnil;
|
132
132
|
}
|
133
133
|
|
@@ -138,7 +138,7 @@ gl_GetVertexAttribPointervNV(obj,arg1)
|
|
138
138
|
VALUE obj,arg1;
|
139
139
|
{
|
140
140
|
GLuint index;
|
141
|
-
LOAD_GL_FUNC(glGetVertexAttribPointervNV,"GL_NV_vertex_program")
|
141
|
+
LOAD_GL_FUNC(glGetVertexAttribPointervNV, "GL_NV_vertex_program");
|
142
142
|
index =(GLuint) NUM2INT(arg1);
|
143
143
|
if (index>_MAX_VERTEX_ATTRIBS)
|
144
144
|
rb_raise(rb_eArgError, "Index too large, maximum allowed value '%i'",_MAX_VERTEX_ATTRIBS);
|
@@ -156,10 +156,10 @@ gl_##_name_(obj,arg1,arg2,arg3) \
|
|
156
156
|
VALUE obj,arg1,arg2,arg3; \
|
157
157
|
{ \
|
158
158
|
_type_ cary[4]; \
|
159
|
-
LOAD_GL_FUNC(gl##_name_,_extension_) \
|
159
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
160
160
|
_conv_(arg3,cary,4); \
|
161
161
|
fptr_gl##_name_(NUM2UINT(arg1),NUM2UINT(arg2),cary); \
|
162
|
-
|
162
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
163
163
|
return Qnil; \
|
164
164
|
}
|
165
165
|
|
@@ -173,9 +173,9 @@ gl_##_name_(obj,arg1,arg2,arg3) \
|
|
173
173
|
VALUE obj,arg1,arg2,arg3; \
|
174
174
|
{ \
|
175
175
|
_type_ cary[4] = {(_type_)0.0, (_type_)0.0, (_type_)0.0, (_type_)0.0}; \
|
176
|
-
LOAD_GL_FUNC(gl##_name_,_extension_) \
|
176
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
177
177
|
fptr_gl##_name_(NUM2UINT(arg1),NUM2UINT(arg2),NUM2UINT(arg3),cary); \
|
178
|
-
RET_ARRAY_OR_SINGLE(4,RETCONV_##_type_,cary) \
|
178
|
+
RET_ARRAY_OR_SINGLE("gl" #_name_, 4, RETCONV_##_type_, cary); \
|
179
179
|
}
|
180
180
|
|
181
181
|
GETPROGRAMPARAM_FUNC(GetProgramParameterdvNV,GLdouble,"GL_NV_vertex_program")
|
@@ -190,7 +190,7 @@ VALUE obj,arg1,arg2,arg3; \
|
|
190
190
|
{ \
|
191
191
|
_type_ *cary; \
|
192
192
|
GLuint len; \
|
193
|
-
LOAD_GL_FUNC(gl##_name_,_extension_) \
|
193
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
194
194
|
len = (GLuint)RARRAY_LENINT(rb_Array(arg3)); \
|
195
195
|
if (len<=0 || (len % 4) != 0) \
|
196
196
|
rb_raise(rb_eArgError, "Parameter array size must be multiplication of 4"); \
|
@@ -198,7 +198,7 @@ VALUE obj,arg1,arg2,arg3; \
|
|
198
198
|
_conv_(arg3,cary,len); \
|
199
199
|
fptr_gl##_name_((GLenum)NUM2UINT(arg1),(GLuint)NUM2UINT(arg2),len / 4, cary); \
|
200
200
|
xfree(cary); \
|
201
|
-
|
201
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
202
202
|
return Qnil; \
|
203
203
|
}
|
204
204
|
|
@@ -227,11 +227,11 @@ VALUE obj,arg1,arg2; \
|
|
227
227
|
{ \
|
228
228
|
GLuint index; \
|
229
229
|
_type_ v[_size_]; \
|
230
|
-
LOAD_GL_FUNC(gl##_name_,_extension_)
|
230
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
231
231
|
index = (GLuint)NUM2UINT(arg1); \
|
232
232
|
_conv_(arg2,v,_size_); \
|
233
233
|
fptr_gl##_name_(index,v); \
|
234
|
-
|
234
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
235
235
|
return Qnil; \
|
236
236
|
}
|
237
237
|
|
@@ -259,7 +259,7 @@ VALUE obj,arg1,arg2; \
|
|
259
259
|
GLuint index; \
|
260
260
|
_type_ *cary; \
|
261
261
|
GLsizei len; \
|
262
|
-
LOAD_GL_FUNC(gl##_name_,_extension_)
|
262
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
263
263
|
len = (GLsizei)RARRAY_LENINT(rb_Array(arg2)); \
|
264
264
|
if (len<=0 || (len % _size_) != 0) \
|
265
265
|
rb_raise(rb_eArgError, "Parameter array size must be multiplication of %i",_size_); \
|
@@ -268,7 +268,7 @@ VALUE obj,arg1,arg2; \
|
|
268
268
|
_conv_(arg2,cary,len); \
|
269
269
|
fptr_gl##_name_(index,len / _size_,cary); \
|
270
270
|
xfree(cary); \
|
271
|
-
|
271
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
272
272
|
return Qnil; \
|
273
273
|
}
|
274
274
|
|
@@ -297,7 +297,7 @@ VALUE obj,arg1,arg2; \
|
|
297
297
|
GLenum pname; \
|
298
298
|
_type_ params[4] = {0,0,0,0}; \
|
299
299
|
GLint size; \
|
300
|
-
LOAD_GL_FUNC(gl##_name_,_extension_) \
|
300
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
301
301
|
index = (GLuint)NUM2UINT(arg1); \
|
302
302
|
pname = (GLenum)NUM2INT(arg2); \
|
303
303
|
if (pname==GL_CURRENT_ATTRIB_NV) \
|
@@ -305,7 +305,7 @@ VALUE obj,arg1,arg2; \
|
|
305
305
|
else \
|
306
306
|
size = 1; \
|
307
307
|
fptr_gl##_name_(index,pname,params); \
|
308
|
-
RET_ARRAY_OR_SINGLE(size,RETCONV_##_type_,params) \
|
308
|
+
RET_ARRAY_OR_SINGLE("gl" #_name_, size, RETCONV_##_type_, params); \
|
309
309
|
}
|
310
310
|
|
311
311
|
GETVERTEXATTRIB_FUNC(GetVertexAttribdvNV,GLdouble,"GL_NV_vertex_program")
|
@@ -321,7 +321,7 @@ VALUE obj,arg1,arg2;
|
|
321
321
|
GLenum pname;
|
322
322
|
GLint params[4] = {0,0,0,0};
|
323
323
|
GLint size;
|
324
|
-
LOAD_GL_FUNC(glGetVertexAttribivNV,"GL_NV_vertex_program")
|
324
|
+
LOAD_GL_FUNC(glGetVertexAttribivNV, "GL_NV_vertex_program");
|
325
325
|
index = (GLuint)NUM2UINT(arg1);
|
326
326
|
pname = (GLenum)NUM2INT(arg2);
|
327
327
|
if (pname==GL_CURRENT_VERTEX_ATTRIB)
|
@@ -329,7 +329,8 @@ VALUE obj,arg1,arg2;
|
|
329
329
|
else
|
330
330
|
size = 1;
|
331
331
|
fptr_glGetVertexAttribivNV(index,pname,params);
|
332
|
-
|
332
|
+
RET_ARRAY_OR_SINGLE_BOOL("glGetVertexAttribivNV", size, cond_GLBOOL2RUBY,
|
333
|
+
pname, params); \
|
333
334
|
}
|
334
335
|
|
335
336
|
|
@@ -339,16 +340,16 @@ static void (APIENTRY * fptr_glGetTrackMatrixivNV)(GLenum,GLuint,GLenum,GLint *)
|
|
339
340
|
static VALUE gl_GetTrackMatrixivNV(VALUE obj,VALUE arg1,VALUE arg2,VALUE arg3)
|
340
341
|
{
|
341
342
|
GLint ret = 0;
|
342
|
-
LOAD_GL_FUNC(glGetTrackMatrixivNV,"GL_NV_vertex_program")
|
343
|
+
LOAD_GL_FUNC(glGetTrackMatrixivNV, "GL_NV_vertex_program");
|
343
344
|
fptr_glGetTrackMatrixivNV(NUM2UINT(arg1),NUM2UINT(arg2),NUM2UINT(arg3),&ret);
|
344
|
-
|
345
|
+
CHECK_GLERROR_FROM("glGetTrackMatrixivNV");
|
345
346
|
return INT2NUM(ret);
|
346
347
|
}
|
347
348
|
|
348
349
|
static void (APIENTRY * fptr_glRequestResidentProgramsNV)(GLsizei, GLuint *);
|
349
350
|
static VALUE gl_RequestResidentProgramsNV(VALUE obj,VALUE arg1)
|
350
351
|
{
|
351
|
-
LOAD_GL_FUNC(glRequestResidentProgramsNV,"GL_NV_vertex_program")
|
352
|
+
LOAD_GL_FUNC(glRequestResidentProgramsNV, "GL_NV_vertex_program");
|
352
353
|
if (TYPE(arg1)==T_ARRAY) {
|
353
354
|
GLsizei n;
|
354
355
|
GLuint *programs;
|
@@ -362,7 +363,7 @@ static VALUE gl_RequestResidentProgramsNV(VALUE obj,VALUE arg1)
|
|
362
363
|
program = NUM2INT(arg1);
|
363
364
|
fptr_glRequestResidentProgramsNV( 1, &program);
|
364
365
|
}
|
365
|
-
|
366
|
+
CHECK_GLERROR_FROM("glRequestResidentProgramsNV");
|
366
367
|
return Qnil;
|
367
368
|
}
|
368
369
|
|
@@ -376,7 +377,7 @@ static VALUE gl_AreProgramsResidentNV(VALUE obj,VALUE arg1)
|
|
376
377
|
VALUE retary;
|
377
378
|
VALUE ary;
|
378
379
|
int i;
|
379
|
-
LOAD_GL_FUNC(glAreProgramsResidentNV,"GL_NV_vertex_program")
|
380
|
+
LOAD_GL_FUNC(glAreProgramsResidentNV, "GL_NV_vertex_program");
|
380
381
|
ary = rb_Array(arg1);
|
381
382
|
size = (GLsizei)RARRAY_LENINT(ary);
|
382
383
|
programs = ALLOC_N(GLuint,size);
|
@@ -393,7 +394,7 @@ static VALUE gl_AreProgramsResidentNV(VALUE obj,VALUE arg1)
|
|
393
394
|
}
|
394
395
|
xfree(programs);
|
395
396
|
xfree(residences);
|
396
|
-
|
397
|
+
CHECK_GLERROR_FROM("glAreProgramsResidentNV");
|
397
398
|
return retary;
|
398
399
|
}
|
399
400
|
|
@@ -409,9 +410,9 @@ static void (APIENTRY * fptr_gl##_name_)(GLuint,GLenum,_type_ *); \
|
|
409
410
|
static VALUE gl_##_name_(VALUE obj,VALUE arg1,VALUE arg2) \
|
410
411
|
{ \
|
411
412
|
_type_ ret = 0; \
|
412
|
-
LOAD_GL_FUNC(gl##_name_,"GL_NV_occlusion_query") \
|
413
|
+
LOAD_GL_FUNC(gl##_name_, "GL_NV_occlusion_query"); \
|
413
414
|
fptr_gl##_name_(NUM2INT(arg1),NUM2INT(arg2),&ret); \
|
414
|
-
|
415
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
415
416
|
return _conv_(NUM2INT(arg2),ret); \
|
416
417
|
}
|
417
418
|
|
@@ -426,10 +427,10 @@ static void (APIENTRY * fptr_glPointParameterivNV)(GLenum,const GLint *);
|
|
426
427
|
static VALUE gl_PointParameterivNV(VALUE obj,VALUE arg1,VALUE arg2)
|
427
428
|
{
|
428
429
|
GLint param = 0;
|
429
|
-
LOAD_GL_FUNC(glPointParameterivNV,"GL_NV_point_sprite")
|
430
|
+
LOAD_GL_FUNC(glPointParameterivNV, "GL_NV_point_sprite");
|
430
431
|
ary2cint(arg2,¶m,1);
|
431
432
|
fptr_glPointParameterivNV(NUM2UINT(arg1),¶m);
|
432
|
-
|
433
|
+
CHECK_GLERROR_FROM("glPointParameterivNV");
|
433
434
|
return Qnil;
|
434
435
|
}
|
435
436
|
|
@@ -440,10 +441,10 @@ static VALUE \
|
|
440
441
|
gl_##_name_(obj,arg1,arg2,arg3,arg4,arg5,arg6) \
|
441
442
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6; \
|
442
443
|
{ \
|
443
|
-
LOAD_GL_FUNC(gl##_name_,_extension_) \
|
444
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
444
445
|
Check_Type(arg2,T_STRING); \
|
445
446
|
fptr_gl##_name_((GLuint)NUM2UINT(arg1),(GLsizei)RSTRING_LENINT(arg2),(GLubyte *)RSTRING_PTR(arg2),(_type_)_conv_(arg3),(_type_)_conv_(arg4),(_type_)_conv_(arg5),(_type_)_conv_(arg6)); \
|
446
|
-
|
447
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
447
448
|
return Qnil; \
|
448
449
|
}
|
449
450
|
|
@@ -458,11 +459,11 @@ gl_##_name_(obj,arg1,arg2,arg3) \
|
|
458
459
|
VALUE obj,arg1,arg2,arg3; \
|
459
460
|
{ \
|
460
461
|
_type_ cary[4]; \
|
461
|
-
LOAD_GL_FUNC(gl##_name_,_extension_) \
|
462
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
462
463
|
Check_Type(arg2,T_STRING); \
|
463
464
|
_conv_(arg3,cary,4); \
|
464
465
|
fptr_gl##_name_(NUM2UINT(arg1),(GLsizei)RSTRING_LENINT(arg2),(GLubyte *)RSTRING_PTR(arg2),cary); \
|
465
|
-
|
466
|
+
CHECK_GLERROR_FROM("gl" #_name_); \
|
466
467
|
return Qnil; \
|
467
468
|
}
|
468
469
|
|
@@ -477,10 +478,10 @@ gl_##_name_(obj,arg1,arg2) \
|
|
477
478
|
VALUE obj,arg1,arg2; \
|
478
479
|
{ \
|
479
480
|
_type_ cary[4] = {(_type_)0.0, (_type_)0.0, (_type_)0.0, (_type_)0.0}; \
|
480
|
-
LOAD_GL_FUNC(gl##_name_,_extension_) \
|
481
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
481
482
|
Check_Type(arg2,T_STRING); \
|
482
483
|
fptr_gl##_name_((GLuint)NUM2UINT(arg1),(GLsizei)RSTRING_LENINT(arg2),(GLubyte *)RSTRING_PTR(arg2),cary); \
|
483
|
-
RET_ARRAY_OR_SINGLE(4,RETCONV_##_type_,cary) \
|
484
|
+
RET_ARRAY_OR_SINGLE("gl" #_name_, 4, RETCONV_##_type_, cary); \
|
484
485
|
}
|
485
486
|
|
486
487
|
GETPROGRAMNAMEDPARAM_FUNC(GetProgramNamedParameterdvNV,GLdouble,"GL_NV_vertex_program")
|
@@ -517,9 +518,9 @@ gl_##_name_(obj,arg1,arg2) \
|
|
517
518
|
VALUE obj,arg1,arg2; \
|
518
519
|
{ \
|
519
520
|
_type_ cary[4] = {(_type_)0.0, (_type_)0.0, (_type_)0.0, (_type_)0.0}; \
|
520
|
-
LOAD_GL_FUNC(gl##_name_,_extension_) \
|
521
|
+
LOAD_GL_FUNC(gl##_name_, _extension_); \
|
521
522
|
fptr_gl##_name_(NUM2UINT(arg1),NUM2UINT(arg2),cary); \
|
522
|
-
RET_ARRAY_OR_SINGLE(4,RETCONV_##_type_,cary) \
|
523
|
+
RET_ARRAY_OR_SINGLE("gl" #_name_, 4, RETCONV_##_type_, cary); \
|
523
524
|
}
|
524
525
|
|
525
526
|
GETPROGRAMPARAM_FUNC_2(GetProgramLocalParameterIivNV,GLint,"GL_NV_gpu_program4")
|