初めに
そもそも論だけど、DirectxやるならVisual Studio使ったほうが楽。(MSの回し者ではないよ?)
Windowアプリ作るだけでも(以下略
諸事情により、Visual Studioがインストールできない環境でどうしてもDirectXを使ってみたかったから、Eclipse使ってどうにかならないかなーと四苦八苦してやっとこ表示まではこぎつけた。
環境
ちなみに、自分がやった環境はこんな感じ。
- Windows7 64bit
- Eclipse pleiades all in one Oxygen Release (4.7.0) Ultimate Full Edition
設定
プロジェクトプロパティの設定がいくつか必要
(1)コンパイル設定
GCC C++ Compilerの設定で以下を追加設定
- プリプロセッサーに _XM_NO_XMVECTOR_OVERLOADS_ を追加 → DirectxMath使うため
- その他のその他フラグに -mwindows 追加 → Windowアプリのとき必要なので
(2)リンカ設定
MinGW C++ Linker設定
- ライブラリーにd3d11を追加
- その他のリンカーフラグに -mwindows 追加 → Windowアプリのとき必要なので
シェーダー
環境の都合上、D3DCompiler_47.dllが入っていなかったので、DLLの入っているPCでfxc.exeを使用してバイナリコンパイルしたものを使用。
DirectXMathの利用
D3DX系は終了なので、座標計算のライブラリはDirectXMathを利用することに。
Githubからダウンロードし、Incフォルダ内をコピー
※プリプロセッサーに _XM_NO_XMVECTOR_OVERLOADS_ を設定してないとコンパイル時にエラーがでる
Windowの表示
WinAPIを使用してウインドウを表示。
コードは省略。
DirectX
このサイトをほぼそのまま使用。シェーダーがヘッダファイルを使用しているけど、そこの部分をバイナリファイルを読み込んで使用するように修正したくらい。
結果
まぁこれでとりあえず第一段階は終了、