古川です。

少し暇が出来たので ruby-gtkglarea-19991221.tar.bz2 をいじっていたのですが、
いろいろやった挙句に意味なしだったというのも寂しいので、できかけのものを
パッチにしました。もしお時間があれば、チェックしてもらえないでしょうか。

http://www.suenaga.cse.nagoya-u.ac.jp/~dfuru/index.html からたどってみて
ください。なお、あらかじめ gtkglarea-1.2.2 のインストールが必要です。

やったことは

1. すでに実装されていた関数を若干修正
2. 実装されていない関数のうち、マニュアルに載っていたものを実装
   (gtkglarea-1.2.2 で追加された gdk_gl_get_info() を含む)
3. ruby-gtkglarea-19991221.tar.bz2 に付属の example を gtkglarea-1.2.2 での
   変更に合わせて修正
4. ruby-gtkglarea-19991221.tar.bz2 に付属の viewlw.rb, trackball.rb,
   lw.rb を修正
5. gtkglarea-1.2.2 で新たに追加された example/gtkglarea_demo.rb を実装

ぐらいです。ただ、(1),(2)に関しては必要なものはほぼ実装を終えている
(ように私には見える)ため、かえって改悪になっている気もします。
その時は容赦なく切り捨ててください。

また、既知の問題点として

1. rbgdkgl.c に GLX がらみの定数を入れたのですが(これは
   gdk_gl_get_config() の戻り値のチェックに必要)、Gdk::GL 以下に
   あってはまずい。
2. viewlw.rb が trackball.rb の vscale 内で落ちる。
3. viewlw.rb のポップアップメニューのところってあれでいいの ?

が、あります。

# 結構時間がかかったわりに、私のやったことってしょぼい ...

--------
古川大介