RubyでOpenGL

Rubyがあった、OpenGLがあった、組み合わせてみるとどうだろう。



うん、できたw
でも、これじゃCと変わりがわからんw


さて2つのつなぎ方


まずは環境作りについて
コマンドプロンプトでライブラリの追加(gem)

gem install ruby-opengl


セットアップ中にプラットフォームの選択があるので、

2. ruby-opengl 0.60.0 (i386-mswin32)

を選択


終わったら、ソースを書く書く。

require "opengl"
require "glut"

display = proc {

    GL.Clear(GL::COLOR_BUFFER_BIT)
    GL.Color3f(1.0 , 0.0 , 0.0)
    GLUT.WireTeapot(0.5)
    GLUT.SwapBuffers()

}

GLUT.Init()
GLUT.CreateWindow("OpenGL:Teapot")
GLUT.DisplayFunc(display)
GL.ClearColor(0.2,0.2,0.2,0.0)
GLUT.MainLoop()


Cと OpenGLの文法的にはそれほど変わらんです。



ここまで来たら、あとは通常通り実行です。
保存して(今回はtest_opengl.rbで保存)
実行

ruby test_opengl.rb


うん。できた。


Cで書けて、あえてRubyで書く必要は・・・どうでしょね
特に処理能力を必要とする3Dグラフィックにインタプリタを使うのは、あまりにでしょうか
(まぁ、これを弄ってる時間が面白かったんで、触ることには意味があったのかも


参考URL(PDF)
RubyによるOpenGL,GLUTの使用法