~プログラミング~ DirectX 11を始めよう

C++言語でDirectX 11を使ったアプリケーションを開発してみましょう。

DirectX 9の時との比較をしながらDirectX 11でのアプリケーションの作り方をまとめてみようと思います。

 

まずは、最近のDirectX事情を整理してみるところから。


OSとDirectXのバージョン

Windows OSのバージョンによって使用できるDirectXのバージョンは異なります。

DirectX OS
DirectX 12 Windows 10のみ
DirectX 11.3 Windows 10のみ
DirectX 11.2 Windows 8.1以降
DirectX 11.1 Windows 8以降
DirectX 11.0

Windows 7以降

Windows Vista SP2 + Platform Update

DirectX 10.1

Windows Vista SP1以降

DirectX 10.0

Windows Vista以降

DirectX 9.0c

Windows XP SP2以降

DirectX 12はアーキテクチャがかなり変わっている為、Windows 10ではDirectX 12に加えてDirectX 11の最新版も搭載しています。

 

ちなみに、Windows 10でもDirectX 9.0を使ったアプリケーションは動作します。(条件付きで)

※Windows 10にもd3d9.dllやd3d10.dllがある

※但し、追加ランタイム(d3dx9_??.dllなど)はないのでこれらを必要とするアプリは動かない

 (エンドユーザランタイムを別途インストールすれば動く)


DirectXのDLL

基本ランタイム

d3d11.dllやd2d1.dllなどのファイル。

OSにプリインストールされていたり、Windows Updagteで更新されたりします。

 

 

SDK依存の追加ランタイム

d3dx11_??.dllなどのファイル。

OSが勝手に入れてくれはしません。

これらの追加ランタイムを使用するアプリは、別途「DirectX エンド ユーザー ランタイム」をインストールしなければならなりません。

※OSを新しくしたら古いアプリが動かないという場合の原因はだいたいコレ


DirectXのSDK

Windows 7までは「DirectX SDK」というものが提供されていました。

Windows 8以降では「DirectX SDK」は「Windows SDK」へ統合されています。

 

Visual Studio 2012以降であれば、別途DirectX SDKを入手する必要なくDirectXを使ったアプリケーションを開発する事が出来るようになっています。


DirectX 11を始めよう

2017年4月11日でWindows Vistaのサポートが終了している事を考えると、DirectX 11より前のバージョンを考慮する必要はほとんどない気がします。

そんな訳でこれから作るアプリならDirectX 11で始めましょう。