opengl 0.8.0-x86-mingw32 → 0.9.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +1 -0
  3. data.tar.gz.sig +2 -0
  4. data/.gitignore +2 -1
  5. data/.travis.yml +19 -0
  6. data/History.rdoc +26 -0
  7. data/Manifest.txt +3 -23
  8. data/README.rdoc +43 -37
  9. data/Rakefile +6 -62
  10. data/examples/NeHe/nehe_lesson02.rb +3 -2
  11. data/examples/NeHe/nehe_lesson03.rb +3 -2
  12. data/examples/NeHe/nehe_lesson04.rb +3 -1
  13. data/examples/NeHe/nehe_lesson05.rb +4 -1
  14. data/examples/NeHe/nehe_lesson06.rb +9 -6
  15. data/examples/NeHe/nehe_lesson07.rb +9 -6
  16. data/examples/NeHe/nehe_lesson08.rb +9 -6
  17. data/examples/NeHe/nehe_lesson09.rb +10 -6
  18. data/examples/NeHe/nehe_lesson11.rb +9 -6
  19. data/examples/NeHe/nehe_lesson12.rb +9 -6
  20. data/examples/NeHe/nehe_lesson16.rb +50 -47
  21. data/examples/NeHe/nehe_lesson19.rb +10 -7
  22. data/examples/NeHe/nehe_lesson36.rb +234 -229
  23. data/examples/OrangeBook/brick.rb +227 -225
  24. data/examples/OrangeBook/particle.rb +233 -231
  25. data/examples/RedBook/aapoly.rb +71 -70
  26. data/examples/RedBook/aargb.rb +54 -52
  27. data/examples/RedBook/accanti.rb +96 -94
  28. data/examples/RedBook/accpersp.rb +106 -104
  29. data/examples/RedBook/alpha.rb +54 -52
  30. data/examples/RedBook/alpha3D.rb +90 -88
  31. data/examples/RedBook/bezcurve.rb +48 -46
  32. data/examples/RedBook/bezmesh.rb +71 -69
  33. data/examples/RedBook/checker.rb +57 -55
  34. data/examples/RedBook/clip.rb +41 -39
  35. data/examples/RedBook/colormat.rb +72 -70
  36. data/examples/RedBook/cube.rb +39 -37
  37. data/examples/RedBook/depthcue.rb +37 -35
  38. data/examples/RedBook/dof.rb +110 -109
  39. data/examples/RedBook/double.rb +40 -38
  40. data/examples/RedBook/drawf.rb +30 -28
  41. data/examples/RedBook/feedback.rb +79 -77
  42. data/examples/RedBook/fog.rb +90 -89
  43. data/examples/RedBook/font.rb +78 -76
  44. data/examples/RedBook/hello.rb +29 -27
  45. data/examples/RedBook/image.rb +57 -55
  46. data/examples/RedBook/jitter.rb +131 -131
  47. data/examples/RedBook/light.rb +2 -1
  48. data/examples/RedBook/lines.rb +70 -68
  49. data/examples/RedBook/list.rb +48 -46
  50. data/examples/RedBook/material.rb +200 -199
  51. data/examples/RedBook/mipmap.rb +84 -82
  52. data/examples/RedBook/model.rb +55 -53
  53. data/examples/RedBook/movelight.rb +52 -50
  54. data/examples/RedBook/pickdepth.rb +103 -101
  55. data/examples/RedBook/planet.rb +46 -44
  56. data/examples/RedBook/quadric.rb +97 -95
  57. data/examples/RedBook/robot.rb +55 -53
  58. data/examples/RedBook/select.rb +118 -116
  59. data/examples/RedBook/smooth.rb +35 -33
  60. data/examples/RedBook/stencil.rb +96 -94
  61. data/examples/RedBook/stroke.rb +75 -73
  62. data/examples/RedBook/surface.rb +93 -91
  63. data/examples/RedBook/teaambient.rb +71 -69
  64. data/examples/RedBook/teapots.rb +105 -103
  65. data/examples/RedBook/tess.rb +96 -94
  66. data/examples/RedBook/texbind.rb +79 -77
  67. data/examples/RedBook/texgen.rb +88 -86
  68. data/examples/RedBook/texturesurf.rb +57 -55
  69. data/examples/RedBook/varray.rb +85 -83
  70. data/examples/RedBook/wrap.rb +76 -74
  71. data/examples/misc/OGLBench.rb +114 -113
  72. data/examples/misc/anisotropic.rb +154 -152
  73. data/examples/misc/fbo_test.rb +37 -36
  74. data/examples/misc/font-glut.rb +47 -46
  75. data/examples/misc/glfwtest.rb +16 -16
  76. data/examples/misc/plane.rb +13 -13
  77. data/examples/misc/readpixel.rb +66 -65
  78. data/examples/misc/sdltest.rb +21 -19
  79. data/examples/misc/trislam.rb +548 -547
  80. data/ext/opengl/common.h +16 -38
  81. data/ext/opengl/conv.h +39 -41
  82. data/ext/opengl/extconf.rb +4 -31
  83. data/ext/opengl/funcdef.h +126 -124
  84. data/ext/opengl/gl-1.0-1.1.c +1917 -1917
  85. data/ext/opengl/gl-1.2.c +4 -667
  86. data/ext/opengl/gl-1.3.c +9 -9
  87. data/ext/opengl/gl-1.4.c +8 -8
  88. data/ext/opengl/gl-1.5.c +1 -1
  89. data/ext/opengl/gl-2.0.c +392 -388
  90. data/ext/opengl/gl-3.0.c +493 -0
  91. data/ext/opengl/gl-enums.c +1523 -5
  92. data/ext/opengl/gl-enums.h +4679 -122
  93. data/ext/opengl/gl-error.c +7 -7
  94. data/ext/opengl/gl-error.h +4 -4
  95. data/ext/opengl/gl-ext-arb.c +468 -464
  96. data/ext/opengl/gl-ext-ext.c +18 -18
  97. data/ext/opengl/gl-ext-nv.c +15 -15
  98. data/ext/opengl/gl.c +2 -0
  99. data/ext/opengl/gl_buffer.c +92 -92
  100. data/ext/opengl/opengl.c +1 -7
  101. data/lib/opengl.rb +23 -59
  102. data/lib/opengl/1.9/opengl.so +0 -0
  103. data/lib/opengl/2.0/opengl.so +0 -0
  104. data/lib/opengl/2.1/opengl.so +0 -0
  105. data/lib/opengl/test_case.rb +1 -2
  106. data/test/dummy.xorg.conf +140 -0
  107. data/test/test_gl.rb +18 -22
  108. data/test/test_gl_10_11.rb +220 -220
  109. data/test/test_gl_12.rb +11 -122
  110. data/test/test_gl_13.rb +202 -210
  111. data/test/test_gl_14.rb +16 -19
  112. data/test/test_gl_15.rb +2 -4
  113. data/test/test_gl_20.rb +45 -58
  114. data/test/test_gl_21.rb +46 -163
  115. data/test/test_gl_ext_arb.rb +54 -72
  116. data/test/test_gl_ext_ati.rb +0 -2
  117. data/test/test_gl_ext_ext.rb +66 -66
  118. data/test/test_gl_ext_gremedy.rb +8 -15
  119. data/test/test_gl_ext_nv.rb +109 -112
  120. data/test/test_opengl_buffer.rb +8 -25
  121. data/utils/README +0 -5
  122. data/utils/enumgen.rb +72 -76
  123. data/utils/extlistgen.rb +55 -55
  124. metadata +90 -67
  125. metadata.gz.sig +0 -0
  126. data/Rakefile.cross +0 -107
  127. data/docs/build_install.txt +0 -119
  128. data/docs/extensions.txt.in +0 -348
  129. data/docs/history.txt +0 -66
  130. data/docs/requirements_and_design.txt +0 -117
  131. data/docs/roadmap.txt +0 -28
  132. data/docs/scientific_use.txt +0 -35
  133. data/docs/supplies/page_template.html +0 -71
  134. data/docs/thanks.txt +0 -29
  135. data/docs/tutorial.txt +0 -469
  136. data/ext/opengl/glu-enums.c +0 -164
  137. data/ext/opengl/glu-enums.h +0 -463
  138. data/ext/opengl/glu.c +0 -1534
  139. data/ext/opengl/glut.c +0 -1145
  140. data/ext/opengl/glut_callbacks.c +0 -845
  141. data/lib/glu.rb +0 -1
  142. data/lib/glut.rb +0 -1
  143. data/lib/opengl/opengl.so +0 -0
  144. data/test/test_glu.rb +0 -309
  145. data/utils/mkdn2html.rb +0 -59
  146. data/utils/post-mkdn2html.rb +0 -91
  147. data/website/images/ogl.jpg +0 -0
  148. data/website/images/tab_bottom.gif +0 -0
  149. data/website/style.css +0 -198
