[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
最近忙しかったので久々の投稿です。
こう時間が空くとどうも精神的にやりにくくなりますね・・・。
さて、前々から思っていたのですが、そろそろDirectX10をやってみたいと思います。
言語はC#・・・を使いたいところですが、ManagedDirectXは消滅してしまったので、泣く泣くC++/CLIを使います。
OSはVistaオンリーです。DirectX10はXPでは使えません。
まずはSDKのダウンロードです。
現在最新のDirectX のSDKは(November 2007)です。
Novemberって何月だっけ・・・と思って辞書で引くとなんと11月、つまり今月です!
良いタイミングでDirectX10をはじめたことになります。
幸先良いスタートです。
また、Windows Platform SDKをインストールする必要もあるようです。(もちろんWindows Vista用のです)
なんせVisual C++ ExpressにはWindows.hが付いてきません。
DirectX10のサンプルを動かすにはWindows SDKのIncludeファイルとLibファイルが必要です。
で、Windows SDKのIncludeファイルととLibファイルをC++/CLIのコンパイラから使えるようにします。(単にコピー&ペーストでいいでしょう。(いいわけない。環境変数LIBとINCLUDEでそれぞれのディレクトリのパスをセットしてやりましょう。)いちおうWindows SDKには"Integrate Windows SDK with Visual Studio 2005"というのが付いていますが、cl.exeには効果が無いように見えます。)
これで準備は整いました(たぶん)。
さっそくやってみましょう!
#using<System.Windows.Forms.dll>
#using<System.dll>
using namespace System::Windows::Forms;
int main()
{
Form ^form = gcnew Form();
form->Show();
while(form->Created)
{
Application::DoEvents();
}
}
#using<System.Windows.Forms.dll>
#using<System.dll>
using namespace System::Windows::Forms;
ref class Game : Form
{
public:
void Run()
{
Show();
while(Created)
{
Application::DoEvents();
}
}
};
int main()
{
Game ^game = gcnew Game();
game->Run();
}