View on GitHub

いまさらDirect3D11入門

初めてグラフィックスAPIを触る人に向けて

このページは初めてグラフィックスAPIを触る人に向けて、Direct3D11の各機能について説明することを目的にしたものになります。
また、Direct3D12を触る前の予備知識になるものを目指しています。

ここではDirect3D11に関係することのみを説明し、3Dグラフィックスにつきものの数学やアルゴリズム、モデルファイル等には極力触れません。

サンプルの実行環境

各ページには対応するサンプルコードがありGithub上で公開しています。

各サンプルは簡単なC++(クラス、列挙型、ラムダ関数、例外など)のコードを読めることを想定して書いてます。

想定している実行環境は以下のものです。

  • OS:Windows10
  • IDE:Visual Studio 2015
  • GPU:Direct3D11対応のGPU
  • 最新のWindows 10 SDK
Windows 10 SDKのインストールはこちらになります。 コンパイルできない場合は各プロジェクトのプロパティを開き、
(全般) -> (ターゲットプラットホーム)の項目をインストールしたWindows 10 SDKに合わせてください。

各サンプルの操作方法はScene::onKeyUp関数の中を参考にしてください。 基本的にZキーでモードの切替となっています。その他、X,Cキーや十字キーを使用するサンプルも有ります。

目次

  1. シェーダを使った画面クリア
  2. 定数バッファ
  3. テクスチャ
  4. ID3D11Bufferのバリエーション
  5. グラフィックスパイプライン
  6. ドローコール
  7. レンダーターゲットとブレンドステート
  8. Zバッファと深度ステンシルステート
  9. ラスタライザステート
  10. ジオメトリシェーダ
  11. ストリームアウトプット
  12. テッセレーション
  13. ディファードコンテキスト
  14. クエリ
  15. 初期化
  16. テクスチャ専用機能
  17. タイルリソース