@@ -19,7 +19,6 @@ class TestGl14 < OpenGL::TestCase
19
19
 
20
20
  def setup
21
21
  super
22
-
23
22
  supported? 1.4
24
23
  end
25
24
 
@@ -27,13 +26,13 @@ class TestGl14 < OpenGL::TestCase
27
26
  sc = [0, 1, 0, 1, 0, 1].pack("f*")
28
27
  fc = [1, 0].pack("f*")
29
28
 
30
- glSecondaryColorPointer(3, GL_FLOAT, 0, sc)
29
+ glSecondaryColorPointer(3, GL_FLOAT, 12, sc)
31
30
  assert_equal 3, glGetIntegerv(GL_SECONDARY_COLOR_ARRAY_SIZE)
32
31
  assert_equal GL_FLOAT, glGetIntegerv(GL_SECONDARY_COLOR_ARRAY_TYPE)
33
32
  assert_equal 12, glGetIntegerv(GL_SECONDARY_COLOR_ARRAY_STRIDE)
34
33
  assert_equal sc, glGetPointerv(GL_SECONDARY_COLOR_ARRAY_POINTER)
35
34
 
36
- glFogCoordPointer(GL_FLOAT, 0, fc)
35
+ glFogCoordPointer(GL_FLOAT, 4, fc)
37
36
  assert_equal GL_FLOAT, glGetIntegerv(GL_FOG_COORD_ARRAY_TYPE)
38
37
  assert_equal 4, glGetIntegerv(GL_FOG_COORD_ARRAY_STRIDE)
39
38
  assert_equal fc, glGetPointerv(GL_FOG_COORD_ARRAY_POINTER)
@@ -45,15 +44,15 @@ class TestGl14 < OpenGL::TestCase
45
44
  glArrayElement(0)
46
45
  glEnd()
47
46
 
48
- assert_equal(glGetDoublev(GL_CURRENT_SECONDARY_COLOR), [0, 1, 0, 1])
49
- assert_equal(glGetDoublev(GL_CURRENT_FOG_COORD), 1)
47
+ assert_equal([0, 1, 0, 1], glGetDoublev(GL_CURRENT_SECONDARY_COLOR))
48
+ assert_equal(1, glGetDoublev(GL_CURRENT_FOG_COORD))
50
49
 
51
50
  glBegin(GL_TRIANGLES)
52
51
  glArrayElement(1)
53
52
  glEnd()
54
53
 
55
- assert_equal(glGetDoublev(GL_CURRENT_SECONDARY_COLOR), [1, 0, 1, 1])
56
- assert_equal(glGetDoublev(GL_CURRENT_FOG_COORD), 0)
54
+ assert_equal([1, 0, 1, 1], glGetDoublev(GL_CURRENT_SECONDARY_COLOR))
55
+ assert_equal(0, glGetDoublev(GL_CURRENT_FOG_COORD))
57
56
 
58
57
  glDisableClientState(GL_SECONDARY_COLOR_ARRAY)
59
58
  glDisableClientState(GL_FOG_COORD_ARRAY)
@@ -81,21 +80,21 @@ class TestGl14 < OpenGL::TestCase
81
80
 
82
81
  def test_glblendfuncseparate
83
82
  glBlendFuncSeparate(GL_SRC_COLOR, GL_SRC_COLOR, GL_SRC_COLOR, GL_SRC_COLOR)
84
- assert_equal(glGetIntegerv(GL_BLEND_SRC_RGB), GL_SRC_COLOR)
85
- assert_equal(glGetIntegerv(GL_BLEND_SRC_ALPHA), GL_SRC_COLOR)
86
- assert_equal(glGetIntegerv(GL_BLEND_DST_RGB), GL_SRC_COLOR)
87
- assert_equal(glGetIntegerv(GL_BLEND_DST_ALPHA), GL_SRC_COLOR)
83
+ assert_equal(GL_SRC_COLOR, glGetIntegerv(GL_BLEND_SRC_RGB))
84
+ assert_equal(GL_SRC_COLOR, glGetIntegerv(GL_BLEND_SRC_ALPHA))
85
+ assert_equal(GL_SRC_COLOR, glGetIntegerv(GL_BLEND_DST_RGB))
86
+ assert_equal(GL_SRC_COLOR, glGetIntegerv(GL_BLEND_DST_ALPHA))
88
87
  end
89
88
 
90
89
  def test_glpointparameter
91
90
  glPointParameterf(GL_POINT_SIZE_MIN, 2.0)
92
- assert_equal(glGetDoublev(GL_POINT_SIZE_MIN), 2.0)
91
+ assert_equal(2.0, glGetDoublev(GL_POINT_SIZE_MIN))
93
92
 
94
93
  glPointParameterfv(GL_POINT_DISTANCE_ATTENUATION, [0, 1, 0])
95
94
  assert_equal([0, 1, 0], glGetDoublev(GL_POINT_DISTANCE_ATTENUATION))
96
95
 
97
96
  glPointParameteri(GL_POINT_SIZE_MAX, 4)
98
- assert_equal(glGetDoublev(GL_POINT_SIZE_MAX), 4)
97
+ assert_equal(4, glGetDoublev(GL_POINT_SIZE_MAX))
99
98
 
100
99
  glPointParameteriv(GL_POINT_DISTANCE_ATTENUATION, [1, 0, 1])
101
100
  assert_equal([1, 0, 1], glGetDoublev(GL_POINT_DISTANCE_ATTENUATION))
@@ -103,14 +102,14 @@ class TestGl14 < OpenGL::TestCase
103
102
 
104
103
  def test_glfogcoord
105
104
  glFogCoordf(2.0)
106
- assert_equal(glGetDoublev(GL_CURRENT_FOG_COORD), 2.0)
105
+ assert_equal(2.0, glGetDoublev(GL_CURRENT_FOG_COORD))
107
106
  glFogCoordfv([3.0])
