少し先のことを考える

頂点シェーダが使えるということで色々試したりしているのだが。とりあえずDXRuby1.4の時点では、3D関連の方向をきちんとサポートすることは無さそうだ。

3D描画をするには、現時点で足りない機能がある。
・頂点バッファ
・Zバッファ
Vector/Matrix
だ。
これらを実装するのはそんなに難しい話では無いのだが、クラスを追加することに関しては慎重にならなければならないので、すぐに作ってリリースということは無い。
DXRuby1.5devで作って試してみる感じになるだろう。
頂点シェーダが使えると3Dのパースを付けることができるようになる。DXRuby1.3devの時点では画像の3D変形が可能になる。おそらくそれだけだ。
3角形のポリゴンを描画することができないから、普通の3Dモデルを描画することはできない。
頂点バッファをサポートして、大量の頂点とポリゴンにテクスチャを貼り付けることができるようになれば、普通の3Dモデルが描画できるようになる。Zバッファは2Dの描画には不要で遅くなるから、3D用のRenderTargetが必要になるだろう。カリングのサポートも必要だ。2Dでは反転画像の描画ができないと困ることがあるからカリングはOFFにしてある。
つまり、ハンパに3Dサポートを入れるぐらいなら、潔く切り捨てて、次で真面目に考えたほうがよい。いま微妙なものを入れて後で互換性問題になっても困る。Vector/Matrixについても同様で、いま必須じゃない以上、もう少し時間をかけて考えたほうがいい。

先の展開として物理演算関連も考えたが、いまのところさっぱりわからないので作りようが無い。とすると、そんなに充実したものは作れないかもしれないが、3Dが描画できるような基本機能を揃える、というのが次の課題になるかな、と。