DirectX ゲームの基本的な 3D グラフィックスBasic 3D graphics for DirectX games

DirectX プログラミングを使って、3D グラフィックスの基本的な概念を実装する方法について説明します。We show how to use DirectX programming to implement the fundamental concepts of 3D graphics.

目標: 3D グラフィックス アプリケーションのプログラミングについて説明します。Objective: Learn to program a 3D graphics app.


C++ に習熟していることを前提としています。We assume that you are familiar with C++. また、グラフィックス プログラミングの概念に対する基礎的な知識も必要となります。You also need basic experience with graphics programming concepts.

完了する時間の合計: 30 分。Total time to complete: 30 minutes.

次の段階Where to go from here

ここでは、DirectX および C++ での 3D グラフィックスを開発する方法について説明\Cx します。Here, we talk about how to develop 3D graphics with DirectX and C++\Cx. この 5 つのパートから成るチュートリアルでは、Direct3D API と、その他の DirectX サンプルの多くでも使われる概念やコードを紹介しています。This five-part tutorial introduces you to the Direct3D API and the concepts and code that are also used in many of the other DirectX samples. 各パートでは、UWP の C++ アプリ向けに DirectX を構成することから始まって、プリミティブのテクスチャリングや効果の追加まで、段階的に構築していきます。These parts build upon each other, from configuring DirectX for your UWP C++ app to texturing primitives and adding effects.

  このチュートリアルでは、列ベクターを使用した右辺座標系を使用します。Note  This tutorial uses a right-handed coordinate system with column vectors. 多くの DirectX サンプルと DirectX アプリでは、左手による座標系と行のベクターを使います。Many DirectX samples and apps use a left-handed coordinate system with row vectors. より完全なグラフィックス数式ソリューションと、左手による座標系と行のベクターをサポートするグラフィックス数式ソリューションが必要な場合は、DirectXMath を使うことを検討してください。For a more complete graphics math solution and one that supports a left-handed coordinate system with row vectors, consider using DirectXMath. 詳しくは、「Direct3D との DirectXMath の使用」をご覧ください。For more info, see Using DirectXMath with Direct3D.


次の方法について説明します。We show you how to:

  • Windows ランタイムを使っての Direct3D インターフェイスの初期化Initialize Direct3D interfaces by using the Windows Runtime
  • 頂点ごとのシェーダー操作の適用Apply per-vertex shader operations
  • ジオメトリの設定Set up the geometry
  • シーンのラスタライズ (3D シーンを 2D プロジェクションにフラット化)Rasterize the scene (flattening the 3D scene to a 2D projection)
  • 隠面のカリングCull the hidden surfaces



次に、Direct3D デバイス、スワップ チェーン、レンダー ターゲット ビューを作成し、レンダリングされた画像をディスプレイに表示します。Next, we create a Direct3D device, swap chain, and render-target view, and present the rendered image to the display.

クイック スタート: DirectX リソースの設定とイメージを表示します。Quickstart: setting up DirectX resources and displaying an image