LoginSignup
0
0

More than 5 years have passed since last update.

EclipseでC++でDirectX11を使って3D表示

Posted at

初めに

そもそも論だけど、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

このサイトをほぼそのまま使用。シェーダーがヘッダファイルを使用しているけど、そこの部分をバイナリファイルを読み込んで使用するように修正したくらい。

結果

無題.png

まぁこれでとりあえず第一段階は終了、

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0