FreeRGSSについていろいろ

似たよーなライブラリ2つも作ってどーするねん。
という声が聞こえてきそうであり、俺自身もよく思う。
それだからこそFreeRGSSは互換性を確保することを目指し、同じ動作をするところまで行けたら完了となるプロジェクトとしている。
自分で機能を拡張すれば便利なものになる気はするし、実際にできるわけなのだが、それをはじめるとほんとに似たような2つの物を同時に作ることになる。
機能を追加したり変更したりして仕様レベルでいい物にする努力はDXRubyのほうだけでやろう、ということだ。


FreeRGSSは本家のソフト描画(と思われる)をハードウェア描画にしたところがおそらくアーキテクチャ上の最大の違いだろう。
速度的に有利なのはSpriteの通常描画で、Ruby1.9.1で動くのもあって、たぶん圧倒的に速い。
colorやtoneを指定するとぐっと遅くなる。ピクセルシェーダをスプライトごとに起動するのは負荷が大きいらしい。
Spriteを描画し続ける限り設定しっぱなしにすればいいのかな。ただの描画と比較してシェーダ負荷が大きくなるのが心配だが、余裕があるならそれのほうがいいのか。それともcolorやtoneはレアケースと考えて現状のほうがいいのか。
Effectのbeginとendの中でテクスチャ切り替えできるんかしらん。
DXRubyでもやったことのないことにもチャレンジしているから、わからないことだらけだ。


あと、機能的に実現困難なものがいっぱいあって、できたとしても遅かったり半端になったりしそうだが、できないよりはいいと思うから、とりあえず実装することを優先しようと思う。
Viewportとか。
Audioについては音を出すのは基本的に別技術であり難しいから、中途半端でもいいからなんか出るようにだけしておこうか。DXRubyのコードをコピって持ってくればMIDIとWAVはとりあえず鳴るだろうし。
マーシャリング関連は地道に調査するしかないな。
Tilemapは・・・後回し後回し。
未実装のものたちは1つ作るだけでもぐったりしてしまうよーなものばっかりで、やる気が出たときに集中して1つずつ片付けていくしかなさそうだ。
んでも疲れたからしばらく休憩するかも。