ruby-opengl 0.50.0 → 0.60.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
data/examples/RedBook/aaindex.rb
DELETED
@@ -1,97 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby -rubygems
|
2
|
-
require 'opengl'
|
3
|
-
require 'rational'
|
4
|
-
include Gl,Glu,Glut
|
5
|
-
|
6
|
-
|
7
|
-
RAMPSIZE=16
|
8
|
-
RAMP1START=32
|
9
|
-
RAMP2START=48
|
10
|
-
|
11
|
-
STDOUT.sync = TRUE
|
12
|
-
$rotAngle = 0
|
13
|
-
|
14
|
-
# Initialize antialiasing for color index mode,
|
15
|
-
# including loading a green color ramp starting
|
16
|
-
# at RAMP1START, and a blue color ramp starting
|
17
|
-
# at RAMP2START. The ramps must be a multiple of 16.
|
18
|
-
def myinit
|
19
|
-
for i in (0..RAMPSIZE)
|
20
|
-
shade = i.to_f/RAMPSIZE.to_f
|
21
|
-
glutSetColor(RAMP1START+i, 0, shade, 0.0)
|
22
|
-
glutSetColor(RAMP2START+i, 0, 0, shade)
|
23
|
-
end
|
24
|
-
|
25
|
-
glEnable(GL_LINE_SMOOTH)
|
26
|
-
glHint(GL_LINE_SMOOTH_HINT, GL_DONT_CARE)
|
27
|
-
glLineWidth(1.5)
|
28
|
-
|
29
|
-
glClearIndex(RAMP1START)
|
30
|
-
end
|
31
|
-
|
32
|
-
display = Proc.new do
|
33
|
-
glClear(GL_COLOR_BUFFER_BIT)
|
34
|
-
|
35
|
-
glIndexi(RAMP1START)
|
36
|
-
glPushMatrix()
|
37
|
-
glRotate(-$rotAngle, 0.0, 0.0, 0.1)
|
38
|
-
glBegin(GL_LINES)
|
39
|
-
glVertex(-0.5, 0.5)
|
40
|
-
glVertex(0.5, -0.5)
|
41
|
-
glEnd
|
42
|
-
glPopMatrix()
|
43
|
-
|
44
|
-
# glIndexi(RAMP2START)
|
45
|
-
glPushMatrix()
|
46
|
-
glRotate($rotAngle, 0.0, 0.0, 0.1)
|
47
|
-
glBegin(GL_LINES)
|
48
|
-
glVertex(0.5, 0.5)
|
49
|
-
glVertex(-0.5, -0.5)
|
50
|
-
glEnd
|
51
|
-
glPopMatrix()
|
52
|
-
|
53
|
-
glutSwapBuffers()
|
54
|
-
end
|
55
|
-
|
56
|
-
reshape = Proc.new do |w, h|
|
57
|
-
glViewport(0, 0, w, h)
|
58
|
-
glMatrixMode(GL_PROJECTION)
|
59
|
-
glLoadIdentity()
|
60
|
-
if (w <= h)
|
61
|
-
gluOrtho2D(-1.0, 1.0, -h.to_f/w.to_f, h.to_f/w.to_f)
|
62
|
-
else
|
63
|
-
gluOrtho2D(w.to_f/h.to_f, w.to_f/h.to_f, -1.0, 1.0)
|
64
|
-
end
|
65
|
-
glMatrixMode(GL_MODELVIEW)
|
66
|
-
glLoadIdentity()
|
67
|
-
end
|
68
|
-
|
69
|
-
keyboard = Proc.new do |key, x, y|
|
70
|
-
case (key)
|
71
|
-
when 'r'[0]
|
72
|
-
$rotAngle += 20
|
73
|
-
$rotAngle = 0 if ($rotAngle >= 360)
|
74
|
-
glutPostRedisplay()
|
75
|
-
when 'R'[0]
|
76
|
-
$rotAngle -= 20
|
77
|
-
$rotAngle = 360 if ($rotAngle <= 0)
|
78
|
-
glutPostRedisplay()
|
79
|
-
when 27
|
80
|
-
exit(0)
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
# Main Loop
|
85
|
-
# Open window with initial window size, title bar,
|
86
|
-
# color index display mode, and handle input events.
|
87
|
-
#
|
88
|
-
glutInit
|
89
|
-
glutInitDisplayMode(GLUT_DOUBLE | GLUT_INDEX)
|
90
|
-
glutInitWindowSize(500, 500)
|
91
|
-
glutInitWindowPosition(100, 100)
|
92
|
-
glutCreateWindow($0)
|
93
|
-
myinit
|
94
|
-
glutReshapeFunc(reshape)
|
95
|
-
glutKeyboardFunc(keyboard)
|
96
|
-
glutDisplayFunc(display)
|
97
|
-
glutMainLoop
|
data/examples/misc/smooth.rb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby -rubygems
|
2
|
-
|
3
|
-
require "gl"
|
4
|
-
require "glut"
|
5
|
-
|
6
|
-
STDOUT.sync=TRUE
|
7
|
-
disp = Proc.new {
|
8
|
-
Gl.glClear(Gl::GL_COLOR_BUFFER_BIT)
|
9
|
-
Gl.glBegin(Gl::GL_TRIANGLES)
|
10
|
-
Gl.glColor(0.0, 0.0, 1.0)
|
11
|
-
Gl.glVertex(0, 0)
|
12
|
-
Gl.glColor(0.0, 1.0, 0.0)
|
13
|
-
Gl.glVertex(200, 200)
|
14
|
-
Gl.glColor(1.0, 0.0, 0.0)
|
15
|
-
Gl.glVertex(20, 200)
|
16
|
-
Gl.glEnd
|
17
|
-
Gl.glFlush
|
18
|
-
}
|
19
|
-
|
20
|
-
reshape = Proc.new {|w, h|
|
21
|
-
Gl.glViewport(0, 0, w, h)
|
22
|
-
Gl.glMatrixMode(Gl::GL_PROJECTION)
|
23
|
-
Gl.glLoadIdentity
|
24
|
-
Gl.glOrtho(0, w, 0, h, -1, 1)
|
25
|
-
Gl.glScale(1, -1, 1)
|
26
|
-
Gl.glTranslate(0, -h, 0)
|
27
|
-
}
|
28
|
-
|
29
|
-
# Keyboard handler to exit when ESC is typed
|
30
|
-
keyboard = lambda do |key, x, y|
|
31
|
-
case(key)
|
32
|
-
when 27
|
33
|
-
exit(0)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
Glut.glutInit
|
38
|
-
a = Glut.glutCreateWindow("single triangle");
|
39
|
-
Glut.glutDisplayFunc(disp);
|
40
|
-
Glut.glutReshapeFunc(reshape);
|
41
|
-
Glut.glutKeyboardFunc( keyboard )
|
42
|
-
Glut.glutMainLoop;
|
data/examples/misc/test.rb
DELETED
@@ -1,65 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby -rubygems
|
2
|
-
# Copyright (C) 2006 Peter McLain <peter.mclain@gmail.com>
|
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
|
-
require 'glut'
|
16
|
-
require 'gl'
|
17
|
-
|
18
|
-
class GlutTest
|
19
|
-
|
20
|
-
def initialize
|
21
|
-
puts "=== GlutTest.initialize ==="
|
22
|
-
# Setup the GLUT display loop callback
|
23
|
-
@display = lambda do
|
24
|
-
puts "=== In display routine"
|
25
|
-
Gl.glClear( Gl::GL_COLOR_BUFFER_BIT | Gl::GL_DEPTH_BUFFER_BIT )
|
26
|
-
Gl.glColor3f( 1.0, 1.0, 1.0 )
|
27
|
-
|
28
|
-
Gl.glBegin( Gl::GL_POLYGON )
|
29
|
-
|
30
|
-
Gl.glVertex2f( -0.5, -0.5 )
|
31
|
-
Gl.glVertex2f( -0.5, 0.5 )
|
32
|
-
Gl.glVertex2f( 0.5, 0.5 )
|
33
|
-
Gl.glVertex2f( 0.5, -0.5 )
|
34
|
-
|
35
|
-
Gl.glEnd
|
36
|
-
|
37
|
-
Gl.glFlush
|
38
|
-
end
|
39
|
-
|
40
|
-
# Keyboard handler to exit when ESC is typed
|
41
|
-
@keyboard = lambda do |key, x, y|
|
42
|
-
case(key)
|
43
|
-
when 27
|
44
|
-
exit(0)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def show
|
50
|
-
puts "=== GlutTest.show ==="
|
51
|
-
Glut.glutInit
|
52
|
-
Glut.glutInitDisplayMode( Glut::GLUT_DOUBLE | Glut::GLUT_RGB | Glut::GLUT_DEPTH )
|
53
|
-
Glut.glutCreateWindow( 'pbm' )
|
54
|
-
Glut.glutDisplayFunc( @display )
|
55
|
-
#Glut.glutReshapeFunc( @reshape )
|
56
|
-
Glut.glutKeyboardFunc( @keyboard ) if @keyboard
|
57
|
-
Glut.glutMainLoop
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
if __FILE__ == $0
|
62
|
-
gt = GlutTest.new
|
63
|
-
gt.show
|
64
|
-
end
|
65
|
-
|