D3DImage チュートリアル ⓪ はじめに

Published 30 March 09 02:47 PM | hiroyuk 

D3DImageは.NET Framework 3.5 SP1からサポートされた機能で、Direct3D のレンダーターゲット(Direct3DSurface9)をWPFのImageSourceとして扱うことができます。

D3DImageを使ったサンプルとして、CodeProjectのIntroduction to D3DImageと、MSDNのチュートリアル「WPFでのDirect3Dコンテンツのホスト」および「WPFでホストするためのDirect3D9コンテンツの作成」があります。これらのサンプルでは、P/Invoke(DLLImport属性)を使ってアンマネージ アセンブリを利用しています。

本チュートリアルでは、C++/CLIを使ってネイティブコードのラッパーを作成し、コンパイラスイッチ(/clr)でネイティブ アセンブリを混合アセンブリにコンバートします。この手法を使うと、アンマネージ アセンブリを使うのに比べ、Visual Studioの中でマネージ プロジェクトと同じようにアンマネージ コードが扱えるので、ビルドやデバッグが簡単になります。

DirectX Sample Browser から Direct3D 9のチュートリアル(Tutorial 6: Meshes)をインストールして、その描画結果を WPF の D3DImage を使って表示し、WPF から Direct3D のレンダリングを制御するまでを紹介します。

このチュートリアルには以下の製品が必要です。

  • Visual Studio 2008 SP1
  • 最新の DirectX SDK

アジェンダは以下のとおりです。

  1. プロジェクトの作成
  2. 混合アセンブリへの変換
  3. C++コードの編集
  4. WPFプロジェクトの編集
  5. XAMLの編集
  6. C#の編集
  7. UIと制御の追加

完成した Visual Studio ソリューションを添付します。ダウンロードして、ビルドしてみてください。

D3DimageTutorial

Comments

No Comments
Anonymous comments are disabled

About hiroyuk

マイクロソフト㈱エバンジェリスト。北海道大学理学部物理学科卒。リアルタイム3Dグラフィックスを専門とし、グラフィックスやシェーダに関する技術文章を執筆・講演。 DirectX SDK日本語ドキュメントの開発に携わるとともに、Windows Presentation Foundation プログラミング(オーム社)、Game Programming Gemsシリーズ、リアルタイム レンダリング第2版(ボーンデジタル)、Texturing & Modeling, A Procedural Approach などを翻訳・監修、XAMLプログラミング(ソフトバンク クリエイティブ)を執筆。趣味は薪割り。

Search

This Blog

DirectX 情報

Silverlight 情報

Windows 情報

WPF 情報

並列コンピューティング情報

著書

Syndication

Page view tracker