ruby-opengl 0.40.1 → 0.50.0

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.
Files changed (154) hide show
  1. data/Rakefile +2 -2
  2. data/doc/build_install.txt +48 -28
  3. data/doc/extensions.txt +361 -0
  4. data/doc/history.txt +8 -2
  5. data/doc/requirements_and_design.txt +0 -13
  6. data/doc/roadmap.txt +11 -13
  7. data/doc/supplies/page_template.html +11 -5
  8. data/doc/thanks.txt +2 -4
  9. data/doc/tutorial.txt +1 -4
  10. data/examples/{nehe_lesson02.rb → NeHe/nehe_lesson02.rb} +0 -0
  11. data/examples/{nehe_lesson03.rb → NeHe/nehe_lesson03.rb} +0 -0
  12. data/examples/{nehe_lesson04.rb → NeHe/nehe_lesson04.rb} +0 -0
  13. data/examples/{nehe_lesson05.rb → NeHe/nehe_lesson05.rb} +0 -0
  14. data/examples/NeHe/nehe_lesson36.rb +303 -0
  15. data/examples/OrangeBook/3Dlabs-License.txt +33 -0
  16. data/examples/OrangeBook/brick.frag +36 -0
  17. data/examples/OrangeBook/brick.rb +388 -0
  18. data/examples/OrangeBook/brick.vert +41 -0
  19. data/examples/OrangeBook/particle.frag +17 -0
  20. data/examples/OrangeBook/particle.rb +424 -0
  21. data/examples/OrangeBook/particle.vert +38 -0
  22. data/examples/README +13 -83
  23. data/examples/RedBook/aaindex.rb +97 -0
  24. data/examples/RedBook/aapoly.rb +142 -0
  25. data/examples/RedBook/aargb.rb +119 -0
  26. data/examples/RedBook/accanti.rb +162 -0
  27. data/examples/RedBook/accpersp.rb +215 -0
  28. data/examples/RedBook/alpha.rb +123 -0
  29. data/examples/RedBook/alpha3D.rb +158 -0
  30. data/examples/RedBook/bezcurve.rb +105 -0
  31. data/examples/RedBook/bezmesh.rb +137 -0
  32. data/examples/RedBook/checker.rb +124 -0
  33. data/examples/RedBook/clip.rb +95 -0
  34. data/examples/RedBook/colormat.rb +135 -0
  35. data/examples/RedBook/cube.rb +69 -0
  36. data/examples/RedBook/depthcue.rb +99 -0
  37. data/examples/RedBook/dof.rb +205 -0
  38. data/examples/{legacy → RedBook}/double.rb +59 -58
  39. data/examples/{legacy → RedBook}/drawf.rb +47 -54
  40. data/examples/RedBook/feedback.rb +145 -0
  41. data/examples/RedBook/fog.rb +167 -0
  42. data/examples/RedBook/font.rb +151 -0
  43. data/examples/RedBook/hello.rb +79 -0
  44. data/examples/RedBook/image.rb +137 -0
  45. data/examples/{legacy → RedBook}/jitter.rb +60 -62
  46. data/examples/RedBook/lines.rb +128 -0
  47. data/examples/RedBook/list.rb +111 -0
  48. data/examples/RedBook/material.rb +275 -0
  49. data/examples/RedBook/mipmap.rb +156 -0
  50. data/examples/{legacy → RedBook}/model.rb +66 -72
  51. data/examples/{legacy → RedBook}/movelight.rb +67 -75
  52. data/examples/RedBook/pickdepth.rb +179 -0
  53. data/examples/{legacy → RedBook}/planet.rb +62 -66
  54. data/examples/RedBook/quadric.rb +158 -0
  55. data/examples/RedBook/robot.rb +115 -0
  56. data/examples/RedBook/select.rb +196 -0
  57. data/examples/RedBook/smooth.rb +95 -0
  58. data/examples/RedBook/stencil.rb +163 -0
  59. data/examples/RedBook/stroke.rb +167 -0
  60. data/examples/RedBook/surface.rb +166 -0
  61. data/examples/RedBook/teaambient.rb +132 -0
  62. data/examples/RedBook/teapots.rb +182 -0
  63. data/examples/RedBook/tess.rb +183 -0
  64. data/examples/RedBook/texbind.rb +147 -0
  65. data/examples/RedBook/texgen.rb +169 -0
  66. data/examples/RedBook/texturesurf.rb +128 -0
  67. data/examples/RedBook/varray.rb +159 -0
  68. data/examples/RedBook/wrap.rb +148 -0
  69. data/examples/misc/anisotropic.rb +194 -0
  70. data/examples/misc/font-glut.rb +46 -0
  71. data/examples/{plane.rb → misc/plane.rb} +0 -0
  72. data/examples/misc/readpixel.rb +65 -0
  73. data/examples/{smooth.rb → misc/smooth.rb} +0 -0
  74. data/examples/{test.rb → misc/test.rb} +0 -0
  75. data/ext/common/common.h +252 -70
  76. data/ext/common/gl-enums.h +6102 -7334
  77. data/ext/common/gl-types.h +47 -0
  78. data/ext/common/glu-enums.h +469 -0
  79. data/ext/gl/gl-1.0-1.1.c +842 -2464
  80. data/ext/gl/gl-1.2.c +217 -281
  81. data/ext/gl/gl-1.3.c +113 -133
  82. data/ext/gl/gl-1.4.c +98 -334
  83. data/ext/gl/gl-1.5.c +28 -34
  84. data/ext/gl/gl-2.0.c +26 -235
  85. data/ext/gl/gl-2.1.c +31 -124
  86. data/ext/gl/gl-enums.c +786 -631
  87. data/ext/gl/gl-ext-arb.c +66 -0
  88. data/ext/gl/gl-ext-ext.c +218 -0
  89. data/ext/gl/gl.c +138 -31
  90. data/ext/gl/mkrf_conf.rb +1 -0
  91. data/ext/glu/glu-enums.c +163 -0
  92. data/ext/glu/glu.c +1003 -1205
  93. data/ext/glu/mkrf_conf.rb +1 -0
  94. data/ext/glut/glut.c +1056 -1175
  95. data/lib/opengl.rb +90 -3
  96. data/test/tc_common.rb +26 -13
  97. data/test/tc_ext_arb.rb +73 -0
  98. data/test/tc_ext_ext.rb +74 -0
  99. data/test/tc_func_12.rb +8 -8
  100. data/test/tc_func_13.rb +17 -11
  101. data/test/tc_func_14.rb +8 -8
  102. data/test/tc_func_15.rb +190 -2
  103. data/test/tc_func_20.rb +36 -10
  104. data/test/tc_func_21.rb +445 -2
  105. data/test/tc_glu.rb +305 -0
  106. data/test/tc_misc.rb +1 -0
  107. metadata +84 -68
  108. data/doc/screenshots.txt +0 -23
  109. data/examples/legacy/COPYRIGHT +0 -8
  110. data/examples/legacy/aaindex.rb +0 -98
  111. data/examples/legacy/aapoly.rb +0 -153
  112. data/examples/legacy/aargb.rb +0 -139
  113. data/examples/legacy/accanti.rb +0 -159
  114. data/examples/legacy/accpersp.rb +0 -216
  115. data/examples/legacy/alpha.rb +0 -133
  116. data/examples/legacy/alpha3D.rb +0 -165
  117. data/examples/legacy/bezcurve.rb +0 -107
  118. data/examples/legacy/bezmesh.rb +0 -131
  119. data/examples/legacy/checker.rb +0 -121
  120. data/examples/legacy/clip.rb +0 -104
  121. data/examples/legacy/colormat.rb +0 -145
  122. data/examples/legacy/cube.rb +0 -73
  123. data/examples/legacy/depthcue.rb +0 -101
  124. data/examples/legacy/dof.rb +0 -212
  125. data/examples/legacy/feedback.rb +0 -152
  126. data/examples/legacy/fog.rb +0 -172
  127. data/examples/legacy/font-glut.rb +0 -41
  128. data/examples/legacy/font.rb +0 -158
  129. data/examples/legacy/hello.rb +0 -75
  130. data/examples/legacy/image.rb +0 -145
  131. data/examples/legacy/lines.rb +0 -135
  132. data/examples/legacy/list.rb +0 -120
  133. data/examples/legacy/material.rb +0 -290
  134. data/examples/legacy/mipmap.rb +0 -159
  135. data/examples/legacy/pickdepth.rb +0 -180
  136. data/examples/legacy/quadric.rb +0 -180
  137. data/examples/legacy/readpixel.rb +0 -59
  138. data/examples/legacy/robot.rb +0 -120
  139. data/examples/legacy/select.rb +0 -207
  140. data/examples/legacy/smooth.rb +0 -41
  141. data/examples/legacy/stencil.rb +0 -154
  142. data/examples/legacy/stroke.rb +0 -170
  143. data/examples/legacy/surface.rb +0 -170
  144. data/examples/legacy/teaambient.rb +0 -132
  145. data/examples/legacy/teapots.rb +0 -188
  146. data/examples/legacy/tess.rb +0 -222
  147. data/examples/legacy/texbind.rb +0 -157
  148. data/examples/legacy/texgen.rb +0 -171
  149. data/examples/legacy/texturesurf.rb +0 -128
  150. data/examples/legacy/varray.rb +0 -167
  151. data/examples/legacy/wrap.rb +0 -158
  152. data/lib/gl_prev.rb +0 -46
  153. data/lib/glu_prev.rb +0 -46
  154. data/lib/glut_prev.rb +0 -45
