.NET FrameworkでDirectX を使うなら、Managed DirectXの後継であるXNAを使って開発するのが当然!


と思っていたのですが…。


XNA Framework では、ビデオカードがピクセルシェーダの1.1以上の対応が必須で、かつ、ほとんどの3Dプログラムではバーテックスシェーダの1.1以上へも対応している必要があるというハード的な障壁があります。


そんな事情から、知人からは、「使えないぞ!」という声が。


Managed DirectXの場合、ピクセルシェーダやバーテックスシェーダがサポートされていなくても、ソフトエミュレーション機能を使って、とりあえず動かすことは可能です。


以下の画像は、Managed DirectXを使用したプログラムが、ピクセルシェーダやバーテックスシェーダがサポートされていない環境で動作していことを示すデスクトップ画像です。



MDXサンプル画像2


なお、Managed DirectX 3Dプログラムは、オノデラユウイチ様がソーサリーフォースサイト で公開しているサンプルコードを参考にさせていただきました。


つまり、できるだけ多くのユーザー環境でプログラムを動かしたいと考えるならば、XNA Framework 3.0がリリースされた現在でも、Managed DirectX を使用するしかないということになります。


ま、そんな訳で、ミコソフトスライドショーXを Managed DirectX で書き直すべく、ソーサリーフォースサイトのサンプルコードを参考に、Managed DirectXのプログラムを習得中の今日この頃です。