>DirectXによる透明3D描画

>

3D描画でテクスチャを半透明に出来ました!

テクスチャ画像はPNG形式なのでアルファ値まで保存できるんですよ。

透明とか半透明とかってなんかカッコいいなぁって思ってたら、
RenderStateに

pD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE);
pD3DDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
pD3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);

の3行加えるだけだったんですね。

一行目がアルファブレンディングの有効化
2行目がSRCの設定
3行目がDESTの設定
です。

後はエフェクトとアニメーション処理とDirectInputが出来れば満足……かな?

>DirectXによる3D描画

>

僕は昔3Dに憧れてほとんどクラスや構造体についてほとんど理解できないような状態でDirectXに挑んだことがあります。
その時は挫折して、しばらく組み込みのプログラミングばかりやっていたのですが、
最近ちょっと復活しました。

SUMMER WARSのOZとか東のエデンのエデンシステムとか見てネットワークプログラミングしたいな~って思ったんですが、
とりあえず今は昔の因縁を断ち切らなければ!

画像は
ロボットを時間と共にY軸に関して回転しつつ、板をZ軸に関して回転する
というのをとったカメラの映像が
X軸に関して回転している状態です。

一つめの処理でまずロボットと板のカメラの映像(?)からテクスチャを作成し、
そのテクスチャを貼った四角形板ポリゴンを本当のカメラでとる

みたいなプログラムです。

やっぱりDirectXは難しいです。
位置情報とか回転情報とか全て構造体のマトリックスなので、本当に理解していないと難しいです。