data/test/tc_glu.rb ADDED
@@ -0,0 +1,305 @@
1
+ #
2
+ # Copyright (C) 2007 Jan Dvorak <jan.dvorak@kraxnet.cz>
3
+ #
4
+ # This program is distributed under the terms of the MIT license.
5
+ # See the included MIT-LICENSE file for the terms of this license.
6
+ #
7
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
8
+ # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
9
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
10
+ # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
11
+ # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
12
+ # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
13
+ # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
14
+ #
15
+
16
+ require 'test/unit'
17
+ require 'glu'
18
+ include Glu
19
+
20
+ class Test_GLU < Test::Unit::TestCase
21
+ def setup
22
+ common_setup()
23
+ end
24
+
25
+ def teardown
26
+ common_teardown()
27
+ end
28
+
29
+ def test_gluortho
30
+ res = [ [2.0/$window_size, 0, 0, 0],
31
+ [0, 2.0/$window_size, 0, 0],
32
+ [0, 0, -1, 0],
33
+ [-1,-1,0,1] ]
34
+
35
+ glMatrixMode(GL_PROJECTION)
36
+ glLoadIdentity()
37
+ gluOrtho2D(0,$window_size,0,$window_size)
38
+ assert_equal(glGetDoublev(GL_PROJECTION_MATRIX),res)
39
+ end
40
+
41
+ def test_glugetstring
42
+ ver = gluGetString(GLU_VERSION)
43
+ assert(ver.to_f > 1.1)
44
+ end
45
+
46
+ def test_gluerrorstring
47
+ error = gluErrorString(GL_INVALID_VALUE)
48
+ assert(error.class == String)
49
+ assert(error.length > 2)
50
+ end
51
+
52
+ def test_glubuild2dmipmaps
53
+ textures = glGenTextures(1)
54
+ glBindTexture(GL_TEXTURE_2D,textures[0])
55
+
56
+ image = ([0,0,0,1,1,1] * 8).pack("f*") # 16 RGB pixels
57
+
58
+ gluBuild2DMipmaps(GL_TEXTURE_2D,GL_RGB8,4,4,GL_RGB,GL_FLOAT,image)
59
+ im = glGetTexImage(GL_TEXTURE_2D,0,GL_RGB,GL_FLOAT)
60
+ assert_equal(im,image)
61
+ assert_equal(im.unpack("f*").size,4*4*3)
62
+ im = glGetTexImage(GL_TEXTURE_2D,1,GL_RGB,GL_FLOAT)
63
+ assert_equal(im.unpack("f*").size,2*2*3)
64
+ im = glGetTexImage(GL_TEXTURE_2D,2,GL_RGB,GL_FLOAT)
65
+ assert_equal(im.unpack("f*").size,1*1*3)
66
+
67
+ glDeleteTextures(textures)
68
+ end
69
+
70
+ def test_glubuild1dmipmaps
71
+ textures = glGenTextures(1)
72
+ glBindTexture(GL_TEXTURE_1D,textures[0])
73
+
74
+ image = ([0,0,0,1,1,1] * 2).pack("f*") # 4 RGB pixels
75
+
76
+ gluBuild1DMipmaps(GL_TEXTURE_1D,GL_RGB8,4,GL_RGB,GL_FLOAT,image)
77
+
78
+ im = glGetTexImage(GL_TEXTURE_1D,0,GL_RGB,GL_FLOAT)
79
+ assert_equal(im,image)
80
+ assert_equal(im.unpack("f*").size,4*3)
81
+ im = glGetTexImage(GL_TEXTURE_1D,1,GL_RGB,GL_FLOAT)
82
+ assert_equal(im.unpack("f*").size,2*3)
83
+ im = glGetTexImage(GL_TEXTURE_1D,2,GL_RGB,GL_FLOAT)
84
+ assert_equal(im.unpack("f*").size,1*3)
85
+
86
+ glDeleteTextures(textures)
87
+ end
88
+
89
+ def test_glulookat
90
+ m = [[0,0,1,0], [0,1,0,0], [-1,0,0,0], [0,0,-1, 1]]
91
+ gluLookAt(1,0,0, 0,0,0, 0,1,0)
92
+ assert_equal(glGetDoublev(GL_PROJECTION_MATRIX),m)
93
+ end
94
+
95
+ def test_gluproject
96
+ pos = gluProject(1,1,1)
97
+ assert_equal(pos,[$window_size,$window_size,1])
98
+
99
+ mp = glGetDoublev(GL_PROJECTION_MATRIX)
100
+ mm = glGetDoublev(GL_MODELVIEW_MATRIX)
101
+ view = glGetDoublev(GL_VIEWPORT)
102
+ pos = gluProject(1,1,1,mp,mm,view)
103
+ assert_equal(pos,[$window_size,$window_size,1])
104
+ end
105
+
106
+ def test_gluunproject
107
+ pos = gluUnProject($window_size,$window_size,1)
108
+ assert_equal(pos,[1,1,1])
109
+
110
+ mp = glGetDoublev(GL_PROJECTION_MATRIX)
111
+ mm = glGetDoublev(GL_MODELVIEW_MATRIX)
112
+ view = glGetDoublev(GL_VIEWPORT)
113
+ pos = gluUnProject($window_size,$window_size,1,mp,mm,view)
114
+ assert_equal(pos,[1,1,1])
115
+ end
116
+
117
+ def test_glupickmatrix
118
+ t = $window_size / 5.0
119
+ m = [[t, 0.0, 0.0, 0.0], [0.0, t, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [t,t, 0.0, 1.0]]
120
+ glMatrixMode(GL_PROJECTION)
121
+ glLoadIdentity()
122
+ gluPickMatrix(0,0)
123
+ assert(approx_equal(glGetDoublev(GL_PROJECTION_MATRIX).flatten,m.flatten))
124
+ glLoadIdentity()
125
+ gluPickMatrix(0,0,5,5)
126
+ assert(approx_equal(glGetDoublev(GL_PROJECTION_MATRIX).flatten,m.flatten))
127
+ glLoadIdentity()
128
+ gluPickMatrix(0,0,5,5,glGetDoublev(GL_VIEWPORT))
129
+ assert(approx_equal(glGetDoublev(GL_PROJECTION_MATRIX).flatten,m.flatten))
130
+ end
131
+
132
+ def test_gluperspective
133
+ m = [[1,0,0,0], [0,1,0,0], [0,0,-3,-1], [0,0,-4,0]]
134
+ gluPerspective(90,1,1,2)
135
+ assert_equal(glGetDoublev(GL_PROJECTION_MATRIX),m)
136
+ end
137
+
138
+ def test_gluscaleimage
139
+ image = ([0,0,0,1,1,1] * 8).pack("f*") # 16 RGB pixels
140
+ scaled = gluScaleImage(GL_RGB,4,4,GL_FLOAT,image, 2,2,GL_FLOAT)
141
+ assert_equal(scaled.unpack("f*").length,2*2*3)
142
+ end
143
+
144
+ def test_gluquadrics
145
+ ecount = 0
146
+ error_func = lambda do |error|
147
+ ecount+=1
148
+ end
149
+
150
+ q = gluNewQuadric()
151
+ gluQuadricDrawStyle(q,GL_LINE)
152
+ gluQuadricNormals(q,GL_SMOOTH)
153
+ gluQuadricOrientation(q,GLU_OUTSIDE)
154
+ gluQuadricTexture(q,GL_FALSE)
155
+ gluQuadricCallback(q,GLU_ERROR,error_func)
156
+
157
+ buf = glFeedbackBuffer(1024,GL_3D)
158
+ glRenderMode(GL_FEEDBACK)
159
+ gluSphere(q,1.0,4,3)
160
+ count = glRenderMode(GL_RENDER)
161
+ assert(count % 11 == 0)
162
+
163
+ glRenderMode(GL_FEEDBACK)
164
+ gluCylinder(q,1.0,1.0,1.0,4,3)
165
+ count = glRenderMode(GL_RENDER)
166
+ assert(count % 11 == 0)
167
+
168
+ glRenderMode(GL_FEEDBACK)
169
+ gluDisk(q,1.0,2.0,4,3)
170
+ count = glRenderMode(GL_RENDER)
171
+ assert(count % 11 == 0)
172
+
173
+ glRenderMode(GL_FEEDBACK)
174
+ gluPartialDisk(q,1.0,2.0,4,3,0,360)
175
+ count = glRenderMode(GL_RENDER)
176
+ assert(count % 11 == 0)
177
+
178
+ gluSphere(q,0.0,0,0)
179
+ assert_equal(ecount,1)
180
+ gluDeleteQuadric(q)
181
+ end
182
+
183
+ def test_glunurbs
184
+ ecount = 0
185
+
186
+ glViewport(0, 0, $window_size, $window_size)
187
+ glMatrixMode(GL_PROJECTION)
188
+ glOrtho(0, $window_size, 0, $window_size, -1, 1)
189
+
190
+ n_error = lambda do |error|
191
+ ecount += 1
192
+ end
193
+
194
+ m = [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]
195
+
196
+ n = gluNewNurbsRenderer()
197
+ gluNurbsCallback(n,GLU_ERROR,n_error)
198
+ gluNurbsProperty(n,GLU_SAMPLING_TOLERANCE,40)
199
+ assert_equal(gluGetNurbsProperty(n,GLU_SAMPLING_TOLERANCE),40)
200
+
201
+ gluLoadSamplingMatrices(n,m,m,glGetIntegerv(GL_VIEWPORT))
202
+
203
+ knots = [0,0,0,0,1,1,1,1]
204
+ ctlpoints_curve = [[50,50,0],[400,50,0],[400,400,0],[50,400,0]]
205
+
206
+ # generate surface control points
207
+ ctlpoints = Array.new(4).collect { Array.new(4).collect { Array.new(3, nil) } } # 4*4*3 array
208
+ 0.upto(3) do |u|
209
+ 0.upto(3) do |v|
210
+ ctlpoints[u][v][0]=2.0*(u-1.5)
211
+ ctlpoints[u][v][1]=2.0*(v-1.5)
212
+
213
+ if ((u==1 || u==2) && (v==1 || v==2))
214
+ ctlpoints[u][v][2]=6.0
215
+ else
216
+ ctlpoints[u][v][2]=0.0
217
+ end
218
+ end
219
+ end
220
+
221
+ buf = glFeedbackBuffer(1024*1024*8,GL_3D) # large enough buffer for tesselated surface
222
+ glRenderMode(GL_FEEDBACK)
223
+ gluBeginCurve(n)
224
+ gluNurbsCurve(n,knots,ctlpoints_curve,4,GL_MAP1_VERTEX_3)
225
+ gluEndCurve(n)
226
+
227
+ gluBeginSurface(n)
228
+ gluNurbsSurface(n,knots,knots,ctlpoints,4,4,GL_MAP2_VERTEX_3)
229
+ gluEndSurface(n)
230
+
231
+ gluBeginTrim(n)
232
+ gluPwlCurve(n,[[0,0],[1,0],[1,1],[0,1],[0,0]],GLU_MAP1_TRIM_2)
233
+ gluEndTrim(n)
234
+ count = glRenderMode(GL_RENDER)
235
+ assert(count>1)
236
+
237
+ gluDeleteNurbsRenderer(n)
238
+ assert(ecount>=1)
239
+ end
240
+
241
+ def test_glutess
242
+ glViewport(0, 0, $window_size, $window_size)
243
+ glMatrixMode(GL_PROJECTION)
244
+ glOrtho(0, $window_size, 0, $window_size, -1, 1)
245
+ vcount,bcount,ecount = 0,0,0
246
+
247
+ cb_begin = lambda do |type|
248
+ bcount += 1
249
+ end
250
+ cb_end = lambda do
251
+ ecount += 1
252
+ end
253
+ cb_vertex = lambda do |data|
254
+ vcount += 1
255
+ end
256
+ cb_error = lambda do |error|
257
+ p gluErrorString(error)
258
+ end
259
+
260
+ t = gluNewTess()
261
+ gluTessCallback(t,GLU_TESS_BEGIN,cb_begin)
262
+ gluTessCallback(t,GLU_TESS_END,cb_end)
263
+ gluTessCallback(t,GLU_TESS_ERROR,cb_error)
264
+ gluTessCallback(t,GLU_TESS_VERTEX,cb_vertex)
265
+ gluTessProperty(t,GLU_TESS_BOUNDARY_ONLY,GL_TRUE)
266
+ assert_equal(gluGetTessProperty(t,GLU_TESS_BOUNDARY_ONLY),GL_TRUE)
267
+ gluTessProperty(t,GLU_TESS_BOUNDARY_ONLY,GL_FALSE)
268
+ assert_equal(gluGetTessProperty(t,GLU_TESS_BOUNDARY_ONLY),GL_FALSE)
269
+
270
+ gluTessNormal(t, 0.0, 0.0, 0.0)
271
+
272
+ rect = [[50.0, 50.0, 0.0],
273
+ [200.0, 50.0, 0.0],
274
+ [200.0, 200.0, 0.0],
275
+ [50.0, 200.0, 0.0]]
276
+ tri = [[75.0, 75.0, 0.0],
277
+ [125.0, 175.0, 0.0],
278
+ [175.0, 75.0, 0.0]]
279
+
280
+ gluTessBeginPolygon(t, nil)
281
+ gluTessBeginContour(t)
282
+ gluTessVertex(t, rect[0], rect[0])
283
+ gluTessVertex(t, rect[1], rect[1])
284
+ gluTessVertex(t, rect[2], rect[2])
285
+ gluTessVertex(t, rect[3], rect[3])
286
+ gluTessEndContour(t)
287
+ gluTessBeginContour(t)
288
+ gluTessVertex(t, tri[0], tri[0])
289
+ gluTessVertex(t, tri[1], tri[1])
290
+ gluTessVertex(t, tri[2], tri[2])
291
+ gluTessEndContour(t)
292
+ gluTessEndPolygon(t)
293
+
294
+ gluTessCallback(t,GLU_TESS_BEGIN,nil)
295
+ gluTessCallback(t,GLU_TESS_END,nil)
296
+ gluTessCallback(t,GLU_TESS_ERROR,nil)
297
+ gluTessCallback(t,GLU_TESS_VERTEX,nil)
298
+
299
+ gluDeleteTess(t)
300
+
301
+ assert_equal(bcount,1)
302
+ assert_equal(ecount,1)
303
+ assert_equal(vcount,3*3)
304
+ end
305
+ end
data/test/tc_misc.rb CHANGED
@@ -33,6 +33,7 @@ class Test_misc < Test::Unit::TestCase
33
33
  end
34
34
 
35
35
  def test_isavailable
36
+ assert_equal(is_available?(1.1),true)
36
37
  assert_equal(is_available?("glTexImage3D"),true)
37
38
  assert_equal(is_available?("GL_ARB_multitexture"),true)
38
39
  assert_equal(is_available?("GL_NON_EXISTENT"),false)
metadata CHANGED
@@ -3,13 +3,13 @@ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: ruby-opengl
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.40.1
7
- date: 2007-07-19 00:00:00 +09:00
6
+ version: 0.50.0
7
+ date: 2007-10-23 00:00:00 +09:00
8
8
  summary: OpenGL Interface for Ruby
9
9
  require_paths:
10
10
  - lib
11
11
  email:
12
- homepage: http://opengl-ruby.rubyforge.org
12
+ homepage: http://ruby-opengl.rubyforge.org
13
13
  rubyforge_project:
14
14
  description:
15
15
  autorequire: gl
@@ -32,14 +32,8 @@ authors:
32
32
  - Minh Thu Vo
33
33
  - James Adam
34
34
  files:
35
- - lib/glut_prev.rb
36
- - lib/gl_prev.rb
37
- - lib/glu_prev.rb
38
35
  - lib/opengl.rb
39
36
  - ext/gl
40
- - ext/glu
41
- - ext/glut
42
- - ext/common
43
37
  - ext/gl/gl.c
44
38
  - ext/gl/mkrf_conf.rb
45
39
  - ext/gl/gl-2.0.c
@@ -50,80 +44,99 @@ files:
50
44
  - ext/gl/gl-1.5.c
51
45
  - ext/gl/gl-enums.c
52
46
  - ext/gl/gl-1.0-1.1.c
47
+ - ext/gl/gl-ext-ext.c
48
+ - ext/gl/gl-ext-arb.c
49
+ - ext/glu
53
50
  - ext/glu/glu.c
54
51
  - ext/glu/mkrf_conf.rb
52
+ - ext/glu/glu-enums.c
53
+ - ext/glut
55
54
  - ext/glut/glut.c
56
55
  - ext/glut/mkrf_conf.rb
56
+ - ext/common
57
57
  - ext/common/gl-enums.h
58
58
  - ext/common/common.h
59
+ - ext/common/glu-enums.h
60
+ - ext/common/gl-types.h
59
61
  - doc/supplies
62
+ - doc/supplies/page_template.html
60
63
  - doc/thanks.txt
61
64
  - doc/roadmap.txt
62
65
  - doc/scientific_use.txt
63
66
  - doc/history.txt
64
67
  - doc/tutorial.txt
65
68
  - doc/requirements_and_design.txt
66
- - doc/screenshots.txt
67
69
  - doc/build_install.txt
68
- - doc/supplies/page_template.html
69
- - examples/plane.rb
70
- - examples/test.rb
71
- - examples/smooth.rb
72
- - examples/nehe_lesson02.rb
73
- - examples/nehe_lesson03.rb
74
- - examples/nehe_lesson04.rb
75
- - examples/nehe_lesson05.rb
76
- - examples/legacy
70
+ - doc/extensions.txt
77
71
  - examples/README
78
- - examples/legacy/aaindex.rb
79
- - examples/legacy/COPYRIGHT
80
- - examples/legacy/jitter.rb
81
- - examples/legacy/lines.rb
82
- - examples/legacy/list.rb
83
- - examples/legacy/material.rb
84
- - examples/legacy/mipmap.rb
85
- - examples/legacy/model.rb
86
- - examples/legacy/movelight.rb
87
- - examples/legacy/pickdepth.rb
88
- - examples/legacy/planet.rb
89
- - examples/legacy/quadric.rb
90
- - examples/legacy/readpixel.rb
91
- - examples/legacy/robot.rb
92
- - examples/legacy/select.rb
93
- - examples/legacy/smooth.rb
94
- - examples/legacy/stencil.rb
95
- - examples/legacy/stroke.rb
96
- - examples/legacy/surface.rb
97
- - examples/legacy/teaambient.rb
98
- - examples/legacy/teapots.rb
99
- - examples/legacy/texbind.rb
100
- - examples/legacy/texgen.rb
101
- - examples/legacy/texturesurf.rb
102
- - examples/legacy/varray.rb
103
- - examples/legacy/wrap.rb
104
- - examples/legacy/aapoly.rb
105
- - examples/legacy/accanti.rb
106
- - examples/legacy/accpersp.rb
107
- - examples/legacy/alpha3D.rb
108
- - examples/legacy/alpha.rb
109
- - examples/legacy/aargb.rb
110
- - examples/legacy/bezcurve.rb
111
- - examples/legacy/bezmesh.rb
112
- - examples/legacy/checker.rb
113
- - examples/legacy/clip.rb
114
- - examples/legacy/colormat.rb
115
- - examples/legacy/cube.rb
116
- - examples/legacy/depthcue.rb
117
- - examples/legacy/dof.rb
118
- - examples/legacy/double.rb
119
- - examples/legacy/drawf.rb
120
- - examples/legacy/feedback.rb
121
- - examples/legacy/fog.rb
122
- - examples/legacy/font-glut.rb
123
- - examples/legacy/font.rb
124
- - examples/legacy/hello.rb
125
- - examples/legacy/image.rb
126
- - examples/legacy/tess.rb
72
+ - examples/NeHe
73
+ - examples/NeHe/nehe_lesson02.rb
74
+ - examples/NeHe/nehe_lesson03.rb
75
+ - examples/NeHe/nehe_lesson04.rb
76
+ - examples/NeHe/nehe_lesson05.rb
77
+ - examples/NeHe/nehe_lesson36.rb
78
+ - examples/RedBook
79
+ - examples/RedBook/tess.rb
80
+ - examples/RedBook/select.rb
81
+ - examples/RedBook/colormat.rb
82
+ - examples/RedBook/planet.rb
83
+ - examples/RedBook/mipmap.rb
84
+ - examples/RedBook/feedback.rb
85
+ - examples/RedBook/alpha.rb
86
+ - examples/RedBook/bezcurve.rb
87
+ - examples/RedBook/quadric.rb
88
+ - examples/RedBook/surface.rb
89
+ - examples/RedBook/texgen.rb
90
+ - examples/RedBook/bezmesh.rb
91
+ - examples/RedBook/texbind.rb
92
+ - examples/RedBook/movelight.rb
93
+ - examples/RedBook/stencil.rb
94
+ - examples/RedBook/varray.rb
95
+ - examples/RedBook/font.rb
96
+ - examples/RedBook/stroke.rb
97
+ - examples/RedBook/aaindex.rb
98
+ - examples/RedBook/smooth.rb
99
+ - examples/RedBook/pickdepth.rb
100
+ - examples/RedBook/list.rb
101
+ - examples/RedBook/fog.rb
102
+ - examples/RedBook/aargb.rb
103
+ - examples/RedBook/cube.rb
104
+ - examples/RedBook/teapots.rb
105
+ - examples/RedBook/image.rb
106
+ - examples/RedBook/aapoly.rb
107
+ - examples/RedBook/robot.rb
108
+ - examples/RedBook/clip.rb
109
+ - examples/RedBook/material.rb
110
+ - examples/RedBook/model.rb
111
+ - examples/RedBook/accpersp.rb
112
+ - examples/RedBook/texturesurf.rb
113
+ - examples/RedBook/jitter.rb
114
+ - examples/RedBook/depthcue.rb
115
+ - examples/RedBook/accanti.rb
116
+ - examples/RedBook/hello.rb
117
+ - examples/RedBook/drawf.rb
118
+ - examples/RedBook/checker.rb
119
+ - examples/RedBook/dof.rb
120
+ - examples/RedBook/teaambient.rb
121
+ - examples/RedBook/wrap.rb
122
+ - examples/RedBook/lines.rb
123
+ - examples/RedBook/double.rb
124
+ - examples/RedBook/alpha3D.rb
125
+ - examples/OrangeBook
126
+ - examples/OrangeBook/particle.frag
127
+ - examples/OrangeBook/particle.vert
128
+ - examples/OrangeBook/particle.rb
129
+ - examples/OrangeBook/3Dlabs-License.txt
130
+ - examples/OrangeBook/brick.frag
131
+ - examples/OrangeBook/brick.vert
132
+ - examples/OrangeBook/brick.rb
133
+ - examples/misc
134
+ - examples/misc/readpixel.rb
135
+ - examples/misc/font-glut.rb
136
+ - examples/misc/plane.rb
137
+ - examples/misc/test.rb
138
+ - examples/misc/smooth.rb
139
+ - examples/misc/anisotropic.rb
127
140
  - test/tc_include_gl.rb
128
141
  - test/README
129
142
  - test/tc_require_gl.rb
@@ -136,6 +149,9 @@ files:
136
149
  - test/tc_func_13.rb
137
150
  - test/tc_func_14.rb
138
151
  - test/tc_func_15.rb
152
+ - test/tc_glu.rb
153
+ - test/tc_ext_ext.rb
154
+ - test/tc_ext_arb.rb
139
155
  test_files: []
140
156
 
141
157
  rdoc_options: []