This is a Ruby port of GL Excess (http://www.glexcess.com/), a Paolo Martella's excellent OpenGL demo project.
All source codes are available under the terms of the GNU General Public License version 2.
Last Update: Sun July 17, 2011
Since: Sat January 26, 2008
- Update: Old contact information is updated to the current one.
The glxsruby archive now contains all of the source codes and resources that were distributed individually according to the scene (glxsruby_scene11-20080308.zip, etc.).
- glxs.rb: Now accepts `-s (or --scene)' option. See README.txt for usage.
- glxs.rb: New runtime commands 'n' and 'p' : Use them for watching `N'ext and `P'revious scene.
- scene01.rb, etc.: Fixed some bugs to support the 'n' and 'p' commands.
- scene08.rb: Porting completed. This ruby version runs very slow due to the 64x64 grids for drawing the surface of water.
- scene08.rb: Added some experimental codes to render with the Vertex Array function (available only if OpenGL version is 1.1 or higher). But all the codes are commented out because I can't see any significant improvement...
- scene06.rb: Porting completed.
- scene06ship.rb: contains the geometry information of the fighter ship, appears in the scene 6.
- scene12.rb: Added.
- texture.rb: Bug fix. Texture#load now checks RUBY_VERSION to change the way to get the character codes from String instances.
- scene04.rb: Added.
- Notice: Scenes NOT yet implemented: 1, 5, 6, 7, 8, 10, 11, 12.
- scene03.rb: Porting completed.
- scene03.rb: Note: The Ruby version introduces an another OpenGL display list that is never seen in the original C++ version ( @face_lines ). And glScalef(1.0, 1.0, raiser) is used to `uplift' the height map at the opening (see line 314). This rewriting eliminates the computation cost of vertex transformation, apparently a tough work for Ruby.
- scene02.rb: Added. This is a pure Ruby implementation version. PAINFULLY slow.
- Announce: First (and premature) release.
- Notice: Scenes NOT yet implemented: 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12. orz.
X:\> ruby glxs.rb [options]
-s, --scene : Scene ID [1-12]
ex.) To begin the progmram from Scene 11 (closing credits),
X:\> ruby glxs.rb -s 11
X:\> ruby glxs.rb --scene=11
- 'q' or 'Esc' : quit the program.
- 'a' : increment the step of time (@step += 1)
- 'z' : decrement the step of time (@step -= 1)
- 's' : suspend / resume
- 'n' : next scene
- 'p' : previous scene
Do not worry if you don't see any change on the screen. Just keep pressing the 'a' key to increase the time step (especially Scene 2 and 8).
- Original codes and textures :
- The ruby-opengl project :
- The Ruby Programming Language :
- Ruby Porting :
Original Copyright Notice
GLExcess v1.0 Demo
Copyright (C) 2001-2003 Paolo Martella
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.