108
- assert_equal(glGetDoublev(GL_CURRENT_FOG_COORD), 3.0)
107
+ assert_equal(3.0, glGetDoublev(GL_CURRENT_FOG_COORD))
109
108
 
110
109
  glFogCoordd(2.0)
111
- assert_equal(glGetDoublev(GL_CURRENT_FOG_COORD), 2.0)
110
+ assert_equal(2.0, glGetDoublev(GL_CURRENT_FOG_COORD))
112
111
  glFogCoorddv([3.0])
113
- assert_equal(glGetDoublev(GL_CURRENT_FOG_COORD), 3.0)
112
+ assert_equal(3.0, glGetDoublev(GL_CURRENT_FOG_COORD))
114
113
  end
115
114
 
116
115
  def test_glsecondarycolor
@@ -216,6 +215,4 @@ class TestGl14 < OpenGL::TestCase
216
215
  glWindowPos3sv [3, 2, 1]
217
216
  assert_each_in_delta [3, 2, 1, 1], glGetDoublev(GL_CURRENT_RASTER_POSITION)
218
217
  end
219
-
220
218
  end
221
-
@@ -19,7 +19,6 @@ class TestGl15 < OpenGL::TestCase
19
19
 
20
20
  def setup
21
21
  super
22
-
23
22
  supported? 1.5
24
23
  end
25
24
 
@@ -72,7 +71,7 @@ class TestGl15 < OpenGL::TestCase
72
71
  r = glUnmapBuffer(GL_ARRAY_BUFFER)
73
72
  assert(r == true || r == false)
74
73
 
75
- glDeleteBuffers(buffers)
74
+ glDeleteBuffers(buffers)
76
75
  refute glIsBuffer(buffers[0])
77
76
 
78
77
  # FIXME: GetBufferPointerv not yet implemented
@@ -251,10 +250,9 @@ class TestGl15 < OpenGL::TestCase
251
250
  glMultiDrawElements(GL_TRIANGLES, GL_UNSIGNED_BYTE, [3, 3], [0, 3])
252
251
 
253
252
  count = glRenderMode(GL_RENDER)
254
- assert_equal 2 * (3 * 3 + 2), count
253
+ assert_equal count, 2 * (3 * 3 + 2)
255
254
 
256
255
  glDisableClientState(GL_VERTEX_ARRAY)
257
256
  glDeleteBuffers(buffers)
258
257
  end
259
-
260
258
  end
@@ -19,48 +19,47 @@ class TestGl20 < OpenGL::TestCase
19
19
 
20
20
  def setup
21
21
  super
22
-
23
22
  supported? 2.0
24
23
  end
25
24
 
26
25
  def test_glblendequationseparate
27
26
  glBlendEquationSeparate(GL_MIN, GL_MAX)
28
- assert_equal(glGetIntegerv(GL_BLEND_EQUATION_RGB), GL_MIN)
29
- assert_equal(glGetIntegerv(GL_BLEND_EQUATION_ALPHA), GL_MAX)
27
+ assert_equal(GL_MIN, glGetIntegerv(GL_BLEND_EQUATION_RGB))
28
+ assert_equal(GL_MAX, glGetIntegerv(GL_BLEND_EQUATION_ALPHA))
30
29
  glBlendEquationSeparate(GL_MAX, GL_MIN)
31
- assert_equal(glGetIntegerv(GL_BLEND_EQUATION_RGB), GL_MAX)
32
- assert_equal(glGetIntegerv(GL_BLEND_EQUATION_ALPHA), GL_MIN)
30
+ assert_equal(GL_MAX, glGetIntegerv(GL_BLEND_EQUATION_RGB))
31
+ assert_equal(GL_MIN, glGetIntegerv(GL_BLEND_EQUATION_ALPHA))
33
32
  end
34
33
 
35
34
  def test_stencilops
36
35
  glStencilOpSeparate(GL_FRONT, GL_ZERO, GL_INCR, GL_DECR)
37
- assert_equal(glGetIntegerv(GL_STENCIL_FAIL), GL_ZERO)
38
- assert_equal(glGetIntegerv(GL_STENCIL_PASS_DEPTH_FAIL), GL_INCR)
39
- assert_equal(glGetIntegerv(GL_STENCIL_PASS_DEPTH_PASS), GL_DECR)
36
+ assert_equal(GL_ZERO, glGetIntegerv(GL_STENCIL_FAIL))
37
+ assert_equal(GL_INCR, glGetIntegerv(GL_STENCIL_PASS_DEPTH_FAIL))
38
+ assert_equal(GL_DECR, glGetIntegerv(GL_STENCIL_PASS_DEPTH_PASS))
40
39
  glStencilOpSeparate(GL_FRONT, GL_INCR, GL_DECR, GL_ZERO)
41
- assert_equal(glGetIntegerv(GL_STENCIL_FAIL), GL_INCR)
42
- assert_equal(glGetIntegerv(GL_STENCIL_PASS_DEPTH_FAIL), GL_DECR)
43
- assert_equal(glGetIntegerv(GL_STENCIL_PASS_DEPTH_PASS), GL_ZERO)
40
+ assert_equal(GL_INCR, glGetIntegerv(GL_STENCIL_FAIL))
41
+ assert_equal(GL_DECR, glGetIntegerv(GL_STENCIL_PASS_DEPTH_FAIL))
42
+ assert_equal(GL_ZERO, glGetIntegerv(GL_STENCIL_PASS_DEPTH_PASS))
44
43
 
45
44
  glStencilFuncSeparate(GL_FRONT, GL_LEQUAL, 1, 0)
46
- assert_equal(glGetIntegerv(GL_STENCIL_FUNC), GL_LEQUAL)
47
- assert_equal(glGetIntegerv(GL_STENCIL_REF), 1)
48
- assert_equal(glGetIntegerv(GL_STENCIL_VALUE_MASK), 0)
45
+ assert_equal(GL_LEQUAL, glGetIntegerv(GL_STENCIL_FUNC))
46
+ assert_equal(1, glGetIntegerv(GL_STENCIL_REF))
47
+ assert_equal(0, glGetIntegerv(GL_STENCIL_VALUE_MASK))
49
48
  glStencilFuncSeparate(GL_FRONT, GL_GEQUAL, 0, 1)
50
- assert_equal(glGetIntegerv(GL_STENCIL_FUNC), GL_GEQUAL)
51
- assert_equal(glGetIntegerv(GL_STENCIL_REF), 0)
52
- assert_equal(glGetIntegerv(GL_STENCIL_VALUE_MASK), 1)
49
+ assert_equal(GL_GEQUAL, glGetIntegerv(GL_STENCIL_FUNC))
50
+ assert_equal(0, glGetIntegerv(GL_STENCIL_REF))
51
+ assert_equal(1, glGetIntegerv(GL_STENCIL_VALUE_MASK))
53
52
 
54
53
  glStencilMaskSeparate(GL_FRONT, 1)
55
- assert_equal(glGetIntegerv( GL_STENCIL_WRITEMASK), 1)
54
+ assert_equal(1, glGetIntegerv( GL_STENCIL_WRITEMASK))
56
55
  glStencilMaskSeparate(GL_FRONT, 0)
57
- assert_equal(glGetIntegerv(GL_STENCIL_WRITEMASK), 0)
56
+ assert_equal(0, glGetIntegerv(GL_STENCIL_WRITEMASK))
58
57
  end
59
58
 
60
59
  def test_gldrawbuf
