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-1.2.c
CHANGED
@@ -23,7 +23,6 @@ GL_FUNC_LOAD_4(BlendColor,GLvoid, GLclampf,GLclampf,GLclampf,GLclampf, "1.2")
|
|
23
23
|
GL_FUNC_LOAD_1(BlendEquation,GLvoid, GLenum, "1.2")
|
24
24
|
GL_FUNC_LOAD_9(CopyTexSubImage3D,GLvoid, GLenum,GLint,GLint,GLint,GLint,GLint,GLint,GLsizei,GLsizei, "1.2")
|
25
25
|
|
26
|
-
static void (APIENTRY * fptr_glDrawRangeElements)(GLenum,GLuint,GLuint,GLsizei,GLenum,GLvoid*);
|
27
26
|
static VALUE
|
28
27
|
gl_DrawRangeElements(obj,arg1,arg2,arg3,arg4,arg5,arg6)
|
29
28
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6;
|
@@ -33,13 +32,14 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6;
|
|
33
32
|
GLuint end;
|
34
33
|
GLsizei count;
|
35
34
|
GLenum type;
|
35
|
+
DECL_GL_FUNC_PTR(GLvoid,glDrawRangeElements,(GLenum,GLuint,GLuint,GLsizei,GLenum,GLvoid*));
|
36
36
|
LOAD_GL_FUNC(glDrawRangeElements, "1.2");
|
37
37
|
mode = (GLenum)NUM2INT(arg1);
|
38
38
|
start = (GLuint)NUM2UINT(arg2);
|
39
39
|
end = (GLuint)NUM2UINT(arg3);
|
40
40
|
count = (GLsizei)NUM2UINT(arg4);
|
41
41
|
type = (GLenum)NUM2INT(arg5);
|
42
|
-
if (
|
42
|
+
if (CHECK_BUFFER_BINDING(GL_ELEMENT_ARRAY_BUFFER_BINDING)) {
|
43
43
|
fptr_glDrawRangeElements(mode, start, end, count, type, (GLvoid *)NUM2SIZET(arg6));
|
44
44
|
} else {
|
45
45
|
VALUE data;
|
@@ -50,7 +50,6 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6;
|
|
50
50
|
return Qnil;
|
51
51
|
}
|
52
52
|
|
53
|
-
static void (APIENTRY * fptr_glTexImage3D)(GLenum,GLint,GLint,GLsizei,GLsizei,GLsizei,GLint,GLenum,GLenum,const GLvoid*);
|
54
53
|
static VALUE
|
55
54
|
gl_TexImage3D(obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
|
56
55
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10;
|
@@ -65,6 +64,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10;
|
|
65
64
|
GLenum format;
|
66
65
|
GLenum type;
|
67
66
|
const char *pixels;
|
67
|
+
DECL_GL_FUNC_PTR(GLvoid,glTexImage3D,(GLenum,GLint,GLint,GLsizei,GLsizei,GLsizei,GLint,GLenum,GLenum,const GLvoid*));
|
68
68
|
LOAD_GL_FUNC(glTexImage3D, "1.2");
|
69
69
|
target = (GLenum)NUM2INT(arg1);
|
70
70
|
level = (GLint)NUM2INT(arg2);
|
@@ -76,7 +76,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10;
|
|
76
76
|
format = (GLenum)NUM2INT(arg8);
|
77
77
|
type = (GLenum)NUM2INT(arg9);
|
78
78
|
|
79
|
-
if (
|
79
|
+
if (CHECK_BUFFER_BINDING(GL_PIXEL_UNPACK_BUFFER_BINDING)) {
|
80
80
|
fptr_glTexImage3D( target, level, internalFormat, width, height,
|
81
81
|
depth, border, format, type,(GLvoid *)NUM2SIZET(arg10));
|
82
82
|
CHECK_GLERROR_FROM("glTexImage3D");
|
@@ -102,7 +102,6 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10;
|
|
102
102
|
return Qnil;
|
103
103
|
}
|
104
104
|
|
105
|
-
static void (APIENTRY * fptr_glTexSubImage3D)(GLenum,GLint,GLint,GLint,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLenum,const GLvoid*);
|
106
105
|
static VALUE
|
107
106
|
gl_TexSubImage3D(obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11)
|
108
107
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11;
|
@@ -117,6 +116,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11;
|
|
117
116
|
GLsizei depth;
|
118
117
|
GLenum format;
|
119
118
|
GLenum type;
|
119
|
+
DECL_GL_FUNC_PTR(GLvoid,glTexSubImage3D,(GLenum,GLint,GLint,GLint,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLenum,const GLvoid*));
|
120
120
|
LOAD_GL_FUNC(glTexSubImage3D, "1.2");
|
121
121
|
target = (GLenum)NUM2INT(arg1);
|
122
122
|
level = (GLint)NUM2INT(arg2);
|
@@ -128,7 +128,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11;
|
|
128
128
|
depth = (GLsizei)NUM2UINT(arg8);
|
129
129
|
format = (GLenum)NUM2INT(arg9);
|
130
130
|
type = (GLenum)NUM2INT(arg10);
|
131
|
-
if (
|
131
|
+
if (CHECK_BUFFER_BINDING(GL_PIXEL_UNPACK_BUFFER_BINDING)) {
|
132
132
|
fptr_glTexSubImage3D( target, level, xoffset, yoffset, zoffset,
|
133
133
|
width, height, depth,
|
134
134
|
format, type, (GLvoid *)NUM2SIZET(arg11));
|
@@ -144,12 +144,12 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11;
|
|
144
144
|
return Qnil;
|
145
145
|
}
|
146
146
|
|
147
|
-
void gl_init_functions_1_2(VALUE
|
147
|
+
void gl_init_functions_1_2(VALUE klass)
|
148
148
|
{
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
149
|
+
rb_define_method(klass, "glBlendColor", gl_BlendColor, 4);
|
150
|
+
rb_define_method(klass, "glBlendEquation", gl_BlendEquation, 1);
|
151
|
+
rb_define_method(klass, "glDrawRangeElements", gl_DrawRangeElements, 6);
|
152
|
+
rb_define_method(klass, "glTexImage3D", gl_TexImage3D, 10);
|
153
|
+
rb_define_method(klass, "glTexSubImage3D", gl_TexSubImage3D, 11);
|
154
|
+
rb_define_method(klass, "glCopyTexSubImage3D", gl_CopyTexSubImage3D, 9);
|
155
155
|
}
|
data/ext/opengl/gl-1.3.c
CHANGED
@@ -95,12 +95,12 @@ GLMULTITEXCOORD_VFUNC(s)
|
|
95
95
|
#undef GLTEXCOORD_VFUNC
|
96
96
|
|
97
97
|
#define TRANSPOSEMATRIX_FUNC(_name_,_type_) \
|
98
|
-
static void (APIENTRY * fptr_gl##_name_)(const _type_[]); \
|
99
98
|
static VALUE \
|
100
99
|
gl_##_name_(obj,arg1) \
|
101
100
|
VALUE obj,arg1; \
|
102
101
|
{ \
|
103
102
|
_type_ m[4*4]; \
|
103
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(const _type_[])); \
|
104
104
|
LOAD_GL_FUNC(gl##_name_, "1.3"); \
|
105
105
|
ary2cmat##_type_(arg1, m, 4, 4); \
|
106
106
|
fptr_gl##_name_(m); \
|
@@ -115,7 +115,6 @@ TRANSPOSEMATRIX_FUNC(MultTransposeMatrixd,double)
|
|
115
115
|
|
116
116
|
#undef TRANSPOSEMATRIX_FUNC
|
117
117
|
|
118
|
-
static void (APIENTRY * fptr_glCompressedTexImage3D)(GLenum,GLint,GLenum,GLsizei,GLsizei,GLsizei,GLint,GLsizei,GLvoid*);
|
119
118
|
static VALUE
|
120
119
|
gl_CompressedTexImage3D(obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
|
121
120
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9;
|
@@ -129,6 +128,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9;
|
|
129
128
|
GLint border;
|
130
129
|
GLsizei imagesize;
|
131
130
|
GLvoid *pixels;
|
131
|
+
DECL_GL_FUNC_PTR(GLvoid,glCompressedTexImage3D,(GLenum,GLint,GLenum,GLsizei,GLsizei,GLsizei,GLint,GLsizei,GLvoid*));
|
132
132
|
LOAD_GL_FUNC(glCompressedTexImage3D, "1.3");
|
133
133
|
target = (GLenum)NUM2INT(arg1);
|
134
134
|
level = (GLint)NUM2INT(arg2);
|
@@ -138,7 +138,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9;
|
|
138
138
|
depth = (GLsizei)NUM2UINT(arg6);
|
139
139
|
border = (GLint)NUM2INT(arg7);
|
140
140
|
imagesize = (GLsizei)NUM2UINT(arg8);
|
141
|
-
if (
|
141
|
+
if (CHECK_BUFFER_BINDING(GL_PIXEL_UNPACK_BUFFER_BINDING)) {
|
142
142
|
fptr_glCompressedTexImage3D(target,level,internalformat,width,height,depth,border,imagesize,(GLvoid *)NUM2SIZET(arg9));
|
143
143
|
} else {
|
144
144
|
if (TYPE(arg9) == T_STRING || TYPE(arg9) == T_ARRAY) {
|
@@ -159,7 +159,6 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9;
|
|
159
159
|
return Qnil;
|
160
160
|
}
|
161
161
|
|
162
|
-
static void (APIENTRY * fptr_glCompressedTexImage2D)(GLenum,GLint,GLenum,GLsizei,GLsizei,GLint,GLsizei,GLvoid*);
|
163
162
|
static VALUE
|
164
163
|
gl_CompressedTexImage2D(obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
|
165
164
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8;
|
@@ -172,6 +171,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8;
|
|
172
171
|
GLint border;
|
173
172
|
GLsizei imagesize;
|
174
173
|
GLvoid *pixels;
|
174
|
+
DECL_GL_FUNC_PTR(GLvoid,glCompressedTexImage2D,(GLenum,GLint,GLenum,GLsizei,GLsizei,GLint,GLsizei,GLvoid*));
|
175
175
|
LOAD_GL_FUNC(glCompressedTexImage2D, "1.3");
|
176
176
|
target = (GLenum)NUM2INT(arg1);
|
177
177
|
level = (GLint)NUM2INT(arg2);
|
@@ -180,7 +180,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8;
|
|
180
180
|
height = (GLsizei)NUM2UINT(arg5);
|
181
181
|
border = (GLint)NUM2INT(arg6);
|
182
182
|
imagesize = (GLsizei)NUM2UINT(arg7);
|
183
|
-
if (
|
183
|
+
if (CHECK_BUFFER_BINDING(GL_PIXEL_UNPACK_BUFFER_BINDING)) {
|
184
184
|
fptr_glCompressedTexImage2D(target,level,internalformat,width,height,border,imagesize,(GLvoid *)NUM2SIZET(arg8));
|
185
185
|
} else {
|
186
186
|
if (TYPE(arg8) == T_STRING || TYPE(arg8) == T_ARRAY) {
|
@@ -201,7 +201,6 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8;
|
|
201
201
|
return Qnil;
|
202
202
|
}
|
203
203
|
|
204
|
-
static void (APIENTRY * fptr_glCompressedTexImage1D)(GLenum,GLint,GLenum,GLsizei,GLint,GLsizei,GLvoid*);
|
205
204
|
static VALUE
|
206
205
|
gl_CompressedTexImage1D(obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
|
207
206
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7;
|
@@ -213,6 +212,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7;
|
|
213
212
|
GLint border;
|
214
213
|
GLsizei imagesize;
|
215
214
|
GLvoid *pixels;
|
215
|
+
DECL_GL_FUNC_PTR(GLvoid,glCompressedTexImage1D,(GLenum,GLint,GLenum,GLsizei,GLint,GLsizei,GLvoid*));
|
216
216
|
LOAD_GL_FUNC(glCompressedTexImage1D, "1.3");
|
217
217
|
target = (GLenum)NUM2INT(arg1);
|
218
218
|
level = (GLint)NUM2INT(arg2);
|
@@ -220,7 +220,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7;
|
|
220
220
|
width = (GLsizei)NUM2UINT(arg4);
|
221
221
|
border = (GLint)NUM2INT(arg5);
|
222
222
|
imagesize = (GLsizei)NUM2UINT(arg6);
|
223
|
-
if (
|
223
|
+
if (CHECK_BUFFER_BINDING(GL_PIXEL_UNPACK_BUFFER_BINDING)) {
|
224
224
|
fptr_glCompressedTexImage1D(target,level,internalformat,width,border,imagesize,(GLvoid *)NUM2SIZET(arg7));
|
225
225
|
} else {
|
226
226
|
if (TYPE(arg7) == T_STRING || TYPE(arg7) == T_ARRAY) {
|
@@ -241,7 +241,6 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7;
|
|
241
241
|
return Qnil;
|
242
242
|
}
|
243
243
|
|
244
|
-
static void (APIENTRY * fptr_glCompressedTexSubImage3D)(GLenum,GLint,GLint,GLint,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLsizei,GLvoid*);
|
245
244
|
static VALUE
|
246
245
|
gl_CompressedTexSubImage3D(obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11)
|
247
246
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11;
|
@@ -257,6 +256,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11;
|
|
257
256
|
GLenum format;
|
258
257
|
GLsizei imagesize;
|
259
258
|
GLvoid *pixels;
|
259
|
+
DECL_GL_FUNC_PTR(GLvoid,glCompressedTexSubImage3D,(GLenum,GLint,GLint,GLint,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLsizei,GLvoid*));
|
260
260
|
LOAD_GL_FUNC(glCompressedTexSubImage3D, "1.3");
|
261
261
|
target = (GLenum)NUM2INT(arg1);
|
262
262
|
level = (GLint)NUM2INT(arg2);
|
@@ -268,7 +268,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11;
|
|
268
268
|
depth = (GLsizei)NUM2UINT(arg8);
|
269
269
|
format = (GLenum)NUM2INT(arg9);
|
270
270
|
imagesize = (GLsizei)NUM2UINT(arg10);
|
271
|
-
if (
|
271
|
+
if (CHECK_BUFFER_BINDING(GL_PIXEL_UNPACK_BUFFER_BINDING)) {
|
272
272
|
fptr_glCompressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imagesize,(GLvoid *)NUM2SIZET(arg11));
|
273
273
|
} else {
|
274
274
|
VALUE data;
|
@@ -283,7 +283,6 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11;
|
|
283
283
|
return Qnil;
|
284
284
|
}
|
285
285
|
|
286
|
-
static void (APIENTRY * fptr_glCompressedTexSubImage2D)(GLenum,GLint,GLint,GLint,GLsizei,GLsizei,GLenum,GLsizei,GLvoid*);
|
287
286
|
static VALUE
|
288
287
|
gl_CompressedTexSubImage2D(obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
|
289
288
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9;
|
@@ -297,6 +296,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9;
|
|
297
296
|
GLenum format;
|
298
297
|
GLsizei imagesize;
|
299
298
|
GLvoid *pixels;
|
299
|
+
DECL_GL_FUNC_PTR(GLvoid,glCompressedTexSubImage2D,(GLenum,GLint,GLint,GLint,GLsizei,GLsizei,GLenum,GLsizei,GLvoid*));
|
300
300
|
LOAD_GL_FUNC(glCompressedTexSubImage2D, "1.3");
|
301
301
|
target = (GLenum)NUM2INT(arg1);
|
302
302
|
level = (GLint)NUM2INT(arg2);
|
@@ -306,7 +306,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9;
|
|
306
306
|
height = (GLsizei)NUM2UINT(arg6);
|
307
307
|
format = (GLenum)NUM2INT(arg7);
|
308
308
|
imagesize = (GLsizei)NUM2UINT(arg8);
|
309
|
-
if (
|
309
|
+
if (CHECK_BUFFER_BINDING(GL_PIXEL_UNPACK_BUFFER_BINDING)) {
|
310
310
|
fptr_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imagesize,(GLvoid *)NUM2SIZET(arg9));
|
311
311
|
} else {
|
312
312
|
VALUE data;
|
@@ -320,7 +320,6 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9;
|
|
320
320
|
return Qnil;
|
321
321
|
}
|
322
322
|
|
323
|
-
static void (APIENTRY * fptr_glCompressedTexSubImage1D)(GLenum,GLint,GLint,GLsizei,GLenum,GLsizei,GLvoid*);
|
324
323
|
static VALUE
|
325
324
|
gl_CompressedTexSubImage1D(obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
|
326
325
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7;
|
@@ -332,6 +331,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7;
|
|
332
331
|
GLenum format;
|
333
332
|
GLsizei imagesize;
|
334
333
|
GLvoid *pixels;
|
334
|
+
DECL_GL_FUNC_PTR(GLvoid,glCompressedTexSubImage1D,(GLenum,GLint,GLint,GLsizei,GLenum,GLsizei,GLvoid*));
|
335
335
|
LOAD_GL_FUNC(glCompressedTexSubImage1D, "1.3");
|
336
336
|
target = (GLenum)NUM2INT(arg1);
|
337
337
|
level = (GLint)NUM2INT(arg2);
|
@@ -339,7 +339,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7;
|
|
339
339
|
width = (GLsizei)NUM2UINT(arg4);
|
340
340
|
format = (GLenum)NUM2INT(arg5);
|
341
341
|
imagesize = (GLsizei)NUM2UINT(arg6);
|
342
|
-
if (
|
342
|
+
if (CHECK_BUFFER_BINDING(GL_PIXEL_UNPACK_BUFFER_BINDING)) {
|
343
343
|
fptr_glCompressedTexSubImage1D(target,level,xoffset,width,format,imagesize,(GLvoid *)NUM2SIZET(arg7));
|
344
344
|
} else {
|
345
345
|
VALUE data;
|
@@ -353,7 +353,6 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6,arg7;
|
|
353
353
|
return Qnil;
|
354
354
|
}
|
355
355
|
|
356
|
-
static void (APIENTRY * fptr_glGetCompressedTexImage)(GLenum,GLint,GLvoid*);
|
357
356
|
static VALUE
|
358
357
|
gl_GetCompressedTexImage(argc,argv,obj)
|
359
358
|
int argc;
|
@@ -366,6 +365,7 @@ VALUE obj;
|
|
366
365
|
VALUE data;
|
367
366
|
VALUE args[3];
|
368
367
|
int numargs;
|
368
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetCompressedTexImage,(GLenum,GLint,GLvoid*));
|
369
369
|
LOAD_GL_FUNC(glGetCompressedTexImage, "1.3");
|
370
370
|
numargs = rb_scan_args(argc, argv, "21", &args[0], &args[1], &args[2]);
|
371
371
|
target = (GLenum)NUM2INT(args[0]);
|
@@ -373,9 +373,13 @@ VALUE obj;
|
|
373
373
|
switch(numargs) {
|
374
374
|
default:
|
375
375
|
case 2:
|
376
|
-
if (
|
376
|
+
if (CHECK_BUFFER_BINDING(GL_PIXEL_PACK_BUFFER_BINDING))
|
377
377
|
rb_raise(rb_eArgError, "Pixel pack buffer bound, but offset argument missing");
|
378
|
-
|
378
|
+
{
|
379
|
+
DECL_GL_FUNC_PTR(void,glGetTexLevelParameteriv,(GLenum target, GLint level, GLenum pname, GLint *params));
|
380
|
+
LOAD_GL_FUNC(glGetTexLevelParameteriv, NULL);
|
381
|
+
fptr_glGetTexLevelParameteriv(target,lod,GL_TEXTURE_COMPRESSED_IMAGE_SIZE,&size); /* 1.0 function */
|
382
|
+
}
|
379
383
|
CHECK_GLERROR_FROM("glGetTexLevelParameteriv");
|
380
384
|
data = allocate_buffer_with_string(size);
|
381
385
|
fptr_glGetCompressedTexImage(target,lod,(GLvoid*)RSTRING_PTR(data));
|
@@ -388,56 +392,56 @@ VALUE obj;
|
|
388
392
|
}
|
389
393
|
}
|
390
394
|
|
391
|
-
void gl_init_functions_1_3(VALUE
|
395
|
+
void gl_init_functions_1_3(VALUE klass)
|
392
396
|
{
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
397
|
+
rb_define_method(klass, "glActiveTexture", gl_ActiveTexture, 1);
|
398
|
+
rb_define_method(klass, "glClientActiveTexture", gl_ClientActiveTexture, 1);
|
399
|
+
rb_define_method(klass, "glMultiTexCoord1d", gl_MultiTexCoord1d, 2);
|
400
|
+
rb_define_method(klass, "glMultiTexCoord1f", gl_MultiTexCoord1f, 2);
|
401
|
+
rb_define_method(klass, "glMultiTexCoord1i", gl_MultiTexCoord1i, 2);
|
402
|
+
rb_define_method(klass, "glMultiTexCoord1s", gl_MultiTexCoord1s, 2);
|
403
|
+
rb_define_method(klass, "glMultiTexCoord2d", gl_MultiTexCoord2d, 3);
|
404
|
+
rb_define_method(klass, "glMultiTexCoord2f", gl_MultiTexCoord2f, 3);
|
405
|
+
rb_define_method(klass, "glMultiTexCoord2i", gl_MultiTexCoord2i, 3);
|
406
|
+
rb_define_method(klass, "glMultiTexCoord2s", gl_MultiTexCoord2s, 3);
|
407
|
+
rb_define_method(klass, "glMultiTexCoord3d", gl_MultiTexCoord3d, 4);
|
408
|
+
rb_define_method(klass, "glMultiTexCoord3f", gl_MultiTexCoord3f, 4);
|
409
|
+
rb_define_method(klass, "glMultiTexCoord3i", gl_MultiTexCoord3i, 4);
|
410
|
+
rb_define_method(klass, "glMultiTexCoord3s", gl_MultiTexCoord3s, 4);
|
411
|
+
rb_define_method(klass, "glMultiTexCoord4d", gl_MultiTexCoord4d, 5);
|
412
|
+
rb_define_method(klass, "glMultiTexCoord4f", gl_MultiTexCoord4f, 5);
|
413
|
+
rb_define_method(klass, "glMultiTexCoord4i", gl_MultiTexCoord4i, 5);
|
414
|
+
rb_define_method(klass, "glMultiTexCoord4s", gl_MultiTexCoord4s, 5);
|
415
|
+
rb_define_method(klass, "glLoadTransposeMatrixf", gl_LoadTransposeMatrixf, 1);
|
416
|
+
rb_define_method(klass, "glLoadTransposeMatrixd", gl_LoadTransposeMatrixd, 1);
|
417
|
+
rb_define_method(klass, "glMultTransposeMatrixf", gl_MultTransposeMatrixf, 1);
|
418
|
+
rb_define_method(klass, "glMultTransposeMatrixd", gl_MultTransposeMatrixd, 1);
|
419
|
+
rb_define_method(klass, "glSampleCoverage", gl_SampleCoverage, 2);
|
420
|
+
rb_define_method(klass, "glCompressedTexImage3D", gl_CompressedTexImage3D, 9);
|
421
|
+
rb_define_method(klass, "glCompressedTexImage2D", gl_CompressedTexImage2D, 8);
|
422
|
+
rb_define_method(klass, "glCompressedTexImage1D", gl_CompressedTexImage1D, 7);
|
423
|
+
rb_define_method(klass, "glCompressedTexSubImage3D", gl_CompressedTexSubImage3D, 11);
|
424
|
+
rb_define_method(klass, "glCompressedTexSubImage2D", gl_CompressedTexSubImage2D, 9);
|
425
|
+
rb_define_method(klass, "glCompressedTexSubImage1D", gl_CompressedTexSubImage1D, 7);
|
426
|
+
rb_define_method(klass, "glGetCompressedTexImage", gl_GetCompressedTexImage, -1);
|
423
427
|
|
424
428
|
/* Additional functions */
|
425
429
|
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
430
|
+
rb_define_method(klass, "glMultiTexCoord", gl_MultiTexCoorddv, -1);
|
431
|
+
rb_define_method(klass, "glMultiTexCoord1dv", gl_MultiTexCoorddv, -1);
|
432
|
+
rb_define_method(klass, "glMultiTexCoord1fv", gl_MultiTexCoordfv, -1);
|
433
|
+
rb_define_method(klass, "glMultiTexCoord1iv", gl_MultiTexCoordiv, -1);
|
434
|
+
rb_define_method(klass, "glMultiTexCoord1sv", gl_MultiTexCoordsv, -1);
|
435
|
+
rb_define_method(klass, "glMultiTexCoord2dv", gl_MultiTexCoorddv, -1);
|
436
|
+
rb_define_method(klass, "glMultiTexCoord2fv", gl_MultiTexCoordfv, -1);
|
437
|
+
rb_define_method(klass, "glMultiTexCoord2iv", gl_MultiTexCoordiv, -1);
|
438
|
+
rb_define_method(klass, "glMultiTexCoord2sv", gl_MultiTexCoordsv, -1);
|
439
|
+
rb_define_method(klass, "glMultiTexCoord3dv", gl_MultiTexCoorddv, -1);
|
440
|
+
rb_define_method(klass, "glMultiTexCoord3fv", gl_MultiTexCoordfv, -1);
|
441
|
+
rb_define_method(klass, "glMultiTexCoord3iv", gl_MultiTexCoordiv, -1);
|
442
|
+
rb_define_method(klass, "glMultiTexCoord3sv", gl_MultiTexCoordsv, -1);
|
443
|
+
rb_define_method(klass, "glMultiTexCoord4dv", gl_MultiTexCoorddv, -1);
|
444
|
+
rb_define_method(klass, "glMultiTexCoord4fv", gl_MultiTexCoordfv, -1);
|
445
|
+
rb_define_method(klass, "glMultiTexCoord4iv", gl_MultiTexCoordiv, -1);
|
446
|
+
rb_define_method(klass, "glMultiTexCoord4sv", gl_MultiTexCoordsv, -1);
|
443
447
|
}
|
data/ext/opengl/gl-1.4.c
CHANGED
@@ -39,12 +39,12 @@ GL_FUNC_LOAD_3(WindowPos3f,GLvoid, GLfloat,GLfloat,GLfloat, "1.4")
|
|
39
39
|
GL_FUNC_LOAD_3(WindowPos3i,GLvoid, GLint,GLint,GLint, "1.4")
|
40
40
|
GL_FUNC_LOAD_3(WindowPos3s,GLvoid, GLshort,GLshort,GLshort, "1.4")
|
41
41
|
|
42
|
-
static void (APIENTRY * fptr_glFogCoordfv)(GLfloat *);
|
43
42
|
static VALUE
|
44
43
|
gl_FogCoordfv(obj,arg1)
|
45
44
|
VALUE obj,arg1;
|
46
45
|
{
|
47
46
|
GLfloat coord;
|
47
|
+
DECL_GL_FUNC_PTR(GLvoid,glFogCoordfv,(GLfloat *));
|
48
48
|
LOAD_GL_FUNC(glFogCoordfv, "1.4");
|
49
49
|
Check_Type(arg1,T_ARRAY);
|
50
50
|
ary2cflt(arg1,&coord,1);
|
@@ -53,12 +53,12 @@ VALUE obj,arg1;
|
|
53
53
|
return Qnil;
|
54
54
|
}
|
55
55
|
|
56
|
-
static void (APIENTRY * fptr_glFogCoorddv)(GLdouble *);
|
57
56
|
static VALUE
|
58
57
|
gl_FogCoorddv(obj,arg1)
|
59
58
|
VALUE obj,arg1;
|
60
59
|
{
|
61
60
|
GLdouble coord;
|
61
|
+
DECL_GL_FUNC_PTR(GLvoid,glFogCoorddv,(GLdouble *));
|
62
62
|
LOAD_GL_FUNC(glFogCoorddv, "1.4");
|
63
63
|
Check_Type(arg1,T_ARRAY);
|
64
64
|
ary2cdbl(arg1,&coord,1);
|
@@ -67,32 +67,30 @@ VALUE obj,arg1;
|
|
67
67
|
return Qnil;
|
68
68
|
}
|
69
69
|
|
70
|
-
extern VALUE g_FogCoord_ptr;
|
71
|
-
static void (APIENTRY * fptr_glFogCoordPointer)(GLenum,GLsizei,const GLvoid *);
|
72
70
|
static VALUE
|
73
71
|
gl_FogCoordPointer(obj,arg1,arg2,arg3)
|
74
72
|
VALUE obj,arg1,arg2,arg3;
|
75
73
|
{
|
76
74
|
GLenum type;
|
77
75
|
GLsizei stride;
|
76
|
+
DECL_GL_FUNC_PTR(GLvoid,glFogCoordPointer,(GLenum,GLsizei,const GLvoid *));
|
78
77
|
LOAD_GL_FUNC(glFogCoordPointer, "1.4");
|
79
78
|
type = (GLenum)NUM2INT(arg1);
|
80
79
|
stride = (GLsizei)NUM2UINT(arg2);
|
81
|
-
if (
|
82
|
-
|
80
|
+
if (CHECK_BUFFER_BINDING(GL_ARRAY_BUFFER_BINDING)) {
|
81
|
+
SET_GLIMPL_VARIABLE(FogCoord_ptr, arg3);
|
83
82
|
fptr_glFogCoordPointer(type, stride, (const GLvoid*)NUM2SIZET(arg3));
|
84
83
|
} else {
|
85
84
|
VALUE data;
|
86
85
|
data = pack_array_or_pass_string(GL_UNSIGNED_BYTE,arg3);
|
87
86
|
rb_str_freeze(data);
|
88
|
-
|
87
|
+
SET_GLIMPL_VARIABLE(FogCoord_ptr, data);
|
89
88
|
fptr_glFogCoordPointer(type, stride, (const GLvoid*)RSTRING_PTR(data));
|
90
89
|
}
|
91
90
|
CHECK_GLERROR_FROM("glFogCoordPointer");
|
92
91
|
return Qnil;
|
93
92
|
}
|
94
93
|
|
95
|
-
static void (APIENTRY * fptr_glMultiDrawArrays)(GLenum,GLint*,GLsizei*,GLsizei);
|
96
94
|
static VALUE
|
97
95
|
gl_MultiDrawArrays(obj,arg1,arg2,arg3)
|
98
96
|
VALUE obj,arg1,arg2,arg3;
|
@@ -101,6 +99,7 @@ VALUE obj,arg1,arg2,arg3;
|
|
101
99
|
GLint *ary1;
|
102
100
|
GLsizei *ary2;
|
103
101
|
int len1,len2;
|
102
|
+
DECL_GL_FUNC_PTR(GLvoid,glMultiDrawArrays,(GLenum,GLint*,GLsizei*,GLsizei));
|
104
103
|
LOAD_GL_FUNC(glMultiDrawArrays, "1.4");
|
105
104
|
len1 = (int)RARRAY_LENINT(arg2);
|
106
105
|
len2 = (int)RARRAY_LENINT(arg3);
|
@@ -118,7 +117,6 @@ VALUE obj,arg1,arg2,arg3;
|
|
118
117
|
return Qnil;
|
119
118
|
}
|
120
119
|
|
121
|
-
static void (APIENTRY * fptr_glMultiDrawElements)(GLenum,const GLsizei *,GLenum,GLvoid **,GLsizei);
|
122
120
|
static VALUE
|
123
121
|
gl_MultiDrawElements(argc,argv,obj)
|
124
122
|
int argc;
|
@@ -132,11 +130,12 @@ VALUE obj;
|
|
132
130
|
GLint size;
|
133
131
|
int i;
|
134
132
|
VALUE ary, args[4];
|
133
|
+
DECL_GL_FUNC_PTR(GLvoid,glMultiDrawElements,(GLenum,const GLsizei *,GLenum,GLvoid **,GLsizei));
|
135
134
|
LOAD_GL_FUNC(glMultiDrawElements, "1.4");
|
136
135
|
switch (rb_scan_args(argc, argv, "31", &args[0], &args[1], &args[2],&args[3])) {
|
137
136
|
default:
|
138
137
|
case 3:
|
139
|
-
if (
|
138
|
+
if (CHECK_BUFFER_BINDING(GL_ELEMENT_ARRAY_BUFFER_BINDING))
|
140
139
|
rb_raise(rb_eArgError, "Element array buffer bound, but offsets array missing");
|
141
140
|
mode = (GLenum)NUM2INT(args[0]);
|
142
141
|
type = (GLenum)NUM2INT(args[1]);
|
@@ -156,7 +155,7 @@ VALUE obj;
|
|
156
155
|
xfree(indices);
|
157
156
|
break;
|
158
157
|
case 4:
|
159
|
-
if (!
|
158
|
+
if (!CHECK_BUFFER_BINDING(GL_ELEMENT_ARRAY_BUFFER_BINDING))
|
160
159
|
rb_raise(rb_eArgError, "Element array buffer not bound");
|
161
160
|
mode = (GLenum)NUM2INT(args[0]);
|
162
161
|
type = (GLenum)NUM2INT(args[1]);
|
@@ -182,7 +181,6 @@ VALUE obj;
|
|
182
181
|
return Qnil;
|
183
182
|
}
|
184
183
|
|
185
|
-
static void (APIENTRY * fptr_glPointParameterfv)(GLenum,GLfloat *);
|
186
184
|
static VALUE
|
187
185
|
gl_PointParameterfv(obj,arg1,arg2)
|
188
186
|
VALUE obj,arg1,arg2;
|
@@ -190,6 +188,7 @@ VALUE obj,arg1,arg2;
|
|
190
188
|
GLenum pname;
|
191
189
|
GLfloat params[3] = {(GLfloat)0.0,(GLfloat)0.0,(GLfloat)0.0};
|
192
190
|
GLint size;
|
191
|
+
DECL_GL_FUNC_PTR(GLvoid,glPointParameterfv,(GLenum,GLfloat *));
|
193
192
|
LOAD_GL_FUNC(glPointParameterfv, "1.4");
|
194
193
|
pname = (GLenum)NUM2INT(arg1);
|
195
194
|
Check_Type(arg2,T_ARRAY);
|
@@ -203,7 +202,6 @@ VALUE obj,arg1,arg2;
|
|
203
202
|
return Qnil;
|
204
203
|
}
|
205
204
|
|
206
|
-
static void (APIENTRY * fptr_glPointParameteriv)(GLenum,GLint *);
|
207
205
|
static VALUE
|
208
206
|
gl_PointParameteriv(obj,arg1,arg2)
|
209
207
|
VALUE obj,arg1,arg2;
|
@@ -211,6 +209,7 @@ VALUE obj,arg1,arg2;
|
|
211
209
|
GLenum pname;
|
212
210
|
GLint params[3] = {0,0,0};
|
213
211
|
GLint size;
|
212
|
+
DECL_GL_FUNC_PTR(GLvoid,glPointParameteriv,(GLenum,GLint *));
|
214
213
|
LOAD_GL_FUNC(glPointParameteriv, "1.4");
|
215
214
|
pname = (GLenum)NUM2INT(arg1);
|
216
215
|
Check_Type(arg2,T_ARRAY);
|
@@ -225,10 +224,10 @@ VALUE obj,arg1,arg2;
|
|
225
224
|
}
|
226
225
|
|
227
226
|
#define GLSECONDARYCOLOR_VFUNC(_name_,_type_,_conv_) \
|
228
|
-
static void (APIENTRY * fptr_gl##_name_)(_type_ *); \
|
229
227
|
VALUE gl_##_name_(VALUE obj,VALUE arg1) \
|
230
228
|
{ \
|
231
229
|
_type_ cary[3] = {0,0,0}; \
|
230
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(_type_ *)); \
|
232
231
|
LOAD_GL_FUNC(gl##_name_, "1.4"); \
|
233
232
|
Check_Type(arg1,T_ARRAY); \
|
234
233
|
_conv_(arg1,cary,3); \
|
@@ -247,8 +246,6 @@ GLSECONDARYCOLOR_VFUNC(SecondaryColor3ubv,GLubyte,ary2cubyte)
|
|
247
246
|
GLSECONDARYCOLOR_VFUNC(SecondaryColor3usv,GLushort,ary2cushort)
|
248
247
|
#undef GLSECONDARYCOLOR_VFUNC
|
249
248
|
|
250
|
-
extern VALUE g_SecondaryColor_ptr;
|
251
|
-
static void (APIENTRY * fptr_glSecondaryColorPointer)(GLint,GLenum,GLsizei,const GLvoid *);
|
252
249
|
static VALUE
|
253
250
|
gl_SecondaryColorPointer(obj,arg1,arg2,arg3,arg4)
|
254
251
|
VALUE obj,arg1,arg2,arg3,arg4;
|
@@ -256,18 +253,19 @@ VALUE obj,arg1,arg2,arg3,arg4;
|
|
256
253
|
GLint size;
|
257
254
|
GLenum type;
|
258
255
|
GLsizei stride;
|
256
|
+
DECL_GL_FUNC_PTR(GLvoid,glSecondaryColorPointer,(GLint,GLenum,GLsizei,const GLvoid *));
|
259
257
|
LOAD_GL_FUNC(glSecondaryColorPointer, "1.4");
|
260
258
|
size = (GLint)NUM2INT(arg1);
|
261
259
|
type = (GLenum)NUM2INT(arg2);
|
262
260
|
stride = (GLsizei)NUM2UINT(arg3);
|
263
|
-
if (
|
264
|
-
|
261
|
+
if (CHECK_BUFFER_BINDING(GL_ARRAY_BUFFER_BINDING)) {
|
262
|
+
SET_GLIMPL_VARIABLE(SecondaryColor_ptr, arg4);
|
265
263
|
fptr_glSecondaryColorPointer(size,type, stride, (const GLvoid*)NUM2SIZET(arg4));
|
266
264
|
} else {
|
267
265
|
VALUE data;
|
268
266
|
data = pack_array_or_pass_string(type,arg4);
|
269
267
|
rb_str_freeze(data);
|
270
|
-
|
268
|
+
SET_GLIMPL_VARIABLE(SecondaryColor_ptr, data);
|
271
269
|
fptr_glSecondaryColorPointer(size,type, stride, (const GLvoid*)RSTRING_PTR(data));
|
272
270
|
}
|
273
271
|
CHECK_GLERROR_FROM("glSecondaryColorPointer");
|
@@ -275,10 +273,10 @@ VALUE obj,arg1,arg2,arg3,arg4;
|
|
275
273
|
}
|
276
274
|
|
277
275
|
#define GLWINDOWPOS_VFUNC(_name_,_type_,_size_,_conv_) \
|
278
|
-
static void (APIENTRY * fptr_gl##_name_)(_type_ *); \
|
279
276
|
VALUE gl_##_name_(VALUE obj,VALUE arg1) \
|
280
277
|
{ \
|
281
278
|
_type_ cary[3] = {0,0,0}; \
|
279
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(_type_ *)); \
|
282
280
|
LOAD_GL_FUNC(gl##_name_, "1.4"); \
|
283
281
|
Check_Type(arg1,T_ARRAY); \
|
284
282
|
_conv_(arg1,cary,_size_); \
|
@@ -298,51 +296,51 @@ GLWINDOWPOS_VFUNC(WindowPos3sv,GLshort,3,ary2cshort)
|
|
298
296
|
#undef GLWINDOWPOS_VFUNC
|
299
297
|
|
300
298
|
|
301
|
-
void gl_init_functions_1_4(VALUE
|
299
|
+
void gl_init_functions_1_4(VALUE klass)
|
302
300
|
{
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
301
|
+
rb_define_method(klass, "glBlendFuncSeparate", gl_BlendFuncSeparate, 4);
|
302
|
+
rb_define_method(klass, "glFogCoordf", gl_FogCoordf, 1);
|
303
|
+
rb_define_method(klass, "glFogCoordfv", gl_FogCoordfv, 1);
|
304
|
+
rb_define_method(klass, "glFogCoordd", gl_FogCoordd, 1);
|
305
|
+
rb_define_method(klass, "glFogCoorddv", gl_FogCoorddv, 1);
|
306
|
+
rb_define_method(klass, "glFogCoordPointer", gl_FogCoordPointer, 3);
|
307
|
+
rb_define_method(klass, "glMultiDrawArrays", gl_MultiDrawArrays, 3);
|
308
|
+
rb_define_method(klass, "glMultiDrawElements", gl_MultiDrawElements, -1);
|
309
|
+
rb_define_method(klass, "glPointParameterf", gl_PointParameterf, 2);
|
310
|
+
rb_define_method(klass, "glPointParameterfv", gl_PointParameterfv, 2);
|
311
|
+
rb_define_method(klass, "glPointParameteri", gl_PointParameteri, 2);
|
312
|
+
rb_define_method(klass, "glPointParameteriv", gl_PointParameteriv, 2);
|
313
|
+
rb_define_method(klass, "glSecondaryColor3b", gl_SecondaryColor3b, 3);
|
314
|
+
rb_define_method(klass, "glSecondaryColor3d", gl_SecondaryColor3d, 3);
|
315
|
+
rb_define_method(klass, "glSecondaryColor3f", gl_SecondaryColor3f, 3);
|
316
|
+
rb_define_method(klass, "glSecondaryColor3i", gl_SecondaryColor3i, 3);
|
317
|
+
rb_define_method(klass, "glSecondaryColor3s", gl_SecondaryColor3s, 3);
|
318
|
+
rb_define_method(klass, "glSecondaryColor3ub", gl_SecondaryColor3ub, 3);
|
319
|
+
rb_define_method(klass, "glSecondaryColor3ui", gl_SecondaryColor3ui, 3);
|
320
|
+
rb_define_method(klass, "glSecondaryColor3us", gl_SecondaryColor3us, 3);
|
321
|
+
rb_define_method(klass, "glSecondaryColor3bv", gl_SecondaryColor3bv, 1);
|
322
|
+
rb_define_method(klass, "glSecondaryColor3dv", gl_SecondaryColor3dv, 1);
|
323
|
+
rb_define_method(klass, "glSecondaryColor3fv", gl_SecondaryColor3fv, 1);
|
324
|
+
rb_define_method(klass, "glSecondaryColor3iv", gl_SecondaryColor3iv, 1);
|
325
|
+
rb_define_method(klass, "glSecondaryColor3sv", gl_SecondaryColor3sv, 1);
|
326
|
+
rb_define_method(klass, "glSecondaryColor3ubv", gl_SecondaryColor3ubv, 1);
|
327
|
+
rb_define_method(klass, "glSecondaryColor3uiv", gl_SecondaryColor3uiv, 1);
|
328
|
+
rb_define_method(klass, "glSecondaryColor3usv", gl_SecondaryColor3usv, 1);
|
329
|
+
rb_define_method(klass, "glSecondaryColorPointer", gl_SecondaryColorPointer, 4);
|
330
|
+
rb_define_method(klass, "glWindowPos2d", gl_WindowPos2d, 2);
|
331
|
+
rb_define_method(klass, "glWindowPos2f", gl_WindowPos2f, 2);
|
332
|
+
rb_define_method(klass, "glWindowPos2i", gl_WindowPos2i, 2);
|
333
|
+
rb_define_method(klass, "glWindowPos2s", gl_WindowPos2s, 2);
|
334
|
+
rb_define_method(klass, "glWindowPos3d", gl_WindowPos3d, 3);
|
335
|
+
rb_define_method(klass, "glWindowPos3f", gl_WindowPos3f, 3);
|
336
|
+
rb_define_method(klass, "glWindowPos3i", gl_WindowPos3i, 3);
|
337
|
+
rb_define_method(klass, "glWindowPos3s", gl_WindowPos3s, 3);
|
338
|
+
rb_define_method(klass, "glWindowPos2dv", gl_WindowPos2dv, 1);
|
339
|
+
rb_define_method(klass, "glWindowPos2fv", gl_WindowPos2fv, 1);
|
340
|
+
rb_define_method(klass, "glWindowPos2iv", gl_WindowPos2iv, 1);
|
341
|
+
rb_define_method(klass, "glWindowPos2sv", gl_WindowPos2sv, 1);
|
342
|
+
rb_define_method(klass, "glWindowPos3dv", gl_WindowPos3dv, 1);
|
343
|
+
rb_define_method(klass, "glWindowPos3fv", gl_WindowPos3fv, 1);
|
344
|
+
rb_define_method(klass, "glWindowPos3iv", gl_WindowPos3iv, 1);
|
345
|
+
rb_define_method(klass, "glWindowPos3sv", gl_WindowPos3sv, 1);
|
348
346
|
}
|