Skip to content
Rebirth of ruby-opengl, aimed at running on Ruby 1.9.x and available as gem (ruby-opengl2)
C Ruby
Pull request Compare This branch is 14 commits ahead of theymaybecoders:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Foreword (December 20, 2011)

This is a modernization of the glorious but unmaintained ruby-opengl version, aimed at making it compatible with ruby 1.9.x series. At the moment, it successfully compiles on OS X Lion and Debian 6.0.3.

Official ruby-opengl2 page is on GitHub. The library is also available as a gem:

$ gem install ruby-opengl2

To stay backward-compatible with the old gem, you stiil have to require "ruby-opengl".

Many thanks to the original authors.

Original comments

ruby-opengl consists of Ruby extension modules that are bindings for the OpenGL, GLU, and GLUT libraries. It is intended to be a replacement for -- and uses the code from -- Yoshi's ruby-opengl.

It's licensed under the MIT license. Please see the included MIT-LICENSE file for the terms of the license.

To Do

rake test still gives some errors. They have to be taken care of.

Current release: 0.60.5 (February 16, 2009)

This is maintenance release.

Changes in this release:

  • Bugfixes
  • Proper support for ruby 1.9/1.9.1+
  • Updated OpenGL enumerators in preparation for OpenGL 3.0

Previous release: 0.60.0 (January 6, 2008)

Changes in this release:

  • Automatic error checking for GL/GLU calls, enabled by default (see doc/tutorial)
  • Added support for many more OpenGL extensions
  • Support for Ruby 1.9.0+ (requires mkrf 0.2.3)
  • Ton of bugfixes.

    API Changes:
  • Boolean functions/parameters was changed to ruby true/false instead of GL_TRUE / GL_FALSE, which remains for compatibility
  • glGet* functions now returns x instead of [x] when returning only one value
  • Functions operating on packed strings (glTexture, gl*Pointer etc.) now also accepts ruby arrays directly
  • Matrix handling functions now also accepts instances of Matrix class, or any class that can be converted to array
  • glUniform*v and glUniformmatrix*v now does not require 'count' parameter, they will calculate it from length of passed array
  • glCallLists needs type specifier (previously was forced to GL_BYTE)
  • On ruby 1.9, glut keyboard callback returns char ("x") instead of integer so using 'if key == ?x' works on both 1.8 and 1.9
Something went wrong with that request. Please try again.