コールバック関数の設定

http://d.hatena.ne.jp/yukichanko/20090827/1251358163
Rubyの場合、引数を指定しなかった場合でも、即関数実行になってしまうため、既存の関数をCallback関数に設定する場合にどうするんだろう?と悩んでしまった。

何かいい方法がないかなぁ、と思ってネットを探索していると、Ruby+OpenGLの古いソースが見つかったので、それを参照させてもらった。
http://ruby-opengl.rubyforge.org/svn/tags/REL_0_40_1/examples/legacy/tess.rb

結局のところ、既存の関数に対して、Procで新たに関数リファレンスを作ってやって、それを渡しているようだ。

$end_call_back = Proc.new { GL.End() }
GLU.TessCallback($tess, GLU::TESS_END, $end_call_back)

う〜ん、扱いづらいかも。。。