読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

Box2D + WinRTでゲームを作る (6) – Box2Dの処理結果をDirect3Dで描画する (2)

Direct2D シューティングゲーム DirectX Media Foundation Box2D Windows C++ Audio ゲーム Windows API

今日もどうやってシェイプを描こうか考えていた。考えていたというよりは、シェーダーについて学びかつその技術が描画に使えるかどうかを吟味していたというほうが正しいだろうか。

ヒントになったのは「Direct3D sprite sample」である。頂点データはいわゆるスプライトの位置、大きさ、回転角度とかを表していて、それをジオメトリシェーダーに渡す。ジオメトリシェーダーはそれをもとに四角形の頂点を生成する。なるほどと思った。この考えていけば、円やポリゴンの頂点データをジオメトリシェーダーで生成することも可能だな。

あとは定数バッファに大量の描画情報を詰め込んでそれをシェーダーで読み込んでできないかな。。とか考えてみたりとか、コンピュートシェーダーを使ってうまく効率的に描けないかなとか考えていたりした。パーティクルに関するサンプルなんかも参考になりそうだ。 しかしいまのところこれだ!というところまできていない。

しかしこのプログラマブルシェーダーというのはすごいものだな。今頃になって気づくとは。スプライトエンジンなんてもう屁のカッパなのである。