61
60
  glDrawBuffers([GL_FRONT_LEFT, GL_BACK_LEFT])
62
- assert_equal(glGetIntegerv(GL_DRAW_BUFFER0), GL_FRONT_LEFT)
63
- assert_equal(glGetIntegerv(GL_DRAW_BUFFER1), GL_BACK_LEFT)
61
+ assert_equal(GL_FRONT_LEFT, glGetIntegerv(GL_DRAW_BUFFER0))
62
+ assert_equal(GL_BACK_LEFT, glGetIntegerv(GL_DRAW_BUFFER1))
64
63
  end
65
64
 
66
65
  def test_glvertexattrib
@@ -230,15 +229,9 @@ uniform ivec3 testivec3;
230
229
  uniform ivec4 testivec4;
231
230
 
232
231
  void main() {
233
- testvec1;
234
- testvec2;
235
- testvec3;
236
- testvec4;
237
- testivec1;
238
- testivec2;
239
- testivec3;
240
- testivec4;
241
- gl_Position = ftransform();
232
+ gl_Position = ftransform() *
233
+ testvec1 * testvec2[0] * testvec3[0] * testvec4[0] *
234
+ float(testivec1) * float(testivec2[0]) * float(testivec3[0]) * float(testivec4[0]);
242
235
  }
243
236
  SHADER
244
237
 
