commentなんだか入門を外れたタイトルですが「私が入門編レベルしか紹介できない」というレベルで入門です。(今作っているアプリで必要なスキルなんですが・・・)SharpDxはDirectXをC#から利用できるというライブラリです。今回はサンプルを実行して仕組みを眺めて見るところまで行きます。導入SharpDxページからサンプルをダウンロードします。ダウンロードページに移動してSharpDX-Full-2.3.1.exe(2012年10月21日時点)をダウンロードします。私の環境だとダウンロードディレクトリだとうまく解凍できないことがあったので、ディレクトリを移動して解凍しました。以下のようなエラーがでる(出ないでただ解凍できないこともある)場合は、exeを右クリック→「プロパティ」から「ブロックの解除」を行います。サンプルを実行する解凍したディレクトリのSamplesディレクトリを開きます。SharpDXWin8Samples.slnをVisualStudioで開きます。以下のようなプロジェクト構成が見られます。CommonDxディレクトリが共有のライブラリでそれ以外が実行可能なサンプルプロジェクトです。実行した場合は、そのプロジェクトを「スタートアップ」に設定します。プロジェクトを右クリックして下の画像のように「スタートアッププロジェクトに設定」に指定します。MinCubeBrushXamlを実行します。XAML+DirectXという面白いサンプルが実行されました。仕組みを眺めてみるこのサンプルはどのような仕組みで実行されているんのでしょう?MainPage.xamlを見ると以下のような簡単な構図です。</Canvas>傾けたCanvasコントロールの中にRectangleが一つずつ配置されています。このRectangleがDirectXの描画領域になります。C#コード続いてMainPage.xaml.csコードを見てみます。こちらはちょっと簡単とはいえません。};CommonDXディレクトリにあるDragHandlerを利用することでドラッグ操作とその場合のカーソルの変更を可能にします。DeviceManager();デバイスへのアクセスを供給するマネージャークラスです。OnInitializeイベントハンドラーで初期化されたDeviceManagerへのアクセスを提供します。shapeRenderer.Initialize;SurfaceImageSourceTargetクラスXAMLにDirectX映像を描画するにはSurfaceImageSourceTargetクラスを利用します。d3dTarget.ImageSource;ImageBrushのImageSourceとして描画を渡す感じですね。SurfaceImageSourceTargetのOnRenderを次々と呼び出すことで画面がアニメーション表示されます。shapeRenderer.Render;CubeRendererクラス立方体を描画する仕組みです。DeviceManagerのOnInitializeイベントでInitializeが実行され、SurfaceImageSourceTargetのOnRenderイベントでRenderメソッドが実行されます。ここまではシンプルですね。"\\MiniCube_PS.fxo"));「ちょうてんしぇだー」と「ぴくせるしぇーだー」を「えふえっくすおー形式(.fxo)」というバイナリ化されたフィルで指定しています。(ひらがな表記は理解力をあらわしています)この辺がよくわからない、今後の調査が必要という感じなんですが。fxoファイルを使わないでコードで描画しているサンプルないかなぁ。以下のようにBufferで色々なデータを処理しているのも型がわからず理解が難しいですね。慣れの問題かな・・・。0)この辺がちゃんと理解できたら入門編その2を書こうかなと思いますが、ちょっと先の話になりそうです。いうわけで、入り口までのご案内を終了します。コメントをキャンセルメールアドレスが公開されることはありません。付いている欄は必須項目ですCommentName*Email*Website古代魚庵という屋号でフリーランスのプログラマー兼ライター業をやっています。