RubyでOpenGLを動かすところまでのお話
かずまです。
今日は入社式とか研修とかでした。
帰ってバタンキューだったのですがなんか妙な時間に目覚めてしまったのでRubyでOpenGLのAPI叩けないかなーってことで調べてたら
あった!
別にRubyでゲーム作りたいとか、ではないのですが、使えると便利かな、ぐらいです。
ちゃんとありました。
DirectXは基本WindowsのAPIになっているのでMacやLinuxユーザーとしてはOpenGLかなって感じですね。
まぁVM立ててWindows立ち上げるみたいなので力技はできますが。
Sampleを動かす
先程のgithubからCloneしてきてSampleを動かしてみることにします。
GemのOpenGLとかを入れるのですが、まぁプロジェクトごとに管理できるのが一番いいのでBundlerを入れてしまいます。
入ってる場合は飛ばします。
こことかを参考にして
$ gem install bundler Fetching: bundler-1.14.6.gem (100%) Successfully installed bundler-1.14.6 Parsing documentation for bundler-1.14.6 Installing ri documentation for bundler-1.14.6 Done installing documentation for bundler after 4 seconds 1 gem installed
OK、これでExampleディレクトリに移動して、
$ bundle init $ vim Gemfile
ここでGemfileの中身を書き加えます。
gem 'opengl' gem 'glu' gem 'glut'
これで後は
$ bundle install --path=vendor/bundle
これでここのディレクトリのみにGemがインストールされるはずです。
よしこれで動く環境は整いました、examples/Neheに移動してrubyで叩いてみます!
$ bundle exec ruby nehe_lesson02.rb
おぉー表示されました。
いいですね。
頂点をきめたりするところ
glBegin GL_POLYGON do glVertex3f 0.0, 1.0, 0.0 glVertex3f 1.0, -1.0, 0.0 glVertex3f -1.0, -1.0, 0.0 end
ここで三角形の頂点を決めてますね。
GL_POLYGONの部分でどんな形をレンダリングするかです。
ちなみにGL_QUADSのところを
glBegin GL_POINTS do glVertex3f -1.0, 1.0, 0.0 glVertex3f 1.0, 1.0, 0.0 glVertex3f 1.0, -1.0, 0.0 glVertex3f -1.0, -1.0, 0.0 end
GL_POINTSに変更すると
見えにくいですが点がレンダリングされます。
使うとよさそうな一覧が乗ったページがありますのでこちらを参考にするといいかも。
glBegin
今日は時間も遅いのでここまで。
お疲れ様でした。