Learning XNA

XNAという開発環境の存在を知り、ちょっといじってみることにしてみました。Microsoft製なのでDirectXから乗り換えるにはいいかもしれない。ざっとチュートリアルサンプルを見た感じコードがシンプルにまとまっていてDirectXよりもプログラム的な負担が少なさそうです。

lerning_xna_20100520

さっそくDirectXで書いたシェーダーを移植してみることから始めました。モデルはFBX形式でMayaから出力。DirectXと同じで、モデルなどの座標や行列を設定してシェーダーに渡して描画する流れですね。コードは無駄がなくてシンプル。そして何よりインテリセンスが便利すぎる。シェーダーのコードはHLSLなのでそのまま利用できます。

lerning_xna_20100521

シャドウマップも問題なく出来ました。

lerning_xna_20100524

ポストエフェクトもやってみました。一度経験しているものはすぐに実装できるものですね。

今まで影の描画は教科書どおりにシャドウマップの結果をそのまま乗算していたけど、今回は光によるライティングと環境光によるライティングをそれぞれレンダリングしてから、シャドウマップをマスクにして合成しました。絵を描くときも光と陰では違う色を入れるので、あまり常識に囚われずに自分が自然だと思うやりかたをやってみることにする。

lerning_xna_20100525

被写界深度の合成もやってみました。XNAを始めてからおおよそ10日ぐらいでここまで出来ました。XNAはDirectXの経験があればすぐに馴染めると思います。コードがシンプルなので本来の目的に集中できますね。

つづく

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中