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.5.c
CHANGED
@@ -27,7 +27,6 @@ GL_FUNC_DELETEOBJECTS_LOAD(DeleteQueries, "1.5");
|
|
27
27
|
GL_FUNC_GENOBJECTS_LOAD(GenBuffers, "1.5");
|
28
28
|
GL_FUNC_DELETEOBJECTS_LOAD(DeleteBuffers, "1.5");
|
29
29
|
|
30
|
-
static void (APIENTRY * fptr_glGetQueryiv)(GLenum,GLenum,GLint *);
|
31
30
|
static VALUE
|
32
31
|
gl_GetQueryiv(obj,arg1,arg2)
|
33
32
|
VALUE obj,arg1,arg2;
|
@@ -35,6 +34,7 @@ VALUE obj,arg1,arg2;
|
|
35
34
|
GLenum target;
|
36
35
|
GLenum pname;
|
37
36
|
GLint params = 0;
|
37
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetQueryiv,(GLenum,GLenum,GLint *));
|
38
38
|
LOAD_GL_FUNC(glGetQueryiv, "1.5");
|
39
39
|
target = (GLenum)NUM2INT(arg1);
|
40
40
|
pname = (GLenum)NUM2INT(arg2);
|
@@ -43,7 +43,6 @@ VALUE obj,arg1,arg2;
|
|
43
43
|
return RETCONV_GLint(params);
|
44
44
|
}
|
45
45
|
|
46
|
-
static void (APIENTRY * fptr_glGetQueryObjectiv)(GLuint,GLenum,GLint *);
|
47
46
|
static VALUE
|
48
47
|
gl_GetQueryObjectiv(obj,arg1,arg2)
|
49
48
|
VALUE obj,arg1,arg2;
|
@@ -51,6 +50,7 @@ VALUE obj,arg1,arg2;
|
|
51
50
|
GLuint id;
|
52
51
|
GLenum pname;
|
53
52
|
GLint params = 0;
|
53
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetQueryObjectiv,(GLuint,GLenum,GLint *));
|
54
54
|
LOAD_GL_FUNC(glGetQueryObjectiv, "1.5");
|
55
55
|
id = (GLuint)NUM2UINT(arg1);
|
56
56
|
pname = (GLenum)NUM2INT(arg2);
|
@@ -59,7 +59,6 @@ VALUE obj,arg1,arg2;
|
|
59
59
|
return cond_GLBOOL2RUBY(pname,params);
|
60
60
|
}
|
61
61
|
|
62
|
-
static void (APIENTRY * fptr_glGetQueryObjectuiv)(GLuint,GLenum,GLuint *);
|
63
62
|
static VALUE
|
64
63
|
gl_GetQueryObjectuiv(obj,arg1,arg2)
|
65
64
|
VALUE obj,arg1,arg2;
|
@@ -67,6 +66,7 @@ VALUE obj,arg1,arg2;
|
|
67
66
|
GLuint id;
|
68
67
|
GLenum pname;
|
69
68
|
GLuint params = 0;
|
69
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetQueryObjectuiv,(GLuint,GLenum,GLuint *));
|
70
70
|
LOAD_GL_FUNC(glGetQueryObjectuiv, "1.5");
|
71
71
|
id = (GLuint)NUM2UINT(arg1);
|
72
72
|
pname = (GLenum)NUM2INT(arg2);
|
@@ -75,7 +75,6 @@ VALUE obj,arg1,arg2;
|
|
75
75
|
return cond_GLBOOL2RUBY_U(pname,params);
|
76
76
|
}
|
77
77
|
|
78
|
-
static void (APIENTRY * fptr_glBufferData)(GLenum,GLsizeiptr,GLvoid *,GLenum);
|
79
78
|
static VALUE
|
80
79
|
gl_BufferData(obj,arg1,arg2,arg3,arg4)
|
81
80
|
VALUE obj,arg1,arg2,arg3,arg4;
|
@@ -83,6 +82,7 @@ VALUE obj,arg1,arg2,arg3,arg4;
|
|
83
82
|
GLenum target;
|
84
83
|
GLsizeiptr size;
|
85
84
|
GLenum usage;
|
85
|
+
DECL_GL_FUNC_PTR(GLvoid,glBufferData,(GLenum,GLsizeiptr,GLvoid *,GLenum));
|
86
86
|
LOAD_GL_FUNC(glBufferData, "1.5");
|
87
87
|
target = (GLenum)NUM2INT(arg1);
|
88
88
|
size = (GLsizeiptr)NUM2INT(arg2);
|
@@ -98,7 +98,6 @@ VALUE obj,arg1,arg2,arg3,arg4;
|
|
98
98
|
return Qnil;
|
99
99
|
}
|
100
100
|
|
101
|
-
static void (APIENTRY * fptr_glBufferSubData)(GLenum,GLintptr,GLsizeiptr,GLvoid *);
|
102
101
|
static VALUE
|
103
102
|
gl_BufferSubData(obj,arg1,arg2,arg3,arg4)
|
104
103
|
VALUE obj,arg1,arg2,arg3,arg4;
|
@@ -106,6 +105,7 @@ VALUE obj,arg1,arg2,arg3,arg4;
|
|
106
105
|
GLenum target;
|
107
106
|
GLintptr offset;
|
108
107
|
GLsizeiptr size;
|
108
|
+
DECL_GL_FUNC_PTR(GLvoid,glBufferSubData,(GLenum,GLintptr,GLsizeiptr,GLvoid *));
|
109
109
|
LOAD_GL_FUNC(glBufferSubData, "1.5");
|
110
110
|
target = (GLenum)NUM2INT(arg1);
|
111
111
|
offset = (GLintptr)NUM2INT(arg2);
|
@@ -116,7 +116,6 @@ VALUE obj,arg1,arg2,arg3,arg4;
|
|
116
116
|
return Qnil;
|
117
117
|
}
|
118
118
|
|
119
|
-
static void (APIENTRY * fptr_glGetBufferSubData)(GLenum,GLintptr,GLsizeiptr,GLvoid *);
|
120
119
|
static VALUE
|
121
120
|
gl_GetBufferSubData(obj,arg1,arg2,arg3)
|
122
121
|
VALUE obj,arg1,arg2,arg3;
|
@@ -125,6 +124,7 @@ VALUE obj,arg1,arg2,arg3;
|
|
125
124
|
GLintptr offset;
|
126
125
|
GLsizeiptr size;
|
127
126
|
VALUE data;
|
127
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetBufferSubData,(GLenum,GLintptr,GLsizeiptr,GLvoid *));
|
128
128
|
LOAD_GL_FUNC(glGetBufferSubData, "1.5");
|
129
129
|
target = (GLenum)NUM2INT(arg1);
|
130
130
|
offset = (GLintptr)NUM2INT(arg2);
|
@@ -135,7 +135,6 @@ VALUE obj,arg1,arg2,arg3;
|
|
135
135
|
return data;
|
136
136
|
}
|
137
137
|
|
138
|
-
static void (APIENTRY * fptr_glGetBufferParameteriv)(GLenum,GLenum,GLint *);
|
139
138
|
static VALUE
|
140
139
|
gl_GetBufferParameteriv(obj,arg1,arg2)
|
141
140
|
VALUE obj,arg1,arg2;
|
@@ -143,6 +142,7 @@ VALUE obj,arg1,arg2;
|
|
143
142
|
GLenum target;
|
144
143
|
GLenum value;
|
145
144
|
GLint data = 0;
|
145
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetBufferParameteriv,(GLenum,GLenum,GLint *));
|
146
146
|
LOAD_GL_FUNC(glGetBufferParameteriv, "1.5");
|
147
147
|
target = (GLenum)NUM2INT(arg1);
|
148
148
|
value = (GLenum)NUM2INT(arg2);
|
@@ -151,14 +151,15 @@ VALUE obj,arg1,arg2;
|
|
151
151
|
return cond_GLBOOL2RUBY(value,data);
|
152
152
|
}
|
153
153
|
|
154
|
-
static GLvoid * (APIENTRY * fptr_glMapBuffer)(GLenum,GLenum);
|
155
154
|
static VALUE
|
156
|
-
gl_MapBuffer(VALUE
|
155
|
+
gl_MapBuffer(VALUE obj, VALUE _target, VALUE _access) {
|
157
156
|
GLenum target = CONV_GLenum(_target);
|
158
157
|
GLenum access = CONV_GLenum(_access);
|
159
158
|
GLint size = 0;
|
160
159
|
GLvoid *buffer_ptr = NULL;
|
161
160
|
|
161
|
+
DECL_GL_FUNC_PTR(GLvoid *,glMapBuffer,(GLenum,GLenum));
|
162
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetBufferParameteriv,(GLenum,GLenum,GLint *));
|
162
163
|
LOAD_GL_FUNC(glMapBuffer, "1.5");
|
163
164
|
LOAD_GL_FUNC(glGetBufferParameteriv, "1.5");
|
164
165
|
|
@@ -175,13 +176,13 @@ gl_MapBuffer(VALUE self, VALUE _target, VALUE _access) {
|
|
175
176
|
return rb_str_new(buffer_ptr, size);
|
176
177
|
}
|
177
178
|
|
178
|
-
static GLboolean (APIENTRY * fptr_glUnmapBuffer)(GLenum);
|
179
179
|
static VALUE
|
180
180
|
gl_UnmapBuffer(obj,arg1)
|
181
181
|
VALUE obj,arg1;
|
182
182
|
{
|
183
183
|
GLenum target;
|
184
184
|
GLboolean ret;
|
185
|
+
DECL_GL_FUNC_PTR(GLboolean,glUnmapBuffer,(GLenum));
|
185
186
|
LOAD_GL_FUNC(glUnmapBuffer, "1.5");
|
186
187
|
target = (GLenum)NUM2INT(arg1);
|
187
188
|
ret = fptr_glUnmapBuffer(target);
|
@@ -189,36 +190,36 @@ VALUE obj,arg1;
|
|
189
190
|
return GLBOOL2RUBY(ret);
|
190
191
|
}
|
191
192
|
|
192
|
-
static void (APIENTRY * fptr_glGetBufferPointerv)(GLenum,GLenum,GLvoid **);
|
193
193
|
static VALUE
|
194
194
|
gl_GetBufferPointerv(obj,arg1,arg2,arg3)
|
195
195
|
VALUE obj,arg1,arg2,arg3;
|
196
196
|
{
|
197
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetBufferPointerv,(GLenum,GLenum,GLvoid **));
|
197
198
|
LOAD_GL_FUNC(glGetBufferPointerv, "1.5");
|
198
199
|
rb_raise(rb_eArgError, "glGetBufferPointerv not implemented");
|
199
200
|
CHECK_GLERROR_FROM("glGetBufferPointerv");
|
200
201
|
return Qnil;
|
201
202
|
}
|
202
203
|
|
203
|
-
void gl_init_functions_1_5(VALUE
|
204
|
+
void gl_init_functions_1_5(VALUE klass)
|
204
205
|
{
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
206
|
+
rb_define_method(klass, "glGenQueries", gl_GenQueries, 1);
|
207
|
+
rb_define_method(klass, "glDeleteQueries", gl_DeleteQueries, 1);
|
208
|
+
rb_define_method(klass, "glIsQuery", gl_IsQuery, 1);
|
209
|
+
rb_define_method(klass, "glBeginQuery", gl_BeginQuery, 2);
|
210
|
+
rb_define_method(klass, "glEndQuery", gl_EndQuery, 1);
|
211
|
+
rb_define_method(klass, "glGetQueryiv", gl_GetQueryiv, 2);
|
212
|
+
rb_define_method(klass, "glGetQueryObjectiv", gl_GetQueryObjectiv, 2);
|
213
|
+
rb_define_method(klass, "glGetQueryObjectuiv", gl_GetQueryObjectuiv, 2);
|
214
|
+
rb_define_method(klass, "glBindBuffer", gl_BindBuffer, 2);
|
215
|
+
rb_define_method(klass, "glDeleteBuffers", gl_DeleteBuffers, 1);
|
216
|
+
rb_define_method(klass, "glGenBuffers", gl_GenBuffers, 1);
|
217
|
+
rb_define_method(klass, "glIsBuffer", gl_IsBuffer, 1);
|
218
|
+
rb_define_method(klass, "glBufferData", gl_BufferData, 4);
|
219
|
+
rb_define_method(klass, "glBufferSubData", gl_BufferSubData, 4);
|
220
|
+
rb_define_method(klass, "glGetBufferSubData", gl_GetBufferSubData, 3);
|
221
|
+
rb_define_method(klass, "glMapBuffer", gl_MapBuffer, 2);
|
222
|
+
rb_define_method(klass, "glUnmapBuffer", gl_UnmapBuffer, 1);
|
223
|
+
rb_define_method(klass, "glGetBufferParameteriv", gl_GetBufferParameteriv, 2);
|
224
|
+
rb_define_method(klass, "glGetBufferPointerv", gl_GetBufferPointerv, 3);
|
224
225
|
}
|
data/ext/opengl/gl-2.0.c
CHANGED
@@ -55,13 +55,13 @@ GL_FUNC_LOAD_5(VertexAttrib4f,GLvoid, GLuint,GLfloat,GLfloat,GLfloat,GLfloat, "2
|
|
55
55
|
GL_FUNC_LOAD_5(VertexAttrib4s,GLvoid, GLuint,GLshort,GLshort,GLshort,GLshort, "2.0")
|
56
56
|
GL_FUNC_LOAD_5(VertexAttrib4Nub,GLvoid, GLuint,GLubyte,GLubyte,GLubyte,GLubyte, "2.0")
|
57
57
|
|
58
|
-
static void (APIENTRY * fptr_glDrawBuffers)(GLsizei,GLenum *);
|
59
58
|
static VALUE
|
60
59
|
gl_DrawBuffers(obj,arg1)
|
61
60
|
VALUE obj,arg1;
|
62
61
|
{
|
63
62
|
GLsizei size;
|
64
63
|
GLenum *buffers;
|
64
|
+
DECL_GL_FUNC_PTR(GLvoid,glDrawBuffers,(GLsizei,GLenum *));
|
65
65
|
LOAD_GL_FUNC(glDrawBuffers, "2.0");
|
66
66
|
Check_Type(arg1,T_ARRAY);
|
67
67
|
size = (GLsizei)RARRAY_LENINT(arg1);
|
@@ -73,13 +73,13 @@ VALUE obj,arg1;
|
|
73
73
|
return Qnil;
|
74
74
|
}
|
75
75
|
|
76
|
-
static void (APIENTRY * fptr_glBindAttribLocation)(GLuint,GLuint,GLchar *);
|
77
76
|
static VALUE
|
78
77
|
gl_BindAttribLocation(obj,arg1,arg2,arg3)
|
79
78
|
VALUE obj,arg1,arg2,arg3;
|
80
79
|
{
|
81
80
|
GLuint program;
|
82
81
|
GLuint index;
|
82
|
+
DECL_GL_FUNC_PTR(GLvoid,glBindAttribLocation,(GLuint,GLuint,GLchar *));
|
83
83
|
LOAD_GL_FUNC(glBindAttribLocation, "2.0");
|
84
84
|
program = (GLuint)NUM2UINT(arg1);
|
85
85
|
index = (GLuint)NUM2UINT(arg2);
|
@@ -89,7 +89,6 @@ VALUE obj,arg1,arg2,arg3;
|
|
89
89
|
return Qnil;
|
90
90
|
}
|
91
91
|
|
92
|
-
static void (APIENTRY * fptr_glGetProgramiv)(GLuint,GLenum,GLint *);
|
93
92
|
static VALUE
|
94
93
|
gl_GetProgramiv(obj,arg1,arg2)
|
95
94
|
VALUE obj,arg1,arg2;
|
@@ -97,6 +96,7 @@ VALUE obj,arg1,arg2;
|
|
97
96
|
GLuint program;
|
98
97
|
GLenum pname;
|
99
98
|
GLint params = 0;
|
99
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetProgramiv,(GLuint,GLenum,GLint *));
|
100
100
|
LOAD_GL_FUNC(glGetProgramiv, "2.0");
|
101
101
|
program = (GLuint)NUM2UINT(arg1);
|
102
102
|
pname = (GLenum)NUM2INT(arg2);
|
@@ -105,7 +105,6 @@ VALUE obj,arg1,arg2;
|
|
105
105
|
return cond_GLBOOL2RUBY(pname,params);
|
106
106
|
}
|
107
107
|
|
108
|
-
static void (APIENTRY * fptr_glGetActiveAttrib)(GLuint,GLuint,GLsizei,GLsizei *,GLint *,GLenum *,GLchar *);
|
109
108
|
static VALUE
|
110
109
|
gl_GetActiveAttrib(obj,arg1,arg2)
|
111
110
|
VALUE obj,arg1,arg2;
|
@@ -118,6 +117,8 @@ VALUE obj,arg1,arg2;
|
|
118
117
|
GLenum attrib_type = 0;
|
119
118
|
VALUE buffer;
|
120
119
|
VALUE retary;
|
120
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetActiveAttrib,(GLuint,GLuint,GLsizei,GLsizei *,GLint *,GLenum *,GLchar *));
|
121
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetProgramiv,(GLuint,GLenum,GLint *));
|
121
122
|
LOAD_GL_FUNC(glGetActiveAttrib, "2.0");
|
122
123
|
LOAD_GL_FUNC(glGetProgramiv, "2.0");
|
123
124
|
program = (GLuint)NUM2UINT(arg1);
|
@@ -139,7 +140,6 @@ VALUE obj,arg1,arg2;
|
|
139
140
|
return retary;
|
140
141
|
}
|
141
142
|
|
142
|
-
static void (APIENTRY * fptr_glGetActiveUniform)(GLuint,GLuint,GLsizei,GLsizei*,GLint*,GLenum*,GLchar*);
|
143
143
|
static VALUE
|
144
144
|
gl_GetActiveUniform(obj,arg1,arg2)
|
145
145
|
VALUE obj,arg1,arg2;
|
@@ -152,6 +152,8 @@ VALUE obj,arg1,arg2;
|
|
152
152
|
GLenum uniform_type = 0;
|
153
153
|
VALUE buffer;
|
154
154
|
VALUE retary;
|
155
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetActiveUniform,(GLuint,GLuint,GLsizei,GLsizei*,GLint*,GLenum*,GLchar*));
|
156
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetProgramiv,(GLuint,GLenum,GLint *));
|
155
157
|
LOAD_GL_FUNC(glGetActiveUniform, "2.0");
|
156
158
|
LOAD_GL_FUNC(glGetProgramiv, "2.0");
|
157
159
|
program = (GLuint)NUM2UINT(arg1);
|
@@ -173,7 +175,6 @@ VALUE obj,arg1,arg2;
|
|
173
175
|
return retary;
|
174
176
|
}
|
175
177
|
|
176
|
-
static void (APIENTRY * fptr_glGetAttachedShaders)(GLuint,GLsizei,GLsizei *,GLuint *);
|
177
178
|
static VALUE
|
178
179
|
gl_GetAttachedShaders(obj,arg1)
|
179
180
|
VALUE obj,arg1;
|
@@ -182,6 +183,8 @@ VALUE obj,arg1;
|
|
182
183
|
GLint shaders_num = 0;
|
183
184
|
GLuint *shaders;
|
184
185
|
GLsizei count = 0;
|
186
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetAttachedShaders,(GLuint,GLsizei,GLsizei *,GLuint *));
|
187
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetProgramiv,(GLuint,GLenum,GLint *));
|
185
188
|
LOAD_GL_FUNC(glGetAttachedShaders, "2.0");
|
186
189
|
LOAD_GL_FUNC(glGetProgramiv, "2.0");
|
187
190
|
program = (GLuint)NUM2UINT(arg1);
|
@@ -195,13 +198,13 @@ VALUE obj,arg1;
|
|
195
198
|
shaders);
|
196
199
|
}
|
197
200
|
|
198
|
-
static GLint (APIENTRY * fptr_glGetAttribLocation)(GLuint, GLchar *);
|
199
201
|
static VALUE
|
200
202
|
gl_GetAttribLocation(obj,arg1,arg2)
|
201
203
|
VALUE obj,arg1,arg2;
|
202
204
|
{
|
203
205
|
GLuint program;
|
204
206
|
GLint ret;
|
207
|
+
DECL_GL_FUNC_PTR(GLint,glGetAttribLocation,(GLuint, GLchar *));
|
205
208
|
LOAD_GL_FUNC(glGetAttribLocation, "2.0");
|
206
209
|
program=(GLuint)NUM2UINT(arg1);
|
207
210
|
Check_Type(arg2,T_STRING);
|
@@ -210,7 +213,6 @@ VALUE obj,arg1,arg2;
|
|
210
213
|
return INT2NUM(ret);
|
211
214
|
}
|
212
215
|
|
213
|
-
static void (APIENTRY * fptr_glGetProgramInfoLog)(GLuint,GLsizei,GLsizei *,GLchar *);
|
214
216
|
static VALUE
|
215
217
|
gl_GetProgramInfoLog(obj,arg1)
|
216
218
|
VALUE obj,arg1;
|
@@ -219,6 +221,8 @@ VALUE obj,arg1;
|
|
219
221
|
GLint max_size = 0;
|
220
222
|
GLsizei ret_length = 0;
|
221
223
|
VALUE buffer;
|
224
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetProgramInfoLog,(GLuint,GLsizei,GLsizei *,GLchar *));
|
225
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetProgramiv,(GLuint,GLenum,GLint *));
|
222
226
|
LOAD_GL_FUNC(glGetProgramInfoLog, "2.0");
|
223
227
|
LOAD_GL_FUNC(glGetProgramiv, "2.0");
|
224
228
|
program = (GLuint)NUM2UINT(arg1);
|
@@ -233,7 +237,6 @@ VALUE obj,arg1;
|
|
233
237
|
return buffer;
|
234
238
|
}
|
235
239
|
|
236
|
-
static void (APIENTRY * fptr_glGetShaderiv)(GLuint,GLenum,GLint *);
|
237
240
|
static VALUE
|
238
241
|
gl_GetShaderiv(obj,arg1,arg2)
|
239
242
|
VALUE obj,arg1,arg2;
|
@@ -241,6 +244,7 @@ VALUE obj,arg1,arg2;
|
|
241
244
|
GLuint program;
|
242
245
|
GLenum pname;
|
243
246
|
GLint params = 0;
|
247
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetShaderiv,(GLuint,GLenum,GLint *));
|
244
248
|
LOAD_GL_FUNC(glGetShaderiv, "2.0");
|
245
249
|
program = (GLuint)NUM2UINT(arg1);
|
246
250
|
pname = (GLenum)NUM2INT(arg2);
|
@@ -249,7 +253,6 @@ VALUE obj,arg1,arg2;
|
|
249
253
|
return cond_GLBOOL2RUBY(pname,params);
|
250
254
|
}
|
251
255
|
|
252
|
-
static void (APIENTRY * fptr_glGetShaderInfoLog)(GLuint,GLsizei,GLsizei *,GLchar *);
|
253
256
|
static VALUE
|
254
257
|
gl_GetShaderInfoLog(obj,arg1)
|
255
258
|
VALUE obj,arg1;
|
@@ -259,6 +262,8 @@ VALUE obj,arg1;
|
|
259
262
|
GLsizei ret_length = 0;
|
260
263
|
VALUE ret_buffer;
|
261
264
|
GLchar *buffer;
|
265
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetShaderInfoLog,(GLuint,GLsizei,GLsizei *,GLchar *));
|
266
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetShaderiv,(GLuint,GLenum,GLint *));
|
262
267
|
LOAD_GL_FUNC(glGetShaderInfoLog, "2.0");
|
263
268
|
LOAD_GL_FUNC(glGetShaderiv, "2.0");
|
264
269
|
program = (GLuint)NUM2UINT(arg1);
|
@@ -275,7 +280,6 @@ VALUE obj,arg1;
|
|
275
280
|
return ret_buffer;
|
276
281
|
}
|
277
282
|
|
278
|
-
static void (APIENTRY * fptr_glGetShaderSource)(GLuint,GLsizei,GLsizei *,GLchar *);
|
279
283
|
static VALUE
|
280
284
|
gl_GetShaderSource(obj,arg1)
|
281
285
|
VALUE obj,arg1;
|
@@ -284,6 +288,8 @@ VALUE obj,arg1;
|
|
284
288
|
GLint max_size = 0;
|
285
289
|
GLsizei ret_length = 0;
|
286
290
|
VALUE buffer;
|
291
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetShaderSource,(GLuint,GLsizei,GLsizei *,GLchar *));
|
292
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetShaderiv,(GLuint,GLenum,GLint *));
|
287
293
|
LOAD_GL_FUNC(glGetShaderSource, "2.0");
|
288
294
|
LOAD_GL_FUNC(glGetShaderiv, "2.0");
|
289
295
|
shader = (GLuint)NUM2UINT(arg1);
|
@@ -297,13 +303,13 @@ VALUE obj,arg1;
|
|
297
303
|
return buffer;
|
298
304
|
}
|
299
305
|
|
300
|
-
static GLint (APIENTRY * fptr_glGetUniformLocation)(GLuint,const GLchar*);
|
301
306
|
static VALUE
|
302
307
|
gl_GetUniformLocation(obj,arg1,arg2)
|
303
308
|
VALUE obj,arg1,arg2;
|
304
309
|
{
|
305
310
|
GLuint program;
|
306
311
|
GLint ret;
|
312
|
+
DECL_GL_FUNC_PTR(GLint,glGetUniformLocation,(GLuint,const GLchar*));
|
307
313
|
LOAD_GL_FUNC(glGetUniformLocation, "2.0");
|
308
314
|
program=(GLuint)NUM2UINT(arg1);
|
309
315
|
Check_Type(arg2,T_STRING);
|
@@ -314,7 +320,6 @@ VALUE obj,arg1,arg2;
|
|
314
320
|
}
|
315
321
|
|
316
322
|
#define GETUNIFORM_FUNC(_name_,_type_) \
|
317
|
-
static void (APIENTRY * fptr_gl##_name_)(GLuint,GLint,_type_ *); \
|
318
323
|
static VALUE \
|
319
324
|
gl_##_name_(obj,arg1,arg2) \
|
320
325
|
VALUE obj,arg1,arg2; \
|
@@ -326,6 +331,8 @@ VALUE obj,arg1,arg2; \
|
|
326
331
|
GLenum uniform_type = 0; \
|
327
332
|
GLint uniform_size = 0; \
|
328
333
|
\
|
334
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLuint,GLint,_type_ *)); \
|
335
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetActiveUniform,(GLuint,GLuint,GLsizei,GLsizei*,GLint*,GLenum*,GLchar*)); \
|
329
336
|
LOAD_GL_FUNC(gl##_name_, "2.0"); \
|
330
337
|
LOAD_GL_FUNC(glGetActiveUniform, "2.0"); \
|
331
338
|
program = (GLuint)NUM2UINT(arg1); \
|
@@ -348,7 +355,6 @@ GETUNIFORM_FUNC(GetUniformiv,GLint)
|
|
348
355
|
#undef GETUNIFORM_FUNC
|
349
356
|
|
350
357
|
#define GETVERTEXATTRIB_FUNC(_name_,_type_) \
|
351
|
-
static void (APIENTRY * fptr_gl##_name_)(GLuint,GLenum,_type_ *); \
|
352
358
|
static VALUE \
|
353
359
|
gl_##_name_(obj,arg1,arg2) \
|
354
360
|
VALUE obj,arg1,arg2; \
|
@@ -357,6 +363,7 @@ VALUE obj,arg1,arg2; \
|
|
357
363
|
GLenum pname; \
|
358
364
|
_type_ params[4] = {0,0,0,0}; \
|
359
365
|
GLint size; \
|
366
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLuint,GLenum,_type_ *)); \
|
360
367
|
LOAD_GL_FUNC(gl##_name_, "2.0"); \
|
361
368
|
index = (GLuint)NUM2UINT(arg1); \
|
362
369
|
pname = (GLenum)NUM2INT(arg2); \
|
@@ -373,7 +380,6 @@ GETVERTEXATTRIB_FUNC(GetVertexAttribfv,GLfloat)
|
|
373
380
|
//GETVERTEXATTRIB_FUNC(GetVertexAttribiv,GLint,cond_GLBOOL2RUBY)
|
374
381
|
#undef GETVERTEXATTRIB_FUNC
|
375
382
|
|
376
|
-
static void (APIENTRY * fptr_glGetVertexAttribiv)(GLuint,GLenum,GLint *);
|
377
383
|
static VALUE
|
378
384
|
gl_GetVertexAttribiv(obj,arg1,arg2)
|
379
385
|
VALUE obj,arg1,arg2;
|
@@ -382,6 +388,7 @@ VALUE obj,arg1,arg2;
|
|
382
388
|
GLenum pname;
|
383
389
|
GLint params[4] = {0,0,0,0};
|
384
390
|
GLint size;
|
391
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetVertexAttribiv,(GLuint,GLenum,GLint *));
|
385
392
|
LOAD_GL_FUNC(glGetVertexAttribiv, "2.0");
|
386
393
|
index = (GLuint)NUM2UINT(arg1);
|
387
394
|
pname = (GLenum)NUM2INT(arg2);
|
@@ -394,24 +401,20 @@ VALUE obj,arg1,arg2;
|
|
394
401
|
pname, params);
|
395
402
|
}
|
396
403
|
|
397
|
-
|
398
|
-
VALUE g_VertexAttrib_ptr[_MAX_VERTEX_ATTRIBS];
|
399
|
-
|
400
|
-
static void (APIENTRY * fptr_glGetVertexAttribPointerv)(GLuint,GLenum,GLvoid **);
|
401
404
|
static VALUE
|
402
405
|
gl_GetVertexAttribPointerv(obj,arg1)
|
403
406
|
VALUE obj,arg1;
|
404
407
|
{
|
405
408
|
GLuint index;
|
409
|
+
DECL_GL_FUNC_PTR(GLvoid,glGetVertexAttribPointerv,(GLuint,GLenum,GLvoid **));
|
406
410
|
LOAD_GL_FUNC(glGetVertexAttribPointerv, "2.0");
|
407
411
|
index =(GLuint) NUM2INT(arg1);
|
408
412
|
if (index>_MAX_VERTEX_ATTRIBS)
|
409
413
|
rb_raise(rb_eArgError, "Index too large, maximum allowed value '%i'",_MAX_VERTEX_ATTRIBS);
|
410
414
|
|
411
|
-
return
|
415
|
+
return GET_GLIMPL_VARIABLE(VertexAttrib_ptr)[index];
|
412
416
|
}
|
413
417
|
|
414
|
-
static void (APIENTRY * fptr_glShaderSource)(GLuint,GLsizei,GLchar**,GLint *);
|
415
418
|
static VALUE
|
416
419
|
gl_ShaderSource(obj,arg1,arg2)
|
417
420
|
VALUE obj,arg1,arg2;
|
@@ -419,6 +422,7 @@ VALUE obj,arg1,arg2;
|
|
419
422
|
GLuint shader;
|
420
423
|
GLint length;
|
421
424
|
GLchar *str;
|
425
|
+
DECL_GL_FUNC_PTR(GLvoid,glShaderSource,(GLuint,GLsizei,GLchar**,GLint *));
|
422
426
|
LOAD_GL_FUNC(glShaderSource, "2.0");
|
423
427
|
shader = (GLuint)NUM2UINT(arg1);
|
424
428
|
Check_Type(arg2,T_STRING);
|
@@ -430,7 +434,6 @@ VALUE obj,arg1,arg2;
|
|
430
434
|
}
|
431
435
|
|
432
436
|
#define UNIFORM_FUNC_V(_name_,_type_,_conv_,_size_) \
|
433
|
-
static void (APIENTRY * fptr_gl##_name_)(GLint,GLsizei,_type_ *); \
|
434
437
|
static VALUE \
|
435
438
|
gl_##_name_(obj,arg1,arg2) \
|
436
439
|
VALUE obj,arg1,arg2; \
|
@@ -438,6 +441,7 @@ VALUE obj,arg1,arg2; \
|
|
438
441
|
GLint location; \
|
439
442
|
GLsizei count; \
|
440
443
|
_type_ *value; \
|
444
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLint,GLsizei,_type_ *)); \
|
441
445
|
LOAD_GL_FUNC(gl##_name_,"2.0"); \
|
442
446
|
Check_Type(arg2,T_ARRAY); \
|
443
447
|
count = (GLsizei)RARRAY_LENINT(arg2); \
|
@@ -463,7 +467,6 @@ UNIFORM_FUNC_V(Uniform4iv,GLint,ary2cint,4)
|
|
463
467
|
#undef UNIFORM_FUNC_V
|
464
468
|
|
465
469
|
#define UNIFORMMATRIX_FUNC(_name_,_size_) \
|
466
|
-
static void (APIENTRY * fptr_gl##_name_)(GLint,GLsizei,GLboolean,GLfloat *); \
|
467
470
|
static VALUE \
|
468
471
|
gl_##_name_(obj,arg1,arg2,arg3) \
|
469
472
|
VALUE obj,arg1,arg2,arg3; \
|
@@ -472,6 +475,7 @@ VALUE obj,arg1,arg2,arg3; \
|
|
472
475
|
GLsizei count; \
|
473
476
|
GLboolean transpose; \
|
474
477
|
GLfloat *value; \
|
478
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLint,GLsizei,GLboolean,GLfloat *)); \
|
475
479
|
LOAD_GL_FUNC(gl##_name_, "2.0"); \
|
476
480
|
location = (GLint)NUM2INT(arg1); \
|
477
481
|
count = (GLsizei)RARRAY_LENINT(rb_funcall(rb_Array(arg3), rb_intern("flatten"), 0)); \
|
@@ -490,13 +494,13 @@ UNIFORMMATRIX_FUNC(UniformMatrix4fv,4)
|
|
490
494
|
#undef UNIFORMMATRIX_FUNC
|
491
495
|
|
492
496
|
#define VERTEXATTRIB_FUNC_V(_name_,_type_,_conv_,_size_) \
|
493
|
-
static void (APIENTRY * fptr_gl##_name_)(GLuint,_type_ *); \
|
494
497
|
static VALUE \
|
495
498
|
gl_##_name_(obj,arg1,arg2) \
|
496
499
|
VALUE obj,arg1,arg2; \
|
497
500
|
{ \
|
498
501
|
GLuint index; \
|
499
502
|
_type_ v[_size_]; \
|
503
|
+
DECL_GL_FUNC_PTR(GLvoid,gl##_name_,(GLuint,_type_ *)); \
|
500
504
|
LOAD_GL_FUNC(gl##_name_, "2.0"); \
|
501
505
|
index = (GLuint)NUM2UINT(arg1); \
|
502
506
|
_conv_(arg2,v,_size_); \
|
@@ -530,7 +534,6 @@ VERTEXATTRIB_FUNC_V(VertexAttrib1fv,GLfloat,ary2cflt,1)
|
|
530
534
|
VERTEXATTRIB_FUNC_V(VertexAttrib1sv,GLshort,ary2cshort,1)
|
531
535
|
#undef VERTEXATTRIB_FUNC_V
|
532
536
|
|
533
|
-
static void (APIENTRY * fptr_glVertexAttribPointer)(GLuint,GLint,GLenum,GLboolean,GLsizei,GLvoid *);
|
534
537
|
static VALUE
|
535
538
|
gl_VertexAttribPointer(obj,arg1,arg2,arg3,arg4,arg5,arg6)
|
536
539
|
VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6;
|
@@ -540,6 +543,7 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6;
|
|
540
543
|
GLenum type;
|
541
544
|
GLboolean normalized;
|
542
545
|
GLsizei stride;
|
546
|
+
DECL_GL_FUNC_PTR(GLvoid,glVertexAttribPointer,(GLuint,GLint,GLenum,GLboolean,GLsizei,GLvoid *));
|
543
547
|
LOAD_GL_FUNC(glVertexAttribPointer, "2.0");
|
544
548
|
index = (GLuint)NUM2UINT(arg1);
|
545
549
|
size = (GLuint)NUM2UINT(arg2);
|
@@ -549,119 +553,113 @@ VALUE obj,arg1,arg2,arg3,arg4,arg5,arg6;
|
|
549
553
|
if (index>_MAX_VERTEX_ATTRIBS)
|
550
554
|
rb_raise(rb_eArgError, "Index too large, maximum allowed value '%i'",_MAX_VERTEX_ATTRIBS);
|
551
555
|
|
552
|
-
if (
|
553
|
-
|
556
|
+
if (CHECK_BUFFER_BINDING(GL_ARRAY_BUFFER_BINDING)) {
|
557
|
+
GET_GLIMPL_VARIABLE(VertexAttrib_ptr)[index] = arg6;
|
554
558
|
fptr_glVertexAttribPointer(index,size,type,normalized,stride,(GLvoid *)NUM2SIZET(arg6));
|
555
559
|
} else {
|
556
560
|
VALUE data;
|
557
561
|
data = pack_array_or_pass_string(type,arg6);
|
558
562
|
rb_str_freeze(data);
|
559
|
-
|
563
|
+
GET_GLIMPL_VARIABLE(VertexAttrib_ptr)[index] = data;
|
560
564
|
fptr_glVertexAttribPointer(index,size,type,normalized,stride,(GLvoid *)RSTRING_PTR(data));
|
561
565
|
}
|
562
566
|
CHECK_GLERROR_FROM("glVertexAttribPointer");
|
563
567
|
return Qnil;
|
564
568
|
}
|
565
569
|
|
566
|
-
void gl_init_functions_2_0(VALUE
|
570
|
+
void gl_init_functions_2_0(VALUE klass)
|
567
571
|
{
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
{
|
663
|
-
int i;
|
664
|
-
for (i=0;i<_MAX_VERTEX_ATTRIBS;i++)
|
665
|
-
rb_global_variable(&g_VertexAttrib_ptr[i]);
|
666
|
-
}
|
572
|
+
rb_define_method(klass, "glBlendEquationSeparate", gl_BlendEquationSeparate, 2);
|
573
|
+
rb_define_method(klass, "glDrawBuffers", gl_DrawBuffers, 1);
|
574
|
+
rb_define_method(klass, "glStencilOpSeparate", gl_StencilOpSeparate, 4);
|
575
|
+
rb_define_method(klass, "glStencilFuncSeparate", gl_StencilFuncSeparate, 4);
|
576
|
+
rb_define_method(klass, "glStencilMaskSeparate", gl_StencilMaskSeparate, 2);
|
577
|
+
rb_define_method(klass, "glAttachShader", gl_AttachShader, 2);
|
578
|
+
rb_define_method(klass, "glBindAttribLocation", gl_BindAttribLocation, 3);
|
579
|
+
rb_define_method(klass, "glCompileShader", gl_CompileShader, 1);
|
580
|
+
rb_define_method(klass, "glCreateProgram", gl_CreateProgram, 0);
|
581
|
+
rb_define_method(klass, "glCreateShader", gl_CreateShader, 1);
|
582
|
+
rb_define_method(klass, "glDeleteProgram", gl_DeleteProgram, 1);
|
583
|
+
rb_define_method(klass, "glDeleteShader", gl_DeleteShader, 1);
|
584
|
+
rb_define_method(klass, "glDetachShader", gl_DetachShader, 2);
|
585
|
+
rb_define_method(klass, "glDisableVertexAttribArray", gl_DisableVertexAttribArray, 1);
|
586
|
+
rb_define_method(klass, "glEnableVertexAttribArray", gl_EnableVertexAttribArray, 1);
|
587
|
+
rb_define_method(klass, "glGetActiveAttrib", gl_GetActiveAttrib, 2);
|
588
|
+
rb_define_method(klass, "glGetActiveUniform", gl_GetActiveUniform, 2);
|
589
|
+
rb_define_method(klass, "glGetAttachedShaders", gl_GetAttachedShaders, 1);
|
590
|
+
rb_define_method(klass, "glGetAttribLocation", gl_GetAttribLocation, 2);
|
591
|
+
rb_define_method(klass, "glGetProgramiv", gl_GetProgramiv, 2);
|
592
|
+
rb_define_method(klass, "glGetProgramInfoLog", gl_GetProgramInfoLog, 1);
|
593
|
+
rb_define_method(klass, "glGetShaderiv", gl_GetShaderiv, 2);
|
594
|
+
rb_define_method(klass, "glGetShaderInfoLog", gl_GetShaderInfoLog, 1);
|
595
|
+
rb_define_method(klass, "glGetShaderSource", gl_GetShaderSource, 1);
|
596
|
+
rb_define_method(klass, "glGetUniformLocation", gl_GetUniformLocation, 2);
|
597
|
+
rb_define_method(klass, "glGetUniformfv", gl_GetUniformfv, 2);
|
598
|
+
rb_define_method(klass, "glGetUniformiv", gl_GetUniformiv, 2);
|
599
|
+
rb_define_method(klass, "glGetVertexAttribdv", gl_GetVertexAttribdv, 2);
|
600
|
+
rb_define_method(klass, "glGetVertexAttribfv", gl_GetVertexAttribfv, 2);
|
601
|
+
rb_define_method(klass, "glGetVertexAttribiv", gl_GetVertexAttribiv, 2);
|
602
|
+
rb_define_method(klass, "glGetVertexAttribPointerv", gl_GetVertexAttribPointerv, 1);
|
603
|
+
rb_define_method(klass, "glIsProgram", gl_IsProgram, 1);
|
604
|
+
rb_define_method(klass, "glIsShader", gl_IsShader, 1);
|
605
|
+
rb_define_method(klass, "glLinkProgram", gl_LinkProgram, 1);
|
606
|
+
rb_define_method(klass, "glShaderSource", gl_ShaderSource, 2);
|
607
|
+
rb_define_method(klass, "glUseProgram", gl_UseProgram, 1);
|
608
|
+
rb_define_method(klass, "glUniform1f", gl_Uniform1f, 2);
|
609
|
+
rb_define_method(klass, "glUniform2f", gl_Uniform2f, 3);
|
610
|
+
rb_define_method(klass, "glUniform3f", gl_Uniform3f, 4);
|
611
|
+
rb_define_method(klass, "glUniform4f", gl_Uniform4f, 5);
|
612
|
+
rb_define_method(klass, "glUniform1i", gl_Uniform1i, 2);
|
613
|
+
rb_define_method(klass, "glUniform2i", gl_Uniform2i, 3);
|
614
|
+
rb_define_method(klass, "glUniform3i", gl_Uniform3i, 4);
|
615
|
+
rb_define_method(klass, "glUniform4i", gl_Uniform4i, 5);
|
616
|
+
rb_define_method(klass, "glUniform1fv", gl_Uniform1fv, 2);
|
617
|
+
rb_define_method(klass, "glUniform2fv", gl_Uniform2fv, 2);
|
618
|
+
rb_define_method(klass, "glUniform3fv", gl_Uniform3fv, 2);
|
619
|
+
rb_define_method(klass, "glUniform4fv", gl_Uniform4fv, 2);
|
620
|
+
rb_define_method(klass, "glUniform1iv", gl_Uniform1iv, 2);
|
621
|
+
rb_define_method(klass, "glUniform2iv", gl_Uniform2iv, 2);
|
622
|
+
rb_define_method(klass, "glUniform3iv", gl_Uniform3iv, 2);
|
623
|
+
rb_define_method(klass, "glUniform4iv", gl_Uniform4iv, 2);
|
624
|
+
rb_define_method(klass, "glUniformMatrix2fv", gl_UniformMatrix2fv, 3);
|
625
|
+
rb_define_method(klass, "glUniformMatrix3fv", gl_UniformMatrix3fv, 3);
|
626
|
+
rb_define_method(klass, "glUniformMatrix4fv", gl_UniformMatrix4fv, 3);
|
627
|
+
rb_define_method(klass, "glValidateProgram", gl_ValidateProgram, 1);
|
628
|
+
rb_define_method(klass, "glVertexAttrib1d", gl_VertexAttrib1d, 2);
|
629
|
+
rb_define_method(klass, "glVertexAttrib1f", gl_VertexAttrib1f, 2);
|
630
|
+
rb_define_method(klass, "glVertexAttrib1s", gl_VertexAttrib1s, 2);
|
631
|
+
rb_define_method(klass, "glVertexAttrib2d", gl_VertexAttrib2d, 3);
|
632
|
+
rb_define_method(klass, "glVertexAttrib2f", gl_VertexAttrib2f, 3);
|
633
|
+
rb_define_method(klass, "glVertexAttrib2s", gl_VertexAttrib2s, 3);
|
634
|
+
rb_define_method(klass, "glVertexAttrib3d", gl_VertexAttrib3d, 4);
|
635
|
+
rb_define_method(klass, "glVertexAttrib3f", gl_VertexAttrib3f, 4);
|
636
|
+
rb_define_method(klass, "glVertexAttrib3s", gl_VertexAttrib3s, 4);
|
637
|
+
rb_define_method(klass, "glVertexAttrib4Nbv", gl_VertexAttrib4Nbv, 2);
|
638
|
+
rb_define_method(klass, "glVertexAttrib4Niv", gl_VertexAttrib4Niv, 2);
|
639
|
+
rb_define_method(klass, "glVertexAttrib4Nsv", gl_VertexAttrib4Nsv, 2);
|
640
|
+
rb_define_method(klass, "glVertexAttrib4Nub", gl_VertexAttrib4Nub, 5);
|
641
|
+
rb_define_method(klass, "glVertexAttrib4Nubv", gl_VertexAttrib4Nubv, 2);
|
642
|
+
rb_define_method(klass, "glVertexAttrib4Nuiv", gl_VertexAttrib4Nuiv, 2);
|
643
|
+
rb_define_method(klass, "glVertexAttrib4Nusv", gl_VertexAttrib4Nusv, 2);
|
644
|
+
rb_define_method(klass, "glVertexAttrib4bv", gl_VertexAttrib4bv, 2);
|
645
|
+
rb_define_method(klass, "glVertexAttrib4d", gl_VertexAttrib4d, 5);
|
646
|
+
rb_define_method(klass, "glVertexAttrib4f", gl_VertexAttrib4f, 5);
|
647
|
+
rb_define_method(klass, "glVertexAttrib4iv", gl_VertexAttrib4iv, 2);
|
648
|
+
rb_define_method(klass, "glVertexAttrib4s", gl_VertexAttrib4s, 5);
|
649
|
+
rb_define_method(klass, "glVertexAttrib4ubv", gl_VertexAttrib4ubv, 2);
|
650
|
+
rb_define_method(klass, "glVertexAttrib4uiv", gl_VertexAttrib4uiv, 2);
|
651
|
+
rb_define_method(klass, "glVertexAttrib4usv", gl_VertexAttrib4usv, 2);
|
652
|
+
rb_define_method(klass, "glVertexAttrib1dv", gl_VertexAttrib1dv, 2);
|
653
|
+
rb_define_method(klass, "glVertexAttrib1fv", gl_VertexAttrib1fv, 2);
|
654
|
+
rb_define_method(klass, "glVertexAttrib1sv", gl_VertexAttrib1sv, 2);
|
655
|
+
rb_define_method(klass, "glVertexAttrib2dv", gl_VertexAttrib2dv, 2);
|
656
|
+
rb_define_method(klass, "glVertexAttrib2fv", gl_VertexAttrib2fv, 2);
|
657
|
+
rb_define_method(klass, "glVertexAttrib2sv", gl_VertexAttrib2sv, 2);
|
658
|
+
rb_define_method(klass, "glVertexAttrib3dv", gl_VertexAttrib3dv, 2);
|
659
|
+
rb_define_method(klass, "glVertexAttrib3fv", gl_VertexAttrib3fv, 2);
|
660
|
+
rb_define_method(klass, "glVertexAttrib3sv", gl_VertexAttrib3sv, 2);
|
661
|
+
rb_define_method(klass, "glVertexAttrib4dv", gl_VertexAttrib4dv, 2);
|
662
|
+
rb_define_method(klass, "glVertexAttrib4fv", gl_VertexAttrib4fv, 2);
|
663
|
+
rb_define_method(klass, "glVertexAttrib4sv", gl_VertexAttrib4sv, 2);
|
664
|
+
rb_define_method(klass, "glVertexAttribPointer", gl_VertexAttribPointer, 6);
|
667
665
|
}
|