mieki256's diary



2019/03/15(金) [n年前の日記]

#2 [ruby][gosu] gosu関係を試したり

Windows10 x64 + VMware Player 12 + Ubuntu 18.04 上で Ruby 2.51. p57 + gosu 0.14.5 の動作確認中。

Windows側に保存されているスクリプトは改行コードが CRLF なので、LF に変換したり。MSYS2 の中に dos2unix が入っているので、それを利用。cd /c/hoge/fuga で Windows側のディレクトリに変更できる。dos2unix *.rb で改行コードを変更。

一応、動作確認に使ったスクリプトを github にアップロードしておいた。

_mieki256/gosu_examples_mieki256: Ruby + Gosu examples by mieki256.

opengl関係はちょっとアレ。 :

gosu + opengl + glu + glut が動作するか試していたのだけど。

現行の glut (gem) は、Ruby 2.5.x に対応していないようで。Ubuntu 18.04上の Ruby は 2.5.1 なので、gem install glut ではエラーが出てしまう。Windows側の Ruby 2.4.5 なら gem install glut が通って動作確認ができた。

_larskanis/opengl
_invalid operation for glEnd - Issue #18 - larskanis/opengl

opengl ライブラリの作者さんは忙しくて対応できない、と言ってるように見える。最近の Ruby だか OpenGL を使いたいなら、opengl-bindings に移行したほうがいい、とも言ってるようで。

_vaiorabbit/ruby-opengl

Windows10x 64 + Ruby 2.5.3 p105 32bit 上で、opengl-bindings 1.6.8 をインストールして動作確認してみた。glfw3.dll と freeglut.dll が必要になるらしいので、以下からDL。zip の中から mingw版のdllを探して、スクリプトと同じ場所にコピー。

_GLFW - Download
_freeglut Windows Development Libraries

Ruby2.5.xインストールフォルダ\lib\ruby\gems\2.5.0\gems\opengl-bindings-1.6.8\sample\ の中に、simple.rb と simple_glut.rb があるので、動作確認できる。

  • simple.rb は、三角形が表示されて、グルグル回ってそれっぽく動いた。
  • simple_glut.rb のほうは、異様な速度で三角形がグルグル回った後ピタリと止まってウインドウが落ちてしまった。

2019/03/17追記。 :

simple_glut.rb は、タイマーで呼び出す指定をする際に、0ms を指定しちゃってるのがアレっぽい。16ms を指定するように書き換えたら、simple.rb と似たような感じで動作してくれた。

  glutTimerFunc(0, GLUT.create_callback(:GLUTTimerFunc, method(:timer).to_proc), value)
↓
  glutTimerFunc(16, GLUT.create_callback(:GLUTTimerFunc, method(:timer).to_proc), value)

以上です。

過去ログ表示

Prev - 2019/03 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project