@@ -265,47 +258,47 @@ void main() {
265
258
  glUseProgram program
266
259
 
267
260
  test = glGetAttribLocation program, "test"
268
- assert_equal -1, test
261
+ assert_equal(-1, test)
269
262
 
270
263
  tv1l = glGetUniformLocation program, "testvec1"
271
- refute_equal -1, tv1l, "testvec1 missing!"
264
+ refute_equal(-1, tv1l, "testvec1 missing!")
272
265
 
273
266
  tv2l = glGetUniformLocation program, "testvec2"
274
- refute_equal -1, tv2l, "testvec2 missing!"
267
+ refute_equal(-1, tv2l, "testvec2 missing!")
275
268
 
276
269
  tv3l = glGetUniformLocation program, "testvec3"
277
- refute_equal -1, tv3l, "testvec3 missing!"
270
+ refute_equal(-1, tv3l, "testvec3 missing!")
278
271
 
279
272
  tv4l = glGetUniformLocation program, "testvec4"
280
- refute_equal -1, tv4l, "testvec4 missing!"
273
+ refute_equal(-1, tv4l, "testvec4 missing!")
281
274
 
282
275
  tv1il = glGetUniformLocation program, "testivec1"
283
- refute_equal -1, tv1il, "testivec1 missing!"
276
+ refute_equal(-1, tv1il, "testivec1 missing!")
284
277
 
285
278
  tv2il = glGetUniformLocation program, "testivec2"
286
- refute_equal -1, tv2il, "testivec2 missing!"
279
+ refute_equal(-1, tv2il, "testivec2 missing!")
287
280
 
288
281
  tv3il = glGetUniformLocation program, "testivec3"
289
- refute_equal -1, tv3il, "testivec3 missing!"
282
+ refute_equal(-1, tv3il, "testivec3 missing!")
290
283
 
291
284
  tv4il = glGetUniformLocation program, "testivec4"
292
- refute_equal -1, tv4il, "testivec4 missing!"
285
+ refute_equal(-1, tv4il, "testivec4 missing!")
293
286
 
294
287
  assert_equal [1, GL_FLOAT_VEC4, "gl_Vertex"], glGetActiveAttrib(program, 0)
295
288
  assert_equal [1, GL_INT, "testivec1"], glGetActiveUniform(program, tv1il)
296
289
 
297
290
  # f
298
291
  glUniform1f(tv1l, 2.0)
299
- assert_equal(glGetUniformfv(program, tv1l), 2.0)
292
+ assert_equal(2.0, glGetUniformfv(program, tv1l))
300
293
  glUniform2f(tv2l, 2.0, 2.0)
301
294
  assert_equal([2.0, 2.0], glGetUniformfv(program, tv2l))
302
295
  glUniform3f(tv3l, 2.0, 2.0, 2.0)
303
296
  assert_equal([2.0, 2.0, 2.0], glGetUniformfv(program, tv3l))
304
297
  glUniform4f(tv4l, 2.0, 2.0, 2.0, 2.0)
305
298
  assert_equal([2.0, 2.0, 2.0, 2.0], glGetUniformfv(program, tv4l))
306
- # i
299
+ # i
307
300
  glUniform1i(tv1il, 3)
308
- assert_equal(glGetUniformiv(program, tv1il), 3)
301
+ assert_equal(3, glGetUniformiv(program, tv1il))
309
302
  glUniform2i(tv2il, 3, 3)
310
303
  assert_equal([3, 3], glGetUniformiv(program, tv2il))
311
304
  glUniform3i(tv3il, 3, 3, 3)
@@ -314,7 +307,7 @@ void main() {
314
307
  assert_equal([3, 3, 3, 3], glGetUniformiv(program, tv4il))
315
308
  # fv
316
309
  glUniform1fv(tv1l, [3.0])
317
- assert_equal(glGetUniformfv(program, tv1l), 3.0)
310
+ assert_equal(3.0, glGetUniformfv(program, tv1l))
318
311
  glUniform2fv(tv2l, [3.0, 3.0])
319
312
  assert_equal([3.0, 3.0], glGetUniformfv(program, tv2l))
320
313
  glUniform3fv(tv3l, [3.0, 3.0, 3.0])
@@ -323,7 +316,7 @@ void main() {
323
316
  assert_equal([3.0, 3.0, 3.0, 3.0], glGetUniformfv(program, tv4l))
324
317
  # iv
325
318
  glUniform1iv(tv1il, [2])
326
- assert_equal(glGetUniformiv(program, tv1il), 2)
319
+ assert_equal(2, glGetUniformiv(program, tv1il))
327
320
  glUniform2iv(tv2il, [2, 2])
328
321
  assert_equal([2, 2], glGetUniformiv(program, tv2il))
329
322
  glUniform3iv(tv3il, [2, 2, 2])
@@ -344,10 +337,7 @@ uniform mat3 testmat3;
344
337
  uniform mat4 testmat4;
345
338
 
346
339
  void main() {
347
- testmat2;
348
- testmat3;
349
- testmat4;
350
- gl_Position = ftransform();
340
+ gl_Position = ftransform() * testmat2[0][0] * testmat3[0][0] * testmat4[0][0];
351
341
  }
352
342
  SHADER
353
343
 
@@ -383,22 +373,21 @@ void main() {
383
373
  uniforms[uniform.last] = i
384
374
  end
385
375
 
386
- glUniformMatrix2fv(uniforms['testmat2'], GL_TRUE, [0, 1, 1, 0])
376
+ glUniformMatrix2fv(uniforms['testmat2'], GL_TRUE, [0, 1, 2, 3])
387
377
 
388
- assert_each_in_delta([0, 1, 1, 0],
378
+ assert_each_in_delta([0, 2, 1, 3],
389
379
  glGetUniformfv(program, uniforms['testmat2']))
390
380
 
391
- skip "glUniformMatrix3fv complains but I don't know why"
392
381
  glUniformMatrix3fv(uniforms['testmat3'], GL_TRUE,
393
- [1, 1, 1, 1, 1, 1, 1, 1, 1])
382
+ [0, 1, 2, 3, 4, 5, 6, 7, 8])
394
383
 
395
- assert_each_in_delta([1, 0, 0, 1, 0, 0, 0, 0, 0],
384
+ assert_each_in_delta([0, 3, 6, 1, 4, 7, 2, 5, 8],
396
385
  glGetUniformfv(program, uniforms['testmat3']))
397
386
 
398
387
  glUniformMatrix4fv(uniforms['testmat4'], GL_TRUE,
399
- [0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0])
388
+ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
400
389
 
401
- assert_each_in_delta([0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0],
390
+ assert_each_in_delta([0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15],
402
391
  glGetUniformfv(program, uniforms['testmat4']))
403
392
  ensure
404
393
  glDeleteProgram program
@@ -413,7 +402,7 @@ void main() {
413
402
  glBufferData(GL_ARRAY_BUFFER, 8*4, vaa, GL_DYNAMIC_DRAW)
414
403
 
415
404
  glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, 0, 0)
416
- assert_equal(glGetVertexAttribPointerv(1), 0)
405
+ assert_equal(0, glGetVertexAttribPointerv(1))
417
406
 
418
407
  glEnableVertexAttribArray(1)
419
408
 
@@ -425,6 +414,4 @@ void main() {
425
414
  glDisableVertexAttribArray(1)
426
415
  glDeleteBuffers(buffers)
427
416
  end
428
-
429
417
  end
430
-
@@ -19,7 +19,6 @@ class TestGl21 < OpenGL::TestCase
19
19
 
20
20
  def setup
21
21
  super
22
-
23
22
  supported? 2.1
24
23
  end
25
24
 
@@ -48,25 +47,25 @@ void main() {
48
47
  glShaderSource(vs, vertex_shader_source)
49
48
  glCompileShader(vs)
50
49
 
51
- assert_equal(glGetShaderiv(vs, GL_COMPILE_STATUS), GL_TRUE)
50
+ assert_equal(GL_TRUE, glGetShaderiv(vs, GL_COMPILE_STATUS))
52
51
  glAttachShader(program, vs)
53
52
 
54
- glLinkProgram(program)
55
- assert_equal(glGetProgramiv(program, GL_LINK_STATUS), GL_TRUE)
53
+ glLinkProgram(program)
54
+ assert_equal(GL_TRUE, glGetProgramiv(program, GL_LINK_STATUS))
56
55
  glUseProgram(program)
57
56
 
58
57
  tm23l = glGetUniformLocation(program, "testmat23")
59
- refute_equal -1, tm23l, "testmat23 missing!"
58
+ refute_equal(-1, tm23l, "testmat23 missing!")
60
59
  tm32l = glGetUniformLocation(program, "testmat32")
61
- refute_equal -1, tm32l, "testmat32 missing!"
60
+ refute_equal(-1, tm32l, "testmat32 missing!")
62
61
  tm24l = glGetUniformLocation(program, "testmat24")
63
- refute_equal -1, tm24l, "testmat24 missing!"
62
+ refute_equal(-1, tm24l, "testmat24 missing!")
64
63
  tm42l = glGetUniformLocation(program, "testmat42")
65
- refute_equal -1, tm42l, "testmat42 missing!"
64
+ refute_equal(-1, tm42l, "testmat42 missing!")
66
65
  tm34l = glGetUniformLocation(program, "testmat34")
67
- refute_equal -1, tm34l, "testmat34 missing!"
66
+ refute_equal(-1, tm34l, "testmat34 missing!")
68
67
  tm43l = glGetUniformLocation(program, "testmat43")
69
- refute_equal -1, tm43l, "testmat43 missing!"
68
+ refute_equal(-1, tm43l, "testmat43 missing!")
70
69
 
71
70
  refute_equal(-1, glGetUniformLocation(program, "testmat23"),
72
71
  "testmat23 missing!")
@@ -81,50 +80,49 @@ void main() {
81
80
  refute_equal(-1, glGetUniformLocation(program, "testmat43"),
82
81
  "testmat43 missing!")
83
82
 
84
- uniforms = Hash.new do |_, k| raise "invalid uniform #{k}" end
83
+ uniforms = Hash.new { |_, k| raise "invalid uniform #{k}" }
85
84
  (0...glGetProgramiv(program, GL_ACTIVE_UNIFORMS)).each do |i|
86
85
  uniform = glGetActiveUniform program, i
87
86
  uniforms[uniform.last] = i
88
87
  end
89
88
 
90
- skip "glUniformMatrix2x3fv complains but I don't know why"
91
89
  glUniformMatrix2x3fv(uniforms["testmat23"], GL_FALSE, [0, 1, 1, 0, 0, 1])
92
- assert_equal(glGetUniformfv(program, uniforms["testmat23"]), [0, 1, 1, 0, 0, 1])
90
+ assert_equal([0, 1, 1, 0, 0, 1], glGetUniformfv(program, uniforms["testmat23"]))
93
91
  glUniformMatrix3x2fv(uniforms["testmat32"], GL_FALSE, [1, 0, 0, 1, 1, 0])
94
- assert_equal(glGetUniformfv(program, uniforms["testmat32"]), [1, 0, 0, 1, 1, 0])
92
+ assert_equal([1, 0, 0, 1, 1, 0], glGetUniformfv(program, uniforms["testmat32"]))
95
93
 
96
94
  glUniformMatrix2x4fv(uniforms["testmat24"], GL_FALSE, [0, 1, 1, 0, 0, 1, 1, 0])
97
- assert_equal(glGetUniformfv(program, uniforms["testmat24"]), [0, 1, 1, 0, 0, 1, 1, 0])
95
+ assert_equal([0, 1, 1, 0, 0, 1, 1, 0], glGetUniformfv(program, uniforms["testmat24"]))
98
96
  glUniformMatrix4x2fv(uniforms["testmat42"], GL_FALSE, [1, 0, 0, 1, 1, 0, 0, 1])
99
- assert_equal(glGetUniformfv(program, uniforms["testmat42"]), [1, 0, 0, 1, 1, 0, 0, 1])
97
+ assert_equal([1, 0, 0, 1, 1, 0, 0, 1], glGetUniformfv(program, uniforms["testmat42"]))
100
98
 
101
99
  glUniformMatrix3x4fv(uniforms["testmat34"], GL_FALSE, [0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1])
102
- assert_equal(glGetUniformfv(program, uniforms["testmat34"]), [0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1])
100
+ assert_equal([0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1], glGetUniformfv(program, uniforms["testmat34"]))
103
101
  glUniformMatrix4x3fv(uniforms["testmat43"], GL_FALSE, [1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0])
104
- assert_equal(glGetUniformfv(program, uniforms["testmat43"]), [1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0])
102
+ assert_equal([1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0], glGetUniformfv(program, uniforms["testmat43"]))
105
103
 
106
104
  # 2
107
105
  m = Matrix.rows([[0, 1], [1, 0], [0, 1]])
108
106
  glUniformMatrix2x3fv(uniforms["testmat23"], GL_FALSE, m)
109
- assert_equal(glGetUniformfv(program, uniforms["testmat23"]), [0, 1, 1, 0, 0, 1])
107
+ assert_equal([0, 1, 1, 0, 0, 1], glGetUniformfv(program, uniforms["testmat23"]))
110
108
  m = Matrix.rows([[0, 1, 1], [0, 0, 1]])
111
109
  glUniformMatrix3x2fv(uniforms["testmat32"], GL_FALSE, m)
112
- assert_equal(glGetUniformfv(program, uniforms["testmat32"]), [0, 1, 1, 0, 0, 1])
110
+ assert_equal([0, 1, 1, 0, 0, 1], glGetUniformfv(program, uniforms["testmat32"]))
113
111
 
114
112
  m = Matrix.rows([[0, 1], [1, 0], [0, 1], [1, 0]])
115
113
  glUniformMatrix2x4fv(uniforms["testmat24"], GL_FALSE, m)
116
- assert_equal(glGetUniformfv(program, uniforms["testmat24"]), [0, 1, 1, 0, 0, 1, 1, 0])
114
+ assert_equal([0, 1, 1, 0, 0, 1, 1, 0], glGetUniformfv(program, uniforms["testmat24"]))
117
115
  m = Matrix.rows([[0, 1, 1, 1], [0, 0, 1, 1]])
118
116
  glUniformMatrix4x2fv(uniforms["testmat42"], GL_FALSE, m)
119
- assert_equal(glGetUniformfv(program, uniforms["testmat42"]), [0, 1, 1, 1, 0, 0, 1, 1])
117
+ assert_equal([0, 1, 1, 1, 0, 0, 1, 1], glGetUniformfv(program, uniforms["testmat42"]))
120
118
 
121
119
  m = Matrix.rows([[0, 1, 0], [1, 0, 1], [0, 1, 0], [1, 0, 1]])
122
120
  glUniformMatrix3x4fv(uniforms["testmat34"], GL_FALSE, m)
123
- assert_equal(glGetUniformfv(program, uniforms["testmat34"]), [0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1])
121
+ assert_equal([0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1], glGetUniformfv(program, uniforms["testmat34"]))
124
122
 
125
123
  m = Matrix.rows([[0, 1, 1, 1], [0, 0, 1, 1], [1, 1, 0, 0]])
126
124
  glUniformMatrix4x3fv(uniforms["testmat43"], GL_FALSE, m)
127
- assert_equal(glGetUniformfv(program, uniforms["testmat43"]), [0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0])
125
+ assert_equal([0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0], glGetUniformfv(program, uniforms["testmat43"]))
128
126
 
129
127
  # 3
130
128
  assert_raises ArgumentError do glUniformMatrix2x3fv(uniforms["testmat23"], GL_FALSE, [1, 2, 3, 4]) end
@@ -136,6 +134,7 @@ void main() {
136
134
  end
137
135
 
138
136
  def test_pixelunpack_bitmap
137
+ skip("Segfaults on Mesa until upstream fixes it")
139
138
  glOrtho(0, WINDOW_SIZE, 0, WINDOW_SIZE, 0, -1)
140
139
 
141
140
  bitmap = [ 0x55 ] * 8 # 64 bits (8x8 bitmap), stipple pattern
@@ -148,47 +147,7 @@ void main() {
148
147
 
149
148
  glBitmap(8, 8, 0, 0, 0, 0, 0)
150
149
  data = glReadPixels(0, 0, 8, 8, GL_RED, GL_UNSIGNED_BYTE)
151
- assert_equal(data.unpack("C*"), [0, 255] * 32)
152
-
153
- glDeleteBuffers(buffers)
154
- end
155
-
156
- def test_pixelunpack_color_convolution
157
- ct = ([0]*3+[1]*3+[0]*3+[1]*3).pack("f*")
158
- ct2 = ([1]*3+[0]*3+[1]*3+[0]*3).pack("f*")
159
-
160
- buffers = glGenBuffers(2)
161
- glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[0])
162
- glBufferData(GL_PIXEL_UNPACK_BUFFER, 4*3*4, ct, GL_DYNAMIC_DRAW)
163
-
164
- glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[1])
165
- glBufferData(GL_PIXEL_UNPACK_BUFFER, 4*3*4, ct2, GL_DYNAMIC_DRAW)
166
-
167
- glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[0])
168
- glColorTable(GL_COLOR_TABLE, GL_RGB8, 4, GL_RGB, GL_FLOAT, 0)
169
- assert_equal(glGetColorTable(GL_COLOR_TABLE, GL_RGB, GL_FLOAT), ct)
170
- glConvolutionFilter1D(GL_CONVOLUTION_1D, GL_RGB8, 4, GL_RGB, GL_FLOAT, 0)
171
- assert_equal(glGetConvolutionFilter(GL_CONVOLUTION_1D, GL_RGB, GL_FLOAT), ct)
172
-
173
- glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[1])
174
- glColorSubTable(GL_COLOR_TABLE, 0, 4, GL_RGB, GL_FLOAT, 0)
175
- assert_equal(glGetColorTable(GL_COLOR_TABLE, GL_RGB, GL_FLOAT), ct2)
176
- glConvolutionFilter2D(GL_CONVOLUTION_2D, GL_RGB8, 2, 2, GL_RGB, GL_FLOAT, 0)
177
- assert_equal(glGetConvolutionFilter(GL_CONVOLUTION_2D, GL_RGB, GL_FLOAT), ct2)
178
-
179
- glDeleteBuffers(buffers)
180
- end
181
-
182
- def test_pixelunpack_separable
183
- sf_a = ([0]*3+[1]*3).pack("f*")
184
- sf_b = ([1]*3+[0]*3).pack("f*")
185
-
186
- buffers = glGenBuffers(1)
187
- glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[0])
188
- glBufferData(GL_PIXEL_UNPACK_BUFFER, 2*3*4 *2, sf_a + sf_b, GL_DYNAMIC_DRAW)
189
-
190
- glSeparableFilter2D(GL_SEPARABLE_2D, GL_RGB8, 2, 2, GL_RGB, GL_FLOAT, 0, 2*3*4)
191
- assert_equal(glGetSeparableFilter(GL_SEPARABLE_2D, GL_RGB, GL_FLOAT), [sf_a, sf_b])
150
+ assert_equal([0, 255] * 32, data.unpack("C*"))
192
151
 
193
152
  glDeleteBuffers(buffers)
194
153
  end
@@ -206,7 +165,7 @@ void main() {
206
165
  glDrawPixels(4, 4, GL_RGB, GL_FLOAT, 0)
207
166
 
208
167
  data = glReadPixels(0, 0, 4, 4, GL_RGB, GL_FLOAT)
209
- assert_equal(data, image)
168
+ assert_equal(image, data)
210
169
 
211
170
  glDeleteBuffers(buffers)
212
171
  end
@@ -218,7 +177,7 @@ void main() {
218
177
  glBufferData(GL_PIXEL_UNPACK_BUFFER, 128, stipple, GL_DYNAMIC_DRAW)
219
178
 
220
179
  glPolygonStipple(0)
221
- assert_equal(glGetPolygonStipple(), stipple)
180
+ assert_equal(stipple, glGetPolygonStipple())
222
181
  glDeleteBuffers(buffers)
223
182
  end
224
183
 
@@ -247,7 +206,7 @@ void main() {
247
206
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[0])
248
207
  begin
249
208
  glCompressedTexImage1D(GL_TEXTURE_1D, 0, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, 4, 0, 16, 0)
250
- assert_equal(glGetCompressedTexImage(GL_TEXTURE_1D, 0), image_1)
209
+ assert_equal(image_1, glGetCompressedTexImage(GL_TEXTURE_1D, 0))
251
210
  rescue Gl::Error => err
252
211
  assert(err.id == GL_INVALID_ENUM || err.id == GL_INVALID_OPERATION)
253
212
  end
@@ -255,7 +214,7 @@ void main() {
255
214
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[1])
256
215
  begin
257
216
  glCompressedTexSubImage1D(GL_TEXTURE_1D, 0, 0, 4, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, 16, 0)
258
- assert_equal(glGetCompressedTexImage(GL_TEXTURE_1D, 0), image_2)
217
+ assert_equal(image_2, glGetCompressedTexImage(GL_TEXTURE_1D, 0))
259
218
  rescue Gl::Error => err
260
219
  assert(err.id == GL_INVALID_ENUM || err.id == GL_INVALID_OPERATION)
261
220
  end
@@ -263,17 +222,17 @@ void main() {
263
222
  # 2D
264
223
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[0])
265
224
  glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, 2, 2, 0, 16, 0)
266
- assert_equal(glGetCompressedTexImage(GL_TEXTURE_2D, 0), image_1)
225
+ assert_equal(image_1, glGetCompressedTexImage(GL_TEXTURE_2D, 0))
267
226
 
268
227
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[1])
269
228
  glCompressedTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 2, 2, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, 16, 0)
270
- assert_equal(glGetCompressedTexImage(GL_TEXTURE_2D, 0), image_2)
229
+ assert_equal(image_2, glGetCompressedTexImage(GL_TEXTURE_2D, 0))
271
230
 
272
231
  # 3D
273
232
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[0])
274
233
  begin
275
234
  glCompressedTexImage3D(GL_TEXTURE_3D, 0, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, 2, 2, 1, 0, 16, 0)
276
- assert_equal(glGetCompressedTexImage(GL_TEXTURE_3D, 0), image_1)
235
+ assert_equal(image_1, glGetCompressedTexImage(GL_TEXTURE_3D, 0))
277
236
  rescue Gl::Error => err
278
237
  assert(err.id == GL_INVALID_ENUM || err.id == GL_INVALID_OPERATION)
279
238
  end
@@ -281,7 +240,7 @@ void main() {
281
240
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[1])
282
241
  begin
283
242
  glCompressedTexSubImage3D(GL_TEXTURE_3D, 0, 0, 0, 0, 2, 2, 1, GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, 16, 0)
284
- assert_equal(glGetCompressedTexImage(GL_TEXTURE_3D, 0), image_2)
243
+ assert_equal(image_2, glGetCompressedTexImage(GL_TEXTURE_3D, 0))
285
244
  rescue Gl::Error => err
286
245
  assert(err.id == GL_INVALID_ENUM || err.id == GL_INVALID_OPERATION)
287
246
  end
@@ -306,22 +265,22 @@ void main() {
306
265
 
307
266
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[0])
308
267
  glTexImage3D(GL_TEXTURE_3D, 0, GL_RGB8, 2, 2, 4, 0, GL_RGB, GL_FLOAT, 0)
309
- assert_equal(glGetTexImage(GL_TEXTURE_3D, 0, GL_RGB, GL_FLOAT), image_1)
268
+ assert_equal(image_1, glGetTexImage(GL_TEXTURE_3D, 0, GL_RGB, GL_FLOAT))
310
269
 
311
270
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[1])
312
271
  glTexSubImage3D(GL_TEXTURE_3D, 0, 0, 0, 0, 2, 2, 4, GL_RGB, GL_FLOAT, 0)
313
- assert_equal(glGetTexImage(GL_TEXTURE_3D, 0, GL_RGB, GL_FLOAT), image_2)
272
+ assert_equal(image_2, glGetTexImage(GL_TEXTURE_3D, 0, GL_RGB, GL_FLOAT))
314
273
 
315
274
  # 2D
316
275
  glBindTexture(GL_TEXTURE_2D, textures[1])
317
276
 
318
277
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[0])
319
278
  glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, 4, 4, 0, GL_RGB, GL_FLOAT, 0)
320
- assert_equal(glGetTexImage(GL_TEXTURE_2D, 0, GL_RGB, GL_FLOAT), image_1)
279
+ assert_equal(image_1, glGetTexImage(GL_TEXTURE_2D, 0, GL_RGB, GL_FLOAT))
321
280
 
322
281
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[1])
323
282
  glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 4, 4, GL_RGB, GL_FLOAT, 0)
