DirectX

最終更新日24 Jun 2017 11:58

printf

OutputDebugString(L"デバッグメッセージ");

Visual Studioの出力ウィンドウに出る

UWPでDirectX

Visual Studio 2017だとデフォルトのテンプレートでDirectX11+XAMLなるものがある。
これを実行してみた。
OpenGLはやったことがあるが、DirectX初心者の私がいきなりここからはじめて読み解いてみます。。
シェーダの場所 SampleVertexShader.hlsl Contentフォルダの下
そして同じ名前の.csoというファイルが作られてこれがシェーダをバイナリ化したものらしい。
カメラパラメータ設定する場所 Content/Sample3DSceneRenderer.cpp CreateWindowSizeDependentResources()

ディレクトリ設定

C/C++ ->追加のインクルードディレクトリ $(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)
ライブラリ $(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86

DirectXを実行するのに必要なもの

必要なlib

dinput.lib DirectX7
d3dx9.lib DirectX9

旧directXのインストール

最近はWindows SDKの中にDirectXが含まれていて、DirectXの旧バージョンを単体でダウンロードとかが難しくなってきたようだ。
ただあるアプリを動かすために古いDirectXが必要だ、という場合Microsoftのページ[4]いわく、
DirectX エンドユーザー ランタイム パッケージをインストールすればよいらしい
DirectXエンドユーザー ランタイムWebインストーラ
これだと.dll系は入るけど、旧DirectXを利用した開発に必要な.libなどは入らないのでご注意

directX9 SDK

DirectX software Development Kit

遭遇したエラー

dinpit.libがない!

dinput.libはDirectX7に付属のもの。いまどき(DirectX10とか)だとdinput8.libになってるらしい。
そこで解決策は、

リンカー->入力->追加の依存ファイル

でdinput.libと書いてある部分をdinput8.libに置き換える

d3dx9.libがない

d3dx9.libは本来

C:\path\to\Microsoft DirectX SDK (June 2010)\Lib\x86\

か、

C:\path\to\Microsoft DirectX SDK (June 2010)\Lib\x64にあるはず。


ファイル

サポートサイト Wikidot.com