Mar 8, 2008

GL Excess/Ruby : Scene 11 移植完了


Scene 11 はエンディングです。スタッフロールが流れます。

これで GL Excess 全12シーンの Ruby 移植ができたことになります。なんとかなるもんですね。
今後は
  • 全シーンをまとめたものを再パッケージ化
    • シーン個別での配布は廃止する
  • 特に遅い Scene 2, Scene 8 の一部を拡張ライブラリ化(「チート版」が適切かな?)
を予定しています。
GL Excess / Ruby のページも更新。 Scene 11 をダウンロードできるようにしておきました:
※ Scene 2 と 8 は動作が非常に遅くなってしまっています。 そこで glxsruby にもオリジナルと同様、更新のタイプステップを変更する機能が実装されています。 アプリケーション起動後に以下の操作を行ってください:
  • 'a' を押すと @step += 1 (更新速度アップ)
  • 'z' を押すと @step -= 1 (更新速度ダウン)
画面表示が遅い場合には、'a' をしばらく押しっぱなしにしておくと吉です。

Mar 2, 2008

GL Excess / Ruby : Scene 10 移植完了


Scene 10 です。これといって問題になるような部分はありませんでした。

このシーンで印象的なのはやはりレーザー効果ですが、本質的には GL_TRIANGLE_FAN だけでシンプルに実装されています。このようなことが勉強 できるのも、ソースコードが公開されているおかげですね。
GL Excess / Ruby のページも更新。 Scene 10 をダウンロードできるようにしておきました:
未実装のシーンは 11。とうとう残り 1 個になりました。
※ Scene 2 と 8 は動作が非常に遅くなってしまっています。 そこで glxsruby にもオリジナルと同様、更新のタイプステップを変更する機能が実装されています。 アプリケーション起動後に以下の操作を行ってください:
  • 'a' を押すと @step += 1 (更新速度アップ)
  • 'z' を押すと @step -= 1 (更新速度ダウン)
画面表示が遅い場合には、'a' をしばらく押しっぱなしにしておくと吉です。

Mar 1, 2008

RDフォーマット


Re: RDoc,RDフォーマットの公式文書はどこにあるのでしょうか

「仕様書」と呼ぶべきかどうかはともかくとして、Ruby自身の配布ファイル
の中に"lib/rdocs/README"というのが含まれています。公式のドキュメントの中で
は、これが一番良く書かれたものだと思います。

Module: RDoc

Rdoc is an application that produces documentation for one or more Ruby source files.

GL Excess / Ruby : Scene 8 移植


Scene 8 ですが…遅いっ。

原因は Scene 2 と 同様で、水面の表現に利用している 64x64 個のグリッドの更新が重荷になって います。描画の部分に頂点配列(glVertexPointer/glDrawArrays)を利用するよ うに書き直してみたりもしたのですが、有意な差が見られるほどの改善には至 りませんでした。
移植の最中に思い出しましたが、Ruby では !0 == false なのでした。
$ irb.bat
irb(main):001:0> some_value = 0
=> 0
irb(main):002:0> !some_value
=> false
irb(main):003:0> some_value==0
=> true
irb(main):004:0>
C/C++ によくあるイディオムの移植には注意が必要ですね。
GL Excess / Ruby のページも更新。 Scene 8 をダウンロードできるようにしておきました:
未実装のシーンは 10 と 11。残りは 2 個となりました。
※ Scene 2 と 8 は動作が非常に遅くなってしまっています。 そこで glxsruby にもオリジナルと同様、更新のタイプステップを変更する機能が実装されています。 アプリケーション起動後に以下の操作を行ってください:
  • 'a' を押すと @step += 1 (更新速度アップ)
  • 'z' を押すと @step -= 1 (更新速度ダウン)
画面表示が遅い場合には、'a' をしばらく押しっぱなしにしておくと吉です。。