324
- assert_equal(glGetTexImage(GL_TEXTURE_2D, 0, GL_RGB, GL_FLOAT), image_2)
283
+ assert_equal(image_2, glGetTexImage(GL_TEXTURE_2D, 0, GL_RGB, GL_FLOAT))
325
284
 
326
285
  # 1D
327
286
  glBindTexture(GL_TEXTURE_1D, textures[2])
@@ -329,11 +288,11 @@ void main() {
329
288
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[0])
330
289
 
331
290
  glTexImage1D(GL_TEXTURE_1D, 0, GL_RGB8, 16, 0, GL_RGB, GL_FLOAT, 0)
332
- assert_equal(glGetTexImage(GL_TEXTURE_1D, 0, GL_RGB, GL_FLOAT), image_1)
291
+ assert_equal(image_1, glGetTexImage(GL_TEXTURE_1D, 0, GL_RGB, GL_FLOAT))
333
292
 
334
293
  glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffers[1])
335
294
  glTexSubImage1D(GL_TEXTURE_1D, 0, 0, 16, GL_RGB, GL_FLOAT, 0)
336
- assert_equal(glGetTexImage(GL_TEXTURE_1D, 0, GL_RGB, GL_FLOAT), image_2)
295
+ assert_equal(image_2, glGetTexImage(GL_TEXTURE_1D, 0, GL_RGB, GL_FLOAT))
337
296
 
