ruby-opengl 0.50.0 → 0.60.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.
- data/Rakefile +15 -11
- data/doc/build_install.txt +10 -6
- data/doc/extensions.txt.in +348 -0
- data/doc/history.txt +4 -0
- data/doc/roadmap.txt +4 -6
- data/doc/scientific_use.txt +7 -0
- data/doc/supplies/page_template.html +2 -1
- data/doc/thanks.txt +5 -0
- data/doc/tutorial.txt +431 -121
- data/examples/NeHe/nehe_lesson02.rb +1 -1
- data/examples/NeHe/nehe_lesson03.rb +1 -1
- data/examples/NeHe/nehe_lesson04.rb +1 -1
- data/examples/NeHe/nehe_lesson05.rb +1 -1
- data/examples/NeHe/nehe_lesson36.rb +1 -1
- data/examples/OrangeBook/brick.rb +3 -15
- data/examples/OrangeBook/particle.rb +2 -20
- data/examples/RedBook/aapoly.rb +1 -1
- data/examples/RedBook/aargb.rb +2 -2
- data/examples/RedBook/accanti.rb +1 -1
- data/examples/RedBook/accpersp.rb +1 -1
- data/examples/RedBook/alpha.rb +2 -2
- data/examples/RedBook/alpha3D.rb +1 -1
- data/examples/RedBook/bezcurve.rb +1 -1
- data/examples/RedBook/bezmesh.rb +1 -1
- data/examples/RedBook/checker.rb +1 -1
- data/examples/RedBook/clip.rb +1 -1
- data/examples/RedBook/colormat.rb +1 -1
- data/examples/RedBook/cube.rb +1 -1
- data/examples/RedBook/depthcue.rb +1 -1
- data/examples/RedBook/dof.rb +1 -1
- data/examples/RedBook/double.rb +1 -1
- data/examples/RedBook/drawf.rb +1 -1
- data/examples/RedBook/feedback.rb +1 -1
- data/examples/RedBook/fog.rb +1 -1
- data/examples/RedBook/font.rb +2 -2
- data/examples/RedBook/hello.rb +1 -1
- data/examples/RedBook/image.rb +4 -4
- data/examples/RedBook/lines.rb +1 -1
- data/examples/RedBook/list.rb +1 -1
- data/examples/RedBook/material.rb +1 -1
- data/examples/RedBook/mipmap.rb +1 -1
- data/examples/RedBook/model.rb +1 -1
- data/examples/RedBook/movelight.rb +1 -1
- data/examples/RedBook/pickdepth.rb +1 -1
- data/examples/RedBook/planet.rb +5 -5
- data/examples/RedBook/quadric.rb +1 -1
- data/examples/RedBook/robot.rb +5 -5
- data/examples/RedBook/select.rb +1 -1
- data/examples/RedBook/smooth.rb +1 -1
- data/examples/RedBook/stencil.rb +1 -1
- data/examples/RedBook/stroke.rb +2 -2
- data/examples/RedBook/surface.rb +1 -1
- data/examples/RedBook/teaambient.rb +1 -1
- data/examples/RedBook/teapots.rb +1 -1
- data/examples/RedBook/tess.rb +1 -1
- data/examples/RedBook/texbind.rb +1 -1
- data/examples/RedBook/texgen.rb +5 -5
- data/examples/RedBook/texturesurf.rb +1 -1
- data/examples/RedBook/varray.rb +1 -1
- data/examples/RedBook/wrap.rb +5 -5
- data/examples/misc/OGLBench.rb +337 -0
- data/examples/misc/anisotropic.rb +1 -1
- data/examples/misc/fbo_test.rb +356 -0
- data/examples/misc/font-glut.rb +1 -1
- data/examples/misc/glfwtest.rb +30 -0
- data/examples/misc/md2model.rb +15 -0
- data/examples/misc/plane.rb +1 -1
- data/examples/misc/readpixel.rb +1 -1
- data/examples/misc/sdltest.rb +34 -0
- data/examples/misc/trislam.rb +828 -0
- data/ext/common/common.h +126 -218
- data/ext/common/conv.h +244 -0
- data/ext/common/funcdef.h +280 -0
- data/ext/common/gl-error.h +23 -0
- data/ext/common/gl-types.h +14 -0
- data/ext/gl/gl-1.0-1.1.c +497 -1255
- data/ext/gl/gl-1.2.c +121 -304
- data/ext/gl/gl-1.3.c +78 -339
- data/ext/gl/gl-1.4.c +102 -164
- data/ext/gl/gl-1.5.c +42 -173
- data/ext/gl/gl-2.0.c +273 -1039
- data/ext/gl/gl-2.1.c +15 -19
- data/ext/gl/gl-enums.c +3 -2
- data/ext/gl/gl-error.c +104 -0
- data/ext/gl/gl-ext-3dfx.c +27 -0
- data/ext/gl/gl-ext-arb.c +812 -12
- data/ext/gl/gl-ext-ati.c +41 -0
- data/ext/gl/gl-ext-ext.c +791 -119
- data/ext/gl/gl-ext-gremedy.c +41 -0
- data/ext/gl/gl-ext-nv.c +679 -0
- data/ext/gl/gl.c +48 -28
- data/ext/gl/mkrf_conf.rb +13 -10
- data/ext/glu/glu-enums.c +3 -2
- data/ext/glu/glu.c +136 -41
- data/ext/glu/mkrf_conf.rb +15 -12
- data/ext/glut/glut.c +37 -80
- data/ext/glut/mkrf_conf.rb +17 -13
- data/lib/opengl.rb +29 -53
- data/test/tc_common.rb +9 -3
- data/test/tc_ext_arb.rb +397 -3
- data/test/tc_ext_ati.rb +33 -0
- data/test/tc_ext_ext.rb +479 -2
- data/test/tc_ext_gremedy.rb +36 -0
- data/test/tc_ext_nv.rb +357 -0
- data/test/tc_func_10_11.rb +93 -67
- data/test/tc_func_12.rb +11 -11
- data/test/tc_func_13.rb +38 -18
- data/test/tc_func_14.rb +2 -2
- data/test/tc_func_15.rb +10 -10
- data/test/tc_func_20.rb +20 -20
- data/test/tc_func_21.rb +53 -22
- data/test/tc_glu.rb +9 -4
- data/test/tc_misc.rb +15 -2
- metadata +22 -8
- data/doc/extensions.txt +0 -361
- data/examples/RedBook/aaindex.rb +0 -97
- data/examples/misc/smooth.rb +0 -42
- data/examples/misc/test.rb +0 -65
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
|
|
18
|
+
class Test_EXT_GREMEDY < Test::Unit::TestCase
|
|
19
|
+
def setup
|
|
20
|
+
common_setup()
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def teardown
|
|
24
|
+
common_teardown()
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_gl_gremedy_string_marker
|
|
28
|
+
return if not supported?("GL_GREMEDY_string_marker")
|
|
29
|
+
glStringMarkerGREMEDY("test")
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_gl_gremedy_frame_terminator
|
|
33
|
+
return if not supported?("GL_GREMEDY_frame_terminator")
|
|
34
|
+
glFrameTerminatorGREMEDY()
|
|
35
|
+
end
|
|
36
|
+
end
|
data/test/tc_ext_nv.rb
ADDED
|
@@ -0,0 +1,357 @@
|
|
|
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
|
+
|
|
18
|
+
class Test_EXT_NV < Test::Unit::TestCase
|
|
19
|
+
def setup
|
|
20
|
+
common_setup()
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def teardown
|
|
24
|
+
common_teardown()
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_gl_nv_vertex_program
|
|
28
|
+
return if not supported?("GL_NV_vertex_program")
|
|
29
|
+
|
|
30
|
+
assert_equal(glIsProgramNV(0),false)
|
|
31
|
+
programs = glGenProgramsNV(2)
|
|
32
|
+
assert_equal(programs.size,2)
|
|
33
|
+
|
|
34
|
+
program = "!!VSP1.0\nEND"
|
|
35
|
+
|
|
36
|
+
glBindProgramNV(GL_VERTEX_PROGRAM_NV, programs[1])
|
|
37
|
+
glLoadProgramNV(GL_VERTEX_STATE_PROGRAM_NV, programs[0], program)
|
|
38
|
+
assert_equal(glGetProgramStringNV(programs[0], GL_PROGRAM_STRING_NV), program)
|
|
39
|
+
assert_equal(glIsProgramNV(programs[0]),true)
|
|
40
|
+
|
|
41
|
+
assert_equal(glGetProgramivNV(programs[0],GL_PROGRAM_LENGTH_NV),program.size)
|
|
42
|
+
|
|
43
|
+
glVertexAttribPointerNV(1,2,GL_FLOAT,0,[1,1].pack("f*"))
|
|
44
|
+
assert_equal(glGetVertexAttribPointervNV(1),[1,1].pack("f*"))
|
|
45
|
+
|
|
46
|
+
glExecuteProgramNV(GL_VERTEX_STATE_PROGRAM_NV,programs[0],[1,1,1,1])
|
|
47
|
+
|
|
48
|
+
glProgramParameter4dNV(GL_VERTEX_PROGRAM_NV,1, 1,2,3,4)
|
|
49
|
+
assert_equal(glGetProgramParameterdvNV(GL_VERTEX_PROGRAM_NV,1,GL_PROGRAM_PARAMETER_NV),[1,2,3,4])
|
|
50
|
+
glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV,1, 5,6,7,8)
|
|
51
|
+
assert_equal(glGetProgramParameterfvNV(GL_VERTEX_PROGRAM_NV,1,GL_PROGRAM_PARAMETER_NV),[5,6,7,8])
|
|
52
|
+
glProgramParameter4dvNV(GL_VERTEX_PROGRAM_NV,1, [1,2,3,4])
|
|
53
|
+
assert_equal(glGetProgramParameterdvNV(GL_VERTEX_PROGRAM_NV,1,GL_PROGRAM_PARAMETER_NV),[1,2,3,4])
|
|
54
|
+
glProgramParameter4fvNV(GL_VERTEX_PROGRAM_NV,1, [5,6,7,8])
|
|
55
|
+
assert_equal(glGetProgramParameterfvNV(GL_VERTEX_PROGRAM_NV,1,GL_PROGRAM_PARAMETER_NV),[5,6,7,8])
|
|
56
|
+
|
|
57
|
+
glProgramParameters4fvNV(GL_VERTEX_PROGRAM_NV,1, [1,2,3,4,5,6,7,8])
|
|
58
|
+
assert_equal(glGetProgramParameterfvNV(GL_VERTEX_PROGRAM_NV,1,GL_PROGRAM_PARAMETER_NV),[1,2,3,4])
|
|
59
|
+
assert_equal(glGetProgramParameterfvNV(GL_VERTEX_PROGRAM_NV,2,GL_PROGRAM_PARAMETER_NV),[5,6,7,8])
|
|
60
|
+
|
|
61
|
+
glProgramParameters4dvNV(GL_VERTEX_PROGRAM_NV,1, [8,7,6,5,4,3,2,1])
|
|
62
|
+
assert_equal(glGetProgramParameterdvNV(GL_VERTEX_PROGRAM_NV,1,GL_PROGRAM_PARAMETER_NV),[8,7,6,5])
|
|
63
|
+
assert_equal(glGetProgramParameterdvNV(GL_VERTEX_PROGRAM_NV,2,GL_PROGRAM_PARAMETER_NV),[4,3,2,1])
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
glVertexAttrib1dNV(1,1)
|
|
67
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0],1)
|
|
68
|
+
glVertexAttrib1fNV(1,2)
|
|
69
|
+
assert_equal(glGetVertexAttribfvNV(1,GL_CURRENT_ATTRIB_NV)[0],2)
|
|
70
|
+
glVertexAttrib1sNV(1,3)
|
|
71
|
+
assert_equal(glGetVertexAttribivNV(1,GL_CURRENT_ATTRIB_NV)[0],3)
|
|
72
|
+
glVertexAttrib1dvNV(1,[1])
|
|
73
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0],1)
|
|
74
|
+
glVertexAttrib1fvNV(1,[2])
|
|
75
|
+
assert_equal(glGetVertexAttribfvNV(1,GL_CURRENT_ATTRIB_NV)[0],2)
|
|
76
|
+
glVertexAttrib1svNV(1,[3])
|
|
77
|
+
assert_equal(glGetVertexAttribivNV(1,GL_CURRENT_ATTRIB_NV)[0],3)
|
|
78
|
+
|
|
79
|
+
glVertexAttrib2dNV(1,1,2)
|
|
80
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,2],[1,2])
|
|
81
|
+
glVertexAttrib2fNV(1,2,3)
|
|
82
|
+
assert_equal(glGetVertexAttribfvNV(1,GL_CURRENT_ATTRIB_NV)[0,2],[2,3])
|
|
83
|
+
glVertexAttrib2sNV(1,3,4)
|
|
84
|
+
assert_equal(glGetVertexAttribivNV(1,GL_CURRENT_ATTRIB_NV)[0,2],[3,4])
|
|
85
|
+
glVertexAttrib2dvNV(1,[1,2])
|
|
86
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,2],[1,2])
|
|
87
|
+
glVertexAttrib2fvNV(1,[2,3])
|
|
88
|
+
assert_equal(glGetVertexAttribfvNV(1,GL_CURRENT_ATTRIB_NV)[0,2],[2,3])
|
|
89
|
+
glVertexAttrib2svNV(1,[3,4])
|
|
90
|
+
assert_equal(glGetVertexAttribivNV(1,GL_CURRENT_ATTRIB_NV)[0,2],[3,4])
|
|
91
|
+
|
|
92
|
+
glVertexAttrib3dNV(1,1,2,3)
|
|
93
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,3],[1,2,3])
|
|
94
|
+
glVertexAttrib3fNV(1,2,3,4)
|
|
95
|
+
assert_equal(glGetVertexAttribfvNV(1,GL_CURRENT_ATTRIB_NV)[0,3],[2,3,4])
|
|
96
|
+
glVertexAttrib3sNV(1,3,4,5)
|
|
97
|
+
assert_equal(glGetVertexAttribivNV(1,GL_CURRENT_ATTRIB_NV)[0,3],[3,4,5])
|
|
98
|
+
glVertexAttrib3dvNV(1,[1,2,3])
|
|
99
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,3],[1,2,3])
|
|
100
|
+
glVertexAttrib3fvNV(1,[2,3,4])
|
|
101
|
+
assert_equal(glGetVertexAttribfvNV(1,GL_CURRENT_ATTRIB_NV)[0,3],[2,3,4])
|
|
102
|
+
glVertexAttrib3svNV(1,[3,4,5])
|
|
103
|
+
assert_equal(glGetVertexAttribivNV(1,GL_CURRENT_ATTRIB_NV)[0,3],[3,4,5])
|
|
104
|
+
|
|
105
|
+
glVertexAttrib4dNV(1,1,2,3,4)
|
|
106
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[1,2,3,4])
|
|
107
|
+
glVertexAttrib4fNV(1,2,3,4,5)
|
|
108
|
+
assert_equal(glGetVertexAttribfvNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[2,3,4,5])
|
|
109
|
+
glVertexAttrib4sNV(1,3,4,5,6)
|
|
110
|
+
assert_equal(glGetVertexAttribivNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[3,4,5,6])
|
|
111
|
+
glVertexAttrib4dvNV(1,[1,2,3,4])
|
|
112
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[1,2,3,4])
|
|
113
|
+
glVertexAttrib4fvNV(1,[2,3,4,5])
|
|
114
|
+
assert_equal(glGetVertexAttribfvNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[2,3,4,5])
|
|
115
|
+
glVertexAttrib4svNV(1,[3,4,5,6])
|
|
116
|
+
assert_equal(glGetVertexAttribivNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[3,4,5,6])
|
|
117
|
+
|
|
118
|
+
glVertexAttrib4ubNV(1,2**8-1,0,2**8-1,0)
|
|
119
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[1,0,1,0])
|
|
120
|
+
glVertexAttrib4ubvNV(1,[0,2**8-1,0,2**8-1])
|
|
121
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[0,1,0,1])
|
|
122
|
+
|
|
123
|
+
glVertexAttribs1dvNV(1,[1,2])
|
|
124
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0],1)
|
|
125
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0],2)
|
|
126
|
+
glVertexAttribs1fvNV(1,[3,4])
|
|
127
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0],3)
|
|
128
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0],4)
|
|
129
|
+
glVertexAttribs1svNV(1,[5,6])
|
|
130
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0],5)
|
|
131
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0],6)
|
|
132
|
+
|
|
133
|
+
glVertexAttribs2dvNV(1,[1,2,3,4])
|
|
134
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,2],[1,2])
|
|
135
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0,2],[3,4])
|
|
136
|
+
glVertexAttribs2fvNV(1,[3,4,5,6])
|
|
137
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,2],[3,4])
|
|
138
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0,2],[5,6])
|
|
139
|
+
glVertexAttribs2svNV(1,[5,6,7,8])
|
|
140
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,2],[5,6])
|
|
141
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0,2],[7,8])
|
|
142
|
+
|
|
143
|
+
glVertexAttribs3dvNV(1,[1,2,3,4,5,6])
|
|
144
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,3],[1,2,3])
|
|
145
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0,3],[4,5,6])
|
|
146
|
+
glVertexAttribs3fvNV(1,[3,4,5,6,7,8])
|
|
147
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,3],[3,4,5])
|
|
148
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0,3],[6,7,8])
|
|
149
|
+
glVertexAttribs3svNV(1,[5,6,7,8,9,10])
|
|
150
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,3],[5,6,7])
|
|
151
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0,3],[8,9,10])
|
|
152
|
+
|
|
153
|
+
glVertexAttribs4dvNV(1,[1,2,3,4,5,6,7,8])
|
|
154
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[1,2,3,4])
|
|
155
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0,4],[5,6,7,8])
|
|
156
|
+
glVertexAttribs4fvNV(1,[3,4,5,6,7,8,9,10])
|
|
157
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[3,4,5,6])
|
|
158
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0,4],[7,8,9,10])
|
|
159
|
+
glVertexAttribs4svNV(1,[5,6,7,8,9,10,11,12])
|
|
160
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[5,6,7,8])
|
|
161
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0,4],[9,10,11,12])
|
|
162
|
+
glVertexAttribs4ubvNV(1,[2**8-1,0,2**8-1,0,2**8-1,0,2**8-1,0])
|
|
163
|
+
assert_equal(glGetVertexAttribdvNV(1,GL_CURRENT_ATTRIB_NV)[0,4],[1,0,1,0])
|
|
164
|
+
assert_equal(glGetVertexAttribdvNV(2,GL_CURRENT_ATTRIB_NV)[0,4],[1,0,1,0])
|
|
165
|
+
|
|
166
|
+
glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 4, GL_MATRIX0_NV, GL_IDENTITY_NV);
|
|
167
|
+
assert_equal(glGetTrackMatrixivNV(GL_VERTEX_PROGRAM_NV, 4, GL_TRACK_MATRIX_NV),GL_MATRIX0_NV)
|
|
168
|
+
|
|
169
|
+
glRequestResidentProgramsNV(programs[0])
|
|
170
|
+
res = glAreProgramsResidentNV(programs[0])
|
|
171
|
+
assert_equal(res.size,1)
|
|
172
|
+
|
|
173
|
+
glDeleteProgramsNV(programs)
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
def test_gl_nv_fragment_program
|
|
177
|
+
return if not supported?("GL_NV_fragment_program")
|
|
178
|
+
programs = glGenProgramsNV(1)
|
|
179
|
+
program = "!!FP1.0\nDECLARE test = {0,0,0,0};\nEND"
|
|
180
|
+
glBindProgramNV(GL_FRAGMENT_PROGRAM_NV, programs[0])
|
|
181
|
+
glLoadProgramNV(GL_FRAGMENT_PROGRAM_NV, programs[0], program)
|
|
182
|
+
|
|
183
|
+
glProgramNamedParameter4fNV(programs[0],"test",1,2,3,4)
|
|
184
|
+
assert_equal(glGetProgramNamedParameterfvNV(programs[0],"test"),[1,2,3,4])
|
|
185
|
+
glProgramNamedParameter4dNV(programs[0],"test",5,6,7,8)
|
|
186
|
+
assert_equal(glGetProgramNamedParameterdvNV(programs[0],"test"),[5,6,7,8])
|
|
187
|
+
glProgramNamedParameter4fvNV(programs[0],"test",[1,2,3,4])
|
|
188
|
+
assert_equal(glGetProgramNamedParameterfvNV(programs[0],"test"),[1,2,3,4])
|
|
189
|
+
glProgramNamedParameter4dvNV(programs[0],"test",[5,6,7,8])
|
|
190
|
+
assert_equal(glGetProgramNamedParameterdvNV(programs[0],"test"),[5,6,7,8])
|
|
191
|
+
|
|
192
|
+
glDeleteProgramsNV(programs)
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
def test_gl_nv_framebuffer_multisample_coverage
|
|
196
|
+
return if not supported?("GL_NV_framebuffer_multisample_coverage")
|
|
197
|
+
rb = glGenRenderbuffersEXT(1)[0]
|
|
198
|
+
|
|
199
|
+
glBindRenderbufferEXT(GL_RENDERBUFFER_EXT,rb)
|
|
200
|
+
glRenderbufferStorageMultisampleCoverageNV(GL_RENDERBUFFER_EXT,4,4, GL_RGBA,2,2)
|
|
201
|
+
samples = glGetRenderbufferParameterivEXT(GL_RENDERBUFFER_EXT,GL_RENDERBUFFER_COVERAGE_SAMPLES_NV)
|
|
202
|
+
assert_equal(samples,4)
|
|
203
|
+
samples = glGetRenderbufferParameterivEXT(GL_RENDERBUFFER_EXT,GL_RENDERBUFFER_COLOR_SAMPLES_NV)
|
|
204
|
+
assert_equal(samples,4)
|
|
205
|
+
|
|
206
|
+
glDeleteRenderbuffersEXT(rb)
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
def test_gl_nv_fence
|
|
210
|
+
return if not supported?("GL_NV_fence")
|
|
211
|
+
fences = glGenFencesNV(2)
|
|
212
|
+
assert_equal(fences.size,2)
|
|
213
|
+
|
|
214
|
+
glSetFenceNV(fences[0],GL_ALL_COMPLETED_NV)
|
|
215
|
+
assert_equal(glGetFenceivNV(fences[0],GL_FENCE_CONDITION_NV),GL_ALL_COMPLETED_NV)
|
|
216
|
+
assert_equal(glIsFenceNV(fences[0]),true)
|
|
217
|
+
|
|
218
|
+
glFinishFenceNV(fences[0])
|
|
219
|
+
assert_equal(glTestFenceNV(fences[0]),true)
|
|
220
|
+
|
|
221
|
+
glDeleteFencesNV(fences)
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
def test_gl_nv_depth_buffer_float
|
|
225
|
+
return if not supported?("GL_NV_depth_buffer_float")
|
|
226
|
+
glDepthRangedNV(0.1,0.2)
|
|
227
|
+
assert(approx_equal(glGetFloatv(GL_DEPTH_RANGE),[0.1,0.2]))
|
|
228
|
+
glDepthBoundsdNV(0.1,0.2)
|
|
229
|
+
assert(approx_equal(glGetFloatv(GL_DEPTH_BOUNDS_EXT),[0.1,0.2]))
|
|
230
|
+
glClearDepthdNV(0.3)
|
|
231
|
+
assert(approx_equal([glGetDoublev(GL_DEPTH_CLEAR_VALUE)],[0.3]))
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
def test_gl_nv_occlusion_query
|
|
235
|
+
return if not supported?("GL_NV_occlusion_query")
|
|
236
|
+
|
|
237
|
+
queries = glGenOcclusionQueriesNV(2)
|
|
238
|
+
assert_equal(queries.size,2)
|
|
239
|
+
|
|
240
|
+
glBeginOcclusionQueryNV(queries[0])
|
|
241
|
+
assert_equal(glIsOcclusionQueryNV(queries[0]),true)
|
|
242
|
+
|
|
243
|
+
glEndOcclusionQueryNV()
|
|
244
|
+
r = glGetOcclusionQueryivNV(queries[0],GL_PIXEL_COUNT_AVAILABLE_NV)
|
|
245
|
+
assert(r==GL_TRUE || r==GL_FALSE)
|
|
246
|
+
assert(glGetOcclusionQueryuivNV(queries[0],GL_PIXEL_COUNT_NV)>=0)
|
|
247
|
+
|
|
248
|
+
glDeleteOcclusionQueriesNV(queries)
|
|
249
|
+
assert_equal(glIsOcclusionQueryNV(queries[1]),false)
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
def test_gl_nv_gpu_program4
|
|
253
|
+
return if not supported?(["GL_NV_gpu_program4","GL_ARB_vertex_program"])
|
|
254
|
+
|
|
255
|
+
programs = glGenProgramsARB(1)
|
|
256
|
+
program = "!!ARBvp1.0\nTEMP vv;\nEND"
|
|
257
|
+
|
|
258
|
+
glBindProgramARB(GL_VERTEX_PROGRAM_ARB, programs[0])
|
|
259
|
+
glProgramStringARB(GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, program)
|
|
260
|
+
|
|
261
|
+
glProgramLocalParameterI4iNV(GL_VERTEX_PROGRAM_ARB,1, 1,2,3,4)
|
|
262
|
+
assert_equal(glGetProgramLocalParameterIivNV(GL_VERTEX_PROGRAM_ARB,1),[1,2,3,4])
|
|
263
|
+
glProgramLocalParameterI4uiNV(GL_VERTEX_PROGRAM_ARB,1, 5,6,7,8)
|
|
264
|
+
assert_equal(glGetProgramLocalParameterIuivNV(GL_VERTEX_PROGRAM_ARB,1),[5,6,7,8])
|
|
265
|
+
glProgramLocalParameterI4ivNV(GL_VERTEX_PROGRAM_ARB,1, [1,2,3,4])
|
|
266
|
+
assert_equal(glGetProgramLocalParameterIivNV(GL_VERTEX_PROGRAM_ARB,1),[1,2,3,4])
|
|
267
|
+
glProgramLocalParameterI4uivNV(GL_VERTEX_PROGRAM_ARB,1, [5,6,7,8])
|
|
268
|
+
assert_equal(glGetProgramLocalParameterIuivNV(GL_VERTEX_PROGRAM_ARB,1),[5,6,7,8])
|
|
269
|
+
glProgramLocalParametersI4ivNV(GL_VERTEX_PROGRAM_ARB,1, [1,2,3,4])
|
|
270
|
+
assert_equal(glGetProgramLocalParameterIivNV(GL_VERTEX_PROGRAM_ARB,1),[1,2,3,4])
|
|
271
|
+
glProgramLocalParametersI4uivNV(GL_VERTEX_PROGRAM_ARB,1, [5,6,7,8])
|
|
272
|
+
assert_equal(glGetProgramLocalParameterIuivNV(GL_VERTEX_PROGRAM_ARB,1),[5,6,7,8])
|
|
273
|
+
|
|
274
|
+
glProgramEnvParameterI4iNV(GL_VERTEX_PROGRAM_ARB,1, 1,2,3,4)
|
|
275
|
+
assert_equal(glGetProgramEnvParameterIivNV(GL_VERTEX_PROGRAM_ARB,1),[1,2,3,4])
|
|
276
|
+
glProgramEnvParameterI4uiNV(GL_VERTEX_PROGRAM_ARB,1, 5,6,7,8)
|
|
277
|
+
assert_equal(glGetProgramEnvParameterIuivNV(GL_VERTEX_PROGRAM_ARB,1),[5,6,7,8])
|
|
278
|
+
glProgramEnvParameterI4ivNV(GL_VERTEX_PROGRAM_ARB,1, [1,2,3,4])
|
|
279
|
+
assert_equal(glGetProgramEnvParameterIivNV(GL_VERTEX_PROGRAM_ARB,1),[1,2,3,4])
|
|
280
|
+
glProgramEnvParameterI4uivNV(GL_VERTEX_PROGRAM_ARB,1, [5,6,7,8])
|
|
281
|
+
assert_equal(glGetProgramEnvParameterIuivNV(GL_VERTEX_PROGRAM_ARB,1),[5,6,7,8])
|
|
282
|
+
glProgramEnvParametersI4ivNV(GL_VERTEX_PROGRAM_ARB,1, [1,2,3,4])
|
|
283
|
+
assert_equal(glGetProgramEnvParameterIivNV(GL_VERTEX_PROGRAM_ARB,1),[1,2,3,4])
|
|
284
|
+
glProgramEnvParametersI4uivNV(GL_VERTEX_PROGRAM_ARB,1, [5,6,7,8])
|
|
285
|
+
assert_equal(glGetProgramEnvParameterIuivNV(GL_VERTEX_PROGRAM_ARB,1),[5,6,7,8])
|
|
286
|
+
|
|
287
|
+
glDeleteProgramsARB(programs)
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
def test_gl_nv_gpu_program4
|
|
291
|
+
return if not supported?(["GL_NV_gpu_program4","GL_EXT_framebuffer_object"])
|
|
292
|
+
geometry_program = <<-EOP
|
|
293
|
+
!!NVgp4.0
|
|
294
|
+
PRIMITIVE_IN TRIANGLES;
|
|
295
|
+
PRIMITIVE_OUT TRIANGLE_STRIP;
|
|
296
|
+
VERTICES_OUT 1;
|
|
297
|
+
END
|
|
298
|
+
EOP
|
|
299
|
+
|
|
300
|
+
program_id = glGenProgramsARB(1)[0]
|
|
301
|
+
glBindProgramARB(GL_GEOMETRY_PROGRAM_NV, program_id)
|
|
302
|
+
glProgramStringARB(GL_GEOMETRY_PROGRAM_NV, GL_PROGRAM_FORMAT_ASCII_ARB, geometry_program);
|
|
303
|
+
|
|
304
|
+
assert_equal(glGetProgramivARB(GL_GEOMETRY_PROGRAM_NV,GL_GEOMETRY_VERTICES_OUT_EXT),1)
|
|
305
|
+
glProgramVertexLimitNV(GL_GEOMETRY_PROGRAM_NV, 2)
|
|
306
|
+
assert_equal(glGetProgramivARB(GL_GEOMETRY_PROGRAM_NV,GL_GEOMETRY_VERTICES_OUT_EXT),2)
|
|
307
|
+
|
|
308
|
+
#
|
|
309
|
+
|
|
310
|
+
fbo = glGenFramebuffersEXT(1)[0]
|
|
311
|
+
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,fbo)
|
|
312
|
+
|
|
313
|
+
texture2d,texture3d,texture_cube = glGenTextures(3)
|
|
314
|
+
glBindTexture(GL_TEXTURE_2D, texture2d)
|
|
315
|
+
glBindTexture(GL_TEXTURE_3D, texture3d)
|
|
316
|
+
glBindTexture(GL_TEXTURE_CUBE_MAP, texture_cube)
|
|
317
|
+
|
|
318
|
+
glFramebufferTextureEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,texture2d,0)
|
|
319
|
+
assert_equal(glGetFramebufferAttachmentParameterivEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT),texture2d)
|
|
320
|
+
assert_equal(glGetFramebufferAttachmentParameterivEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT),0)
|
|
321
|
+
glFramebufferTextureLayerEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,texture3d,0,1)
|
|
322
|
+
assert_equal(glGetFramebufferAttachmentParameterivEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT),texture3d)
|
|
323
|
+
assert_equal(glGetFramebufferAttachmentParameterivEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT),0)
|
|
324
|
+
assert_equal(glGetFramebufferAttachmentParameterivEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT),1)
|
|
325
|
+
|
|
326
|
+
glFramebufferTextureFaceEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,texture_cube,0,GL_TEXTURE_CUBE_MAP_POSITIVE_X)
|
|
327
|
+
assert_equal(glGetFramebufferAttachmentParameterivEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT),texture_cube)
|
|
328
|
+
assert_equal(glGetFramebufferAttachmentParameterivEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT),0)
|
|
329
|
+
assert_equal(glGetFramebufferAttachmentParameterivEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT),GL_TEXTURE_CUBE_MAP_POSITIVE_X)
|
|
330
|
+
|
|
331
|
+
glDeleteTextures([texture2d,texture3d])
|
|
332
|
+
glDeleteFramebuffersEXT(fbo)
|
|
333
|
+
glDeleteProgramsARB(program_id)
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
def test_gl_nv_primitive_restart
|
|
337
|
+
return if not supported?("GL_NV_primitive_restart")
|
|
338
|
+
glBegin(GL_TRIANGLES)
|
|
339
|
+
glPrimitiveRestartNV()
|
|
340
|
+
glEnd
|
|
341
|
+
glPrimitiveRestartIndexNV(2)
|
|
342
|
+
assert_equal(glGetIntegerv(GL_PRIMITIVE_RESTART_INDEX_NV),2)
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
def test_gl_nv_point_sprite
|
|
346
|
+
return if not supported?("GL_NV_point_sprite")
|
|
347
|
+
glPointParameteriNV(GL_POINT_SPRITE_R_MODE_NV, GL_ZERO)
|
|
348
|
+
assert_equal(glGetIntegerv(GL_POINT_SPRITE_R_MODE_NV),GL_ZERO)
|
|
349
|
+
glPointParameteriNV(GL_POINT_SPRITE_R_MODE_NV, GL_S)
|
|
350
|
+
assert_equal(glGetIntegerv(GL_POINT_SPRITE_R_MODE_NV),GL_S)
|
|
351
|
+
|
|
352
|
+
glPointParameterivNV(GL_POINT_SPRITE_R_MODE_NV, [GL_ZERO])
|
|
353
|
+
assert_equal(glGetIntegerv(GL_POINT_SPRITE_R_MODE_NV),GL_ZERO)
|
|
354
|
+
glPointParameterivNV(GL_POINT_SPRITE_R_MODE_NV, [GL_S])
|
|
355
|
+
assert_equal(glGetIntegerv(GL_POINT_SPRITE_R_MODE_NV),GL_S)
|
|
356
|
+
end
|
|
357
|
+
end
|
data/test/tc_func_10_11.rb
CHANGED
|
@@ -33,29 +33,29 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
33
33
|
|
|
34
34
|
def test_glindex
|
|
35
35
|
glIndexd(2.0)
|
|
36
|
-
|
|
36
|
+
assert_in_delta(glGetDoublev(GL_CURRENT_INDEX),2.0,0.001)
|
|
37
37
|
glIndexdv([3.0])
|
|
38
|
-
|
|
38
|
+
assert_in_delta(glGetDoublev(GL_CURRENT_INDEX),3.0,0.001)
|
|
39
39
|
|
|
40
40
|
glIndexf(4.0)
|
|
41
|
-
|
|
41
|
+
assert_in_delta(glGetFloatv(GL_CURRENT_INDEX),4.0,0.001)
|
|
42
42
|
glIndexfv([5.0])
|
|
43
|
-
|
|
43
|
+
assert_in_delta(glGetFloatv(GL_CURRENT_INDEX),5.0,0.001)
|
|
44
44
|
|
|
45
45
|
glIndexi(6)
|
|
46
|
-
|
|
46
|
+
assert_in_delta(glGetIntegerv(GL_CURRENT_INDEX),6,0.001)
|
|
47
47
|
glIndexiv([7])
|
|
48
|
-
|
|
48
|
+
assert_in_delta(glGetIntegerv(GL_CURRENT_INDEX),7,0.001)
|
|
49
49
|
|
|
50
50
|
glIndexs(8)
|
|
51
|
-
|
|
51
|
+
assert_in_delta(glGetIntegerv(GL_CURRENT_INDEX),8,0.001)
|
|
52
52
|
glIndexsv([9])
|
|
53
|
-
|
|
53
|
+
assert_in_delta(glGetIntegerv(GL_CURRENT_INDEX),9,0.001)
|
|
54
54
|
|
|
55
55
|
glIndexub(10)
|
|
56
|
-
|
|
56
|
+
assert_in_delta(glGetIntegerv(GL_CURRENT_INDEX),10,0.001)
|
|
57
57
|
glIndexubv([11])
|
|
58
|
-
|
|
58
|
+
assert_in_delta(glGetIntegerv(GL_CURRENT_INDEX),11,0.001)
|
|
59
59
|
|
|
60
60
|
# index pointer
|
|
61
61
|
glIndexPointer(GL_INT,2,"")
|
|
@@ -137,22 +137,42 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
137
137
|
assert_equal(glGetDoublev(GL_MODELVIEW_MATRIX), m_b)
|
|
138
138
|
glPopMatrix()
|
|
139
139
|
assert_equal(glGetDoublev(GL_MODELVIEW_MATRIX), m_a)
|
|
140
|
+
|
|
141
|
+
# 3
|
|
142
|
+
m = Matrix.rows([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
|
|
143
|
+
glMatrixMode(GL_MODELVIEW)
|
|
144
|
+
glLoadMatrixf(m)
|
|
145
|
+
assert_equal(glGetDoublev(GL_MODELVIEW_MATRIX), m.to_a)
|
|
146
|
+
glLoadIdentity()
|
|
147
|
+
glLoadMatrixd(m)
|
|
148
|
+
assert_equal(glGetDoublev(GL_MODELVIEW_MATRIX), m.to_a)
|
|
149
|
+
glLoadIdentity()
|
|
150
|
+
glMultMatrixf(m)
|
|
151
|
+
assert_equal(glGetDoublev(GL_MODELVIEW_MATRIX), m.to_a)
|
|
152
|
+
glLoadIdentity()
|
|
153
|
+
glMultMatrixd(m)
|
|
154
|
+
assert_equal(glGetDoublev(GL_MODELVIEW_MATRIX), m.to_a)
|
|
155
|
+
|
|
156
|
+
assert_raise ArgumentError do glLoadMatrixf([1,2,3,4]) end
|
|
157
|
+
assert_raise ArgumentError do glLoadMatrixd([1,2,3,4]) end
|
|
158
|
+
assert_raise ArgumentError do glMultMatrixf([1,2,3,4]) end
|
|
159
|
+
assert_raise ArgumentError do glMultMatrixd([1,2,3,4]) end
|
|
140
160
|
end
|
|
141
161
|
|
|
142
162
|
def test_gledge
|
|
143
163
|
glEdgeFlag(GL_FALSE)
|
|
144
|
-
assert_equal(glGetBooleanv(GL_EDGE_FLAG),
|
|
164
|
+
assert_equal(glGetBooleanv(GL_EDGE_FLAG),false)
|
|
145
165
|
glEdgeFlag(GL_TRUE)
|
|
146
|
-
assert_equal(glGetBooleanv(GL_EDGE_FLAG),
|
|
166
|
+
assert_equal(glGetBooleanv(GL_EDGE_FLAG),true)
|
|
147
167
|
glEdgeFlagv([GL_FALSE])
|
|
148
|
-
assert_equal(glGetBooleanv(GL_EDGE_FLAG),
|
|
168
|
+
assert_equal(glGetBooleanv(GL_EDGE_FLAG),false)
|
|
149
169
|
end
|
|
150
170
|
|
|
151
171
|
def test_clientstate
|
|
152
172
|
glEnableClientState(GL_COLOR_ARRAY)
|
|
153
|
-
assert_equal(glIsEnabled(GL_COLOR_ARRAY),
|
|
173
|
+
assert_equal(glIsEnabled(GL_COLOR_ARRAY),true)
|
|
154
174
|
glDisableClientState(GL_COLOR_ARRAY)
|
|
155
|
-
assert_equal(glIsEnabled(GL_COLOR_ARRAY),
|
|
175
|
+
assert_equal(glIsEnabled(GL_COLOR_ARRAY),false)
|
|
156
176
|
end
|
|
157
177
|
|
|
158
178
|
def test_glshademodel
|
|
@@ -185,12 +205,12 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
185
205
|
assert_equal(glGetIntegerv(GL_STENCIL_BACK_WRITEMASK), 1)
|
|
186
206
|
|
|
187
207
|
glColorMask(GL_TRUE,GL_FALSE,GL_TRUE,GL_FALSE)
|
|
188
|
-
assert_equal(glGetBooleanv(GL_COLOR_WRITEMASK),[
|
|
208
|
+
assert_equal(glGetBooleanv(GL_COLOR_WRITEMASK),[true,false,true,false])
|
|
189
209
|
|
|
190
210
|
glDepthMask(GL_TRUE)
|
|
191
|
-
assert_equal(glGetBooleanv(GL_DEPTH_WRITEMASK),
|
|
211
|
+
assert_equal(glGetBooleanv(GL_DEPTH_WRITEMASK),true)
|
|
192
212
|
glDepthMask(GL_FALSE)
|
|
193
|
-
assert_equal(glGetBooleanv(GL_DEPTH_WRITEMASK),
|
|
213
|
+
assert_equal(glGetBooleanv(GL_DEPTH_WRITEMASK),false)
|
|
194
214
|
|
|
195
215
|
glIndexMask(2)
|
|
196
216
|
assert_equal(glGetIntegerv(GL_INDEX_WRITEMASK), 2)
|
|
@@ -199,17 +219,23 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
199
219
|
end
|
|
200
220
|
|
|
201
221
|
def test_glflush
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
222
|
+
begin
|
|
223
|
+
glBegin(GL_POINTS)
|
|
224
|
+
glFlush()
|
|
225
|
+
glEnd
|
|
226
|
+
rescue Gl::Error => err
|
|
227
|
+
assert(err.id == GL_INVALID_OPERATION)
|
|
228
|
+
end
|
|
206
229
|
end
|
|
207
230
|
|
|
208
231
|
def test_glfinish
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
232
|
+
begin
|
|
233
|
+
glBegin(GL_POINTS)
|
|
234
|
+
glFinish()
|
|
235
|
+
glEnd
|
|
236
|
+
rescue Gl::Error => err
|
|
237
|
+
assert(err.id == GL_INVALID_OPERATION)
|
|
238
|
+
end
|
|
213
239
|
end
|
|
214
240
|
|
|
215
241
|
def test_glgetstring
|
|
@@ -561,13 +587,13 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
561
587
|
|
|
562
588
|
def test_gllight
|
|
563
589
|
glLightf(GL_LIGHT0,GL_SPOT_CUTOFF,80.0)
|
|
564
|
-
assert_equal(glGetLightfv(GL_LIGHT0,GL_SPOT_CUTOFF),
|
|
590
|
+
assert_equal(glGetLightfv(GL_LIGHT0,GL_SPOT_CUTOFF),80.0)
|
|
565
591
|
glLighti(GL_LIGHT0,GL_SPOT_CUTOFF,75)
|
|
566
|
-
assert_equal(glGetLightiv(GL_LIGHT0,GL_SPOT_CUTOFF),
|
|
592
|
+
assert_equal(glGetLightiv(GL_LIGHT0,GL_SPOT_CUTOFF),75)
|
|
567
593
|
glLightfv(GL_LIGHT0,GL_AMBIENT,[0.5,0.5,0.5,1.0])
|
|
568
594
|
assert_equal(glGetLightfv(GL_LIGHT0,GL_AMBIENT), [0.5,0.5,0.5,1.0])
|
|
569
595
|
glLightiv(GL_LIGHT0,GL_CONSTANT_ATTENUATION,[32])
|
|
570
|
-
assert_equal(glGetLightiv(GL_LIGHT0,GL_CONSTANT_ATTENUATION),
|
|
596
|
+
assert_equal(glGetLightiv(GL_LIGHT0,GL_CONSTANT_ATTENUATION),32)
|
|
571
597
|
end
|
|
572
598
|
|
|
573
599
|
def test_glmaterial
|
|
@@ -575,13 +601,13 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
575
601
|
assert_equal(glGetMaterialfv(GL_FRONT,GL_AMBIENT),[0.0,1.0,0.0,1.0])
|
|
576
602
|
|
|
577
603
|
glMaterialiv(GL_FRONT,GL_SHININESS,[50])
|
|
578
|
-
assert_equal(glGetMaterialiv(GL_FRONT,GL_SHININESS),
|
|
604
|
+
assert_equal(glGetMaterialiv(GL_FRONT,GL_SHININESS),50)
|
|
579
605
|
|
|
580
606
|
glMaterialf(GL_FRONT,GL_SHININESS,49.0)
|
|
581
|
-
assert_equal(glGetMaterialfv(GL_FRONT,GL_SHININESS),
|
|
607
|
+
assert_equal(glGetMaterialfv(GL_FRONT,GL_SHININESS),49.0)
|
|
582
608
|
|
|
583
609
|
glMateriali(GL_FRONT,GL_SHININESS,48)
|
|
584
|
-
assert_equal(glGetMaterialiv(GL_FRONT,GL_SHININESS),
|
|
610
|
+
assert_equal(glGetMaterialiv(GL_FRONT,GL_SHININESS),48)
|
|
585
611
|
|
|
586
612
|
end
|
|
587
613
|
|
|
@@ -597,9 +623,9 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
597
623
|
|
|
598
624
|
def test_gllightmodel
|
|
599
625
|
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,GL_TRUE)
|
|
600
|
-
assert_equal(
|
|
626
|
+
assert_equal(glGetBooleanv(GL_LIGHT_MODEL_TWO_SIDE),GL_TRUE)
|
|
601
627
|
glLightModelf(GL_LIGHT_MODEL_TWO_SIDE,GL_FALSE)
|
|
602
|
-
assert_equal(
|
|
628
|
+
assert_equal(glGetBooleanv(GL_LIGHT_MODEL_TWO_SIDE),GL_FALSE)
|
|
603
629
|
|
|
604
630
|
glLightModelfv(GL_LIGHT_MODEL_AMBIENT,[0.5,0.5,0.5,1.0])
|
|
605
631
|
assert_equal(glGetDoublev(GL_LIGHT_MODEL_AMBIENT),[0.5,0.5,0.5,1.0])
|
|
@@ -680,23 +706,23 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
680
706
|
|
|
681
707
|
def test_glenable_disable
|
|
682
708
|
glEnable(GL_FOG)
|
|
683
|
-
assert_equal(glIsEnabled(GL_FOG),
|
|
709
|
+
assert_equal(glIsEnabled(GL_FOG),true)
|
|
684
710
|
glDisable(GL_FOG)
|
|
685
|
-
assert_equal(glIsEnabled(GL_FOG),
|
|
711
|
+
assert_equal(glIsEnabled(GL_FOG),false)
|
|
686
712
|
end
|
|
687
713
|
|
|
688
714
|
def test_gltexparameter
|
|
689
715
|
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP)
|
|
690
|
-
assert_equal(glGetTexParameteriv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S),
|
|
716
|
+
assert_equal(glGetTexParameteriv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S),GL_CLAMP)
|
|
691
717
|
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_MIRRORED_REPEAT)
|
|
692
|
-
assert_equal(glGetTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S),
|
|
718
|
+
assert_equal(glGetTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S),GL_MIRRORED_REPEAT)
|
|
693
719
|
glTexParameteriv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,[GL_CLAMP])
|
|
694
|
-
assert_equal(glGetTexParameteriv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S),
|
|
720
|
+
assert_equal(glGetTexParameteriv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S),GL_CLAMP)
|
|
695
721
|
glTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,[GL_MIRRORED_REPEAT])
|
|
696
|
-
assert_equal(glGetTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S),
|
|
722
|
+
assert_equal(glGetTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S),GL_MIRRORED_REPEAT)
|
|
697
723
|
|
|
698
|
-
assert_equal(glGetTexLevelParameterfv(GL_TEXTURE_2D,0,GL_TEXTURE_WIDTH),
|
|
699
|
-
assert_equal(glGetTexLevelParameteriv(GL_TEXTURE_2D,0,GL_TEXTURE_WIDTH),
|
|
724
|
+
assert_equal(glGetTexLevelParameterfv(GL_TEXTURE_2D,0,GL_TEXTURE_WIDTH),0.0)
|
|
725
|
+
assert_equal(glGetTexLevelParameteriv(GL_TEXTURE_2D,0,GL_TEXTURE_WIDTH),0)
|
|
700
726
|
end
|
|
701
727
|
|
|
702
728
|
def test_glcullface
|
|
@@ -852,38 +878,38 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
852
878
|
|
|
853
879
|
def test_gltexenv
|
|
854
880
|
glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_ADD)
|
|
855
|
-
assert_equal(glGetTexEnvfv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE),
|
|
881
|
+
assert_equal(glGetTexEnvfv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE),GL_ADD)
|
|
856
882
|
glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE)
|
|
857
|
-
assert_equal(glGetTexEnviv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE),
|
|
883
|
+
assert_equal(glGetTexEnviv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE),GL_MODULATE)
|
|
858
884
|
|
|
859
885
|
glTexEnvfv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,[GL_ADD])
|
|
860
|
-
assert_equal(glGetTexEnvfv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE),
|
|
886
|
+
assert_equal(glGetTexEnvfv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE),GL_ADD)
|
|
861
887
|
glTexEnviv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,[GL_MODULATE])
|
|
862
|
-
assert_equal(glGetTexEnviv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE),
|
|
888
|
+
assert_equal(glGetTexEnviv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE),GL_MODULATE)
|
|
863
889
|
end
|
|
864
890
|
|
|
865
891
|
def test_gltexgen
|
|
866
892
|
glTexGend(GL_S,GL_TEXTURE_GEN_MODE,GL_REFLECTION_MAP)
|
|
867
|
-
assert_equal(glGetTexGendv(GL_S,GL_TEXTURE_GEN_MODE),
|
|
893
|
+
assert_equal(glGetTexGendv(GL_S,GL_TEXTURE_GEN_MODE),GL_REFLECTION_MAP)
|
|
868
894
|
glTexGenf(GL_S,GL_TEXTURE_GEN_MODE,GL_EYE_LINEAR)
|
|
869
|
-
assert_equal(glGetTexGenfv(GL_S,GL_TEXTURE_GEN_MODE),
|
|
895
|
+
assert_equal(glGetTexGenfv(GL_S,GL_TEXTURE_GEN_MODE),GL_EYE_LINEAR)
|
|
870
896
|
glTexGeni(GL_S,GL_TEXTURE_GEN_MODE,GL_SPHERE_MAP)
|
|
871
|
-
assert_equal(glGetTexGeniv(GL_S,GL_TEXTURE_GEN_MODE),
|
|
897
|
+
assert_equal(glGetTexGeniv(GL_S,GL_TEXTURE_GEN_MODE),GL_SPHERE_MAP)
|
|
872
898
|
|
|
873
899
|
glTexGendv(GL_S,GL_TEXTURE_GEN_MODE,[GL_REFLECTION_MAP])
|
|
874
|
-
assert_equal(glGetTexGendv(GL_S,GL_TEXTURE_GEN_MODE),
|
|
900
|
+
assert_equal(glGetTexGendv(GL_S,GL_TEXTURE_GEN_MODE),GL_REFLECTION_MAP)
|
|
875
901
|
glTexGenfv(GL_S,GL_TEXTURE_GEN_MODE,[GL_EYE_LINEAR])
|
|
876
|
-
assert_equal(glGetTexGenfv(GL_S,GL_TEXTURE_GEN_MODE),
|
|
902
|
+
assert_equal(glGetTexGenfv(GL_S,GL_TEXTURE_GEN_MODE),GL_EYE_LINEAR)
|
|
877
903
|
glTexGeniv(GL_S,GL_TEXTURE_GEN_MODE,[GL_SPHERE_MAP])
|
|
878
|
-
assert_equal(glGetTexGeniv(GL_S,GL_TEXTURE_GEN_MODE),
|
|
904
|
+
assert_equal(glGetTexGeniv(GL_S,GL_TEXTURE_GEN_MODE),GL_SPHERE_MAP)
|
|
879
905
|
end
|
|
880
906
|
|
|
881
907
|
def test_textures
|
|
882
908
|
textures = glGenTextures(2)
|
|
883
909
|
assert_equal(textures.size, 2)
|
|
884
|
-
assert_equal(glIsTexture(textures[0]),
|
|
910
|
+
assert_equal(glIsTexture(textures[0]),false)
|
|
885
911
|
glBindTexture(GL_TEXTURE_2D,textures[0])
|
|
886
|
-
assert_equal(glIsTexture(textures[0]),
|
|
912
|
+
assert_equal(glIsTexture(textures[0]),true)
|
|
887
913
|
|
|
888
914
|
image = ([0,0,0,1,1,1] * 8).pack("f*") # 16 RGB pixels
|
|
889
915
|
|
|
@@ -896,7 +922,7 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
896
922
|
assert_equal(glGetTexImage(GL_TEXTURE_1D,0,GL_RGB,GL_FLOAT), image)
|
|
897
923
|
|
|
898
924
|
glDeleteTextures(textures)
|
|
899
|
-
assert_equal(glIsTexture(textures[0]),
|
|
925
|
+
assert_equal(glIsTexture(textures[0]),false)
|
|
900
926
|
end
|
|
901
927
|
|
|
902
928
|
def test_pixels
|
|
@@ -967,8 +993,8 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
967
993
|
glBindTexture(GL_TEXTURE_2D,textures[1])
|
|
968
994
|
assert_equal(glAreTexturesResident(textures).size,2)
|
|
969
995
|
glPrioritizeTextures(textures,[0.5,1.0])
|
|
970
|
-
assert_equal(glGetTexParameterfv(GL_TEXTURE_1D,GL_TEXTURE_PRIORITY),
|
|
971
|
-
assert_equal(glGetTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_PRIORITY),
|
|
996
|
+
assert_equal(glGetTexParameterfv(GL_TEXTURE_1D,GL_TEXTURE_PRIORITY),0.5)
|
|
997
|
+
assert_equal(glGetTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_PRIORITY),1.0)
|
|
972
998
|
|
|
973
999
|
tex = ([0,0,0,1,1,1] * 2).pack("f*")
|
|
974
1000
|
tex2 = ([1] * 3 * 4).pack("f*")
|
|
@@ -1017,7 +1043,7 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
1017
1043
|
glMap1d(GL_MAP1_VERTEX_3,0,100,3,2,control_points_2)
|
|
1018
1044
|
assert_equal(glGetMapdv(GL_MAP1_VERTEX_3,GL_COEFF),control_points_2)
|
|
1019
1045
|
|
|
1020
|
-
assert_equal(glGetMapiv(GL_MAP1_VERTEX_3,GL_ORDER),
|
|
1046
|
+
assert_equal(glGetMapiv(GL_MAP1_VERTEX_3,GL_ORDER),2)
|
|
1021
1047
|
|
|
1022
1048
|
glMap2f(GL_MAP2_VERTEX_3,0,100,3,1,0,100,3,2,control_points)
|
|
1023
1049
|
assert_equal(glGetMapfv(GL_MAP2_VERTEX_3,GL_COEFF),control_points)
|
|
@@ -1132,7 +1158,7 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
1132
1158
|
|
|
1133
1159
|
def test_displaylists
|
|
1134
1160
|
base = glGenLists(2)
|
|
1135
|
-
|
|
1161
|
+
assert(base>0)
|
|
1136
1162
|
glListBase(1)
|
|
1137
1163
|
assert_equal(glGetIntegerv(GL_LIST_BASE),1)
|
|
1138
1164
|
glListBase(0)
|
|
@@ -1154,16 +1180,16 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
1154
1180
|
glEnd()
|
|
1155
1181
|
glEndList()
|
|
1156
1182
|
|
|
1157
|
-
assert_equal(glIsList(base+0),
|
|
1158
|
-
assert_equal(glIsList(base+1),
|
|
1159
|
-
assert_equal(glIsList(base+2),
|
|
1183
|
+
assert_equal(glIsList(base+0),true)
|
|
1184
|
+
assert_equal(glIsList(base+1),true)
|
|
1185
|
+
assert_equal(glIsList(base+2),false)
|
|
1160
1186
|
|
|
1161
1187
|
#
|
|
1162
1188
|
buf = glFeedbackBuffer(256,GL_3D)
|
|
1163
1189
|
glRenderMode(GL_FEEDBACK)
|
|
1164
1190
|
|
|
1165
1191
|
glCallList(base+0)
|
|
1166
|
-
glCallLists([base+0,base+1])
|
|
1192
|
+
glCallLists(GL_INT,[base+0,base+1])
|
|
1167
1193
|
|
|
1168
1194
|
count = glRenderMode(GL_RENDER)
|
|
1169
1195
|
assert_equal(count,(3*3+2) * 3) # 3 triangles
|
|
@@ -1171,8 +1197,8 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
1171
1197
|
|
|
1172
1198
|
glDeleteLists(base,2)
|
|
1173
1199
|
|
|
1174
|
-
assert_equal(glIsList(base+0),
|
|
1175
|
-
assert_equal(glIsList(base+1),
|
|
1200
|
+
assert_equal(glIsList(base+0),false)
|
|
1201
|
+
assert_equal(glIsList(base+1),false)
|
|
1176
1202
|
end
|
|
1177
1203
|
|
|
1178
1204
|
def test_arrays
|
|
@@ -1212,7 +1238,7 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
1212
1238
|
def test_arrays_2
|
|
1213
1239
|
na = [0,1,0].pack("f*")
|
|
1214
1240
|
ta = [1,0,1,0].pack("f*")
|
|
1215
|
-
ea = [
|
|
1241
|
+
ea = [0].pack("C*")
|
|
1216
1242
|
ca = [1,0,1,0].pack("f*")
|
|
1217
1243
|
|
|
1218
1244
|
glNormalPointer(GL_FLOAT,0,na)
|
|
@@ -1245,7 +1271,7 @@ class Test_10_11 < Test::Unit::TestCase
|
|
|
1245
1271
|
assert_equal(glGetDoublev(GL_CURRENT_COLOR),[1,0,1,0])
|
|
1246
1272
|
assert_equal(glGetDoublev(GL_CURRENT_NORMAL),[0,1,0])
|
|
1247
1273
|
assert_equal(glGetDoublev(GL_CURRENT_TEXTURE_COORDS),[1,0,1,0])
|
|
1248
|
-
assert_equal(
|
|
1274
|
+
assert_equal(glGetBooleanv(GL_EDGE_FLAG),false)
|
|
1249
1275
|
|
|
1250
1276
|
glDisable(GL_EDGE_FLAG_ARRAY)
|
|
1251
1277
|
glDisable(GL_TEXTURE_COORD_ARRAY)
|