338
297
  glDeleteBuffers(buffers)
339
298
  glDeleteTextures(textures)
@@ -349,13 +308,13 @@ void main() {
349
308
  glBufferData(GL_PIXEL_UNPACK_BUFFER, 4*4+4*4+4*2, data_1+data_2+data_3, GL_DYNAMIC_DRAW)
350
309
 
351
310
  glPixelMapfv(GL_PIXEL_MAP_I_TO_I, 4, 0)
352
- assert_equal(glGetPixelMapfv(GL_PIXEL_MAP_I_TO_I), [1, 2, 3, 4])
311
+ assert_equal([1, 2, 3, 4], glGetPixelMapfv(GL_PIXEL_MAP_I_TO_I))
353
312
 
354
313
  glPixelMapuiv(GL_PIXEL_MAP_I_TO_I, 4, 4*4)
355
- assert_equal(glGetPixelMapuiv(GL_PIXEL_MAP_I_TO_I), [5, 6, 7, 8])
314
+ assert_equal([5, 6, 7, 8], glGetPixelMapuiv(GL_PIXEL_MAP_I_TO_I))
356
315
 
357
316
  glPixelMapusv(GL_PIXEL_MAP_I_TO_I, 4, 4*4+4*4)
358
- assert_equal(glGetPixelMapusv(GL_PIXEL_MAP_I_TO_I), [9, 10, 11, 12])
317
+ assert_equal([9, 10, 11, 12], glGetPixelMapusv(GL_PIXEL_MAP_I_TO_I))
359
318
 
360
319
  glDeleteBuffers(buffers)
361
320
  end
@@ -373,7 +332,7 @@ void main() {
373
332
  glReadPixels(0, 0, 4, 4, GL_RGB, GL_FLOAT, 0)
374
333
 
375
334
  data = glMapBuffer(GL_PIXEL_PACK_BUFFER_ARB, GL_READ_ONLY)
376
- assert_equal(data, image)
335
+ assert_equal(image, data)
377
336
  glUnmapBuffer(GL_PIXEL_PACK_BUFFER_ARB)
378
337
 
379
338
  glDeleteBuffers(buffers)
@@ -384,7 +343,7 @@ void main() {
384
343
  glBindBuffer(GL_PIXEL_PACK_BUFFER, buffers[0])
385
344
  glBufferData(GL_PIXEL_PACK_BUFFER_ARB, 4*4, nil, GL_STREAM_READ)
386
345
 
387
- # fv
346
+ # fv
388
347
  glPixelMapfv(GL_PIXEL_MAP_I_TO_I, [1, 2, 3, 4])
389
348
  glGetPixelMapfv(GL_PIXEL_MAP_I_TO_I, 0)
390
349
 
@@ -400,7 +359,7 @@ void main() {
400
359
  assert_equal([5, 6, 7, 8].pack("I*"), data)
401
360
  glUnmapBuffer(GL_PIXEL_PACK_BUFFER_ARB)
402
361
 
403
- # usv
362
+ # usv
404
363
  glBufferData(GL_PIXEL_PACK_BUFFER_ARB, 4*2, nil, GL_STREAM_READ)
405
364
 
406
365
  glPixelMapusv(GL_PIXEL_MAP_I_TO_I, [9, 10, 11, 12])
@@ -430,80 +389,6 @@ void main() {
430
389
  glDeleteBuffers(buffers)
431
390
  end
432
391
 
433
- def test_pixelpack_separablefilter
434
- sf_a = ([0]*3+[1]*3).pack("f*")
435
- sf_b = ([1]*3+[0]*3).pack("f*")
436
-
437
- buffers = glGenBuffers(1)
438
- glBindBuffer(GL_PIXEL_PACK_BUFFER, buffers[0])
439
- glBufferData(GL_PIXEL_PACK_BUFFER_ARB, 6*4 + 6*4, nil, GL_STREAM_READ)
440
-
441
- glSeparableFilter2D(GL_SEPARABLE_2D, GL_RGB8, 2, 2, GL_RGB, GL_FLOAT, sf_a, sf_b)
442
- glGetSeparableFilter(GL_SEPARABLE_2D, GL_RGB, GL_FLOAT, 0, 6*4, 0)
443
-
444
- data = glMapBuffer(GL_PIXEL_PACK_BUFFER_ARB, GL_READ_ONLY)
445
- assert_equal(data, sf_a + sf_b)
446
- glUnmapBuffer(GL_PIXEL_PACK_BUFFER_ARB)
447
-
448
- glDeleteBuffers(buffers)
449
- end
450
-
451
- def test_pixelpack_convolutionfilter
452
- cf = ([0]*3+[1]*3+[0]*3+[1]*3).pack("f*")
453
-
454
- buffers = glGenBuffers(1)
455
- glBindBuffer(GL_PIXEL_PACK_BUFFER, buffers[0])
456
- glBufferData(GL_PIXEL_PACK_BUFFER_ARB, 3*4*4, nil, GL_STREAM_READ)
457
-
458
- glConvolutionFilter1D(GL_CONVOLUTION_1D, GL_RGB8, 4, GL_RGB, GL_FLOAT, cf)
459
-
460
- glGetConvolutionFilter(GL_CONVOLUTION_1D, GL_RGB, GL_FLOAT, 0)
461
- data = glMapBuffer(GL_PIXEL_PACK_BUFFER_ARB, GL_READ_ONLY)
462
- assert_equal(data, cf)
463
- glUnmapBuffer(GL_PIXEL_PACK_BUFFER_ARB)
464
-
465
- glDeleteBuffers(buffers)
466
- end
467
-
468
- def test_pixelpack_histogram
469
- glEnable(GL_HISTOGRAM)
470
-
471
- glHistogram(GL_HISTOGRAM, 1, GL_RGB8, GL_FALSE)
472
-
473
- buffers = glGenBuffers(1)
474
- glBindBuffer(GL_PIXEL_PACK_BUFFER, buffers[0])
475
- glBufferData(GL_PIXEL_PACK_BUFFER_ARB, 3*4, nil, GL_STREAM_READ)
476
-
477
- glDrawPixels(2, 1, GL_RGB, GL_FLOAT, [1, 1, 1, 1, 1, 1].pack("f*"))
478
- glGetHistogram(GL_HISTOGRAM, GL_FALSE, GL_RGB, GL_FLOAT, 0)
479
-
480
- data = glMapBuffer(GL_PIXEL_PACK_BUFFER_ARB, GL_READ_ONLY)
481
- assert_equal(data.unpack("f*"), [2, 2, 2])
482
- glUnmapBuffer(GL_PIXEL_PACK_BUFFER_ARB)
483
-
484
- glDeleteBuffers(buffers)
485
- glDisable(GL_HISTOGRAM)
486
- end
487
-
488
- def test_pixelpack_minmax
489
- glEnable(GL_MINMAX)
490
-
491
- glMinmax(GL_MINMAX, GL_RGB8, GL_FALSE)
492
-
493
- buffers = glGenBuffers(1)
494
- glBindBuffer(GL_PIXEL_PACK_BUFFER, buffers[0])
495
- glBufferData(GL_PIXEL_PACK_BUFFER_ARB, 6*4, nil, GL_STREAM_READ)
496
-
497
- glDrawPixels(2, 1, GL_RGB, GL_FLOAT, [0, 0, 0, 1, 1, 1].pack("f*"))
498
- glGetMinmax(GL_MINMAX, GL_FALSE, GL_RGB, GL_FLOAT, 0)
499
- data = glMapBuffer(GL_PIXEL_PACK_BUFFER_ARB, GL_READ_ONLY)
500
- assert_equal(data.unpack("f*"), [0, 0, 0, 1, 1, 1])
501
- glUnmapBuffer(GL_PIXEL_PACK_BUFFER_ARB)
502
-
503
- glDeleteBuffers(buffers)
504
- glDisable(GL_MINMAX)
505
- end
506
-
507
392
  def test_pixelpack_teximage
508
393
  textures = glGenTextures(1)
509
394
  glBindTexture(GL_TEXTURE_2D, textures[0])
@@ -518,7 +403,7 @@ void main() {
518
403
  glGetTexImage(GL_TEXTURE_2D, 0, GL_RGB, GL_FLOAT, 0)
519
404
 
520
405
  data = glMapBuffer(GL_PIXEL_PACK_BUFFER_ARB, GL_READ_ONLY)
521
- assert_equal(data, image)
406
+ assert_equal(image, data)
522
407
  glUnmapBuffer(GL_PIXEL_PACK_BUFFER_ARB)
523
408
 
524
409
  glDeleteBuffers(buffers)
@@ -542,12 +427,10 @@ void main() {
542
427
  glGetCompressedTexImage(GL_TEXTURE_2D, 0, 0)
543
428
 
544
429
  data = glMapBuffer(GL_PIXEL_PACK_BUFFER_ARB, GL_READ_ONLY)
545
- assert_equal(data, image)
430
+ assert_equal(image, data)
546
431
  glUnmapBuffer(GL_PIXEL_PACK_BUFFER_ARB)
547
432
 
548
433
  glDeleteBuffers(buffers)
549
434
  glDeleteTextures(textures)
550
435
  end
551
-
552
436
  end
553
-