超初心者のプログラム入門(DirectX10)

前田稔(Maeda Minoru)の DirectX10 Game Programing 入門のページです。
Maeda Minoru webpage is written about DirectX10 Game Programing tutorial.

DirectX 10 のプロジェクトは、Windows7 & Visual Studio 2010 Express & DirectX June 2010 の環境で開発しました。
文字コードは、特に断りの無い限り Unicode 文字セットを使用する に設定されています。
ハードの構成が DirectX 10 に対応していない場合には 3Dモデルを描画するプログラムが動かない ことがあります。 (;_;)

ホームページの画像は容量節約のため他の言語と共有しています。
従って、ページの説明とは必ずしも一致しない場合があるので、お含み置き下さい。

前田稔(Maeda Minoru)の超初心者のプログラム入門

DirectX Programming Guide

DirextX10 INDEX

DirextX11 INDEX

DirectX10(+X9) のプロジェクト

  1. DirectX10 のインストール
    DirectX10 をインストールしてサンプルプログラムを実行します。
  2. Sprite で TEXT を表示する
    Sample Brower の EmptyProject10 をベースに Sprite で TEXT 文字列を表示します。
  3. 三角形を表示する
    EmptyProject10 をベースに三角形の頂点座標を定義して表示します。
  4. 4面体を回転しながら描画する
    DirectX10 で4面体の頂点座標を定義して、回転しながら描画します。
  5. 立方体を回転しながら描画する
    DirectX10 で立方体の各面に色を設定して回転しながら描画します。
  6. 立方体を光源で照らして描画する
    DirectX10 で立方体を光源で照らして回転しながら描画します。
    ※簡単なメッシュを描画する Shader を作成します。
  7. 立方体に法線ベクトルと色を設定する
    DirectX10 で立方体に法線ベクトルと色を設定して、回転しながら描画します。
  8. 円柱(円錐)をプログラムで生成する
    DirectX10 で法線ベクトルを設定した円柱(円錐)モデルを生成します。
  9. ティーポットを回転しながら描画する
    DirectX10 でティーポットを回転しながら描画します。
  10. トーラスとコーンを親子関係で描画する
    DirectX10 でトーラスがY軸で回転し、その回りを逆方向にコーンが回ります。
    ※環境光を設定する Shader です。
  11. 矩形に Texture を張り付ける
    DirectX10 で矩形をキャンパスに見立てて Texture を張り付けます。
    ※簡単なテクスチャを貼り付ける Shader を作成します。
    ※また画像が横長/縦長にならないようにアスペクト比を保ちます。
  12. 円筒に Texture を貼り付けて回転しながら描画する
    DirectX10 で Texture を貼り付けた円筒を回転しながら描画します。
  13. Cone.x を回転しながら描画する
    EmptyProject10 をベースに X9 で Cone.x を回転しながら描画します。
  14. Tiger.x を回転しながらマウスで操作する
    EmptyProject10 をベースに X9 で Tiger.x を回転しながらマウスで操作します。
  15. Tiny.x でアニメーション
    EmptyProject10 をベースに X9 で Tiny.x のアニメーションを描画します。
  16. Tiny.x をマウスで操作する
    ArcBall を使って Tiny.x をアニメーションしながらマウスで操作します。

DirectX10 のプロジェクト

  1. ティーポットを ArcBall で操作
    ティーポットを生成して ArcBall で操作します。
  2. ティーポットを Camera で操作
    ティーポットを生成して Camera で操作します。
  3. .sdkmesh を描画
    SDK Mesh(Teapot.sdkmesh)を描画します。
  4. Color sdkmesh を描画
    色を設定した SDK Mesh を描画します。
    ※layout と Shader の関係を説明します。
  5. Tiger.sdkmesh を描画
    SDK Mesh(Tiger.sdkmesh)を描画します。
    ※モデルサイズ&モデルの中心座標を調べる関数を紹介します。
  6. sdkmesh の Viewer を作成
    DXUT メッシュ形式 (.sdkmesh) の Viewer の作成に挑戦します。
  7. sdkmesh のアニメーション
    SDK Mesh のアニメーションプログラムです。
  8. XFILE ⇒ sdkmesh
    X-FILE を sdkmesh に変換する MeshConvert です。
  9. sdkmesh の形式
    XFILE⇒sdkmesh(MeshConvert)のプログラムを調べます。
  10. X-FILE(Cone.x) の頂点データを定義する
    DirectX10 で Cone.x の頂点データを定義して、回転しながら描画します。
  11. 矩形ポリゴンを X-FILE に保存する
    プログラムで定義した矩形ポリゴンのデータを X-FILE として保存します。
  12. X-FILE を描画する
    DirectX10 で X-FILE インターフェイスを使って描画します。

空のプロジェクトから作成

  1. 空のプロジェクトから構築する
    空のプロジェクトから構築して、ウインドウを表示します。
    この方法を取ると、極めてシンプルなプロジェクトを構築することが出来ます。
  2. 三角形ポリゴンを描画
    空のプロジェクトから構築して、三角形ポリゴンを描画します。
  3. 空から構築して立方体を描画
    空のプロジェクトから構築して、立方体のモデルを表示します。
  4. キューブにテクスチャを貼り付ける
    キューブにテクスチャを貼り付けて、色を変えながら描画します。
  5. コーンを描画する
    DXUT を使わずに CreateCylinder() でコーンのメッシュを生成して描画します。

DirectX Novmnber 2008

2010年1月に待望の Windows7 を搭載した DirectX 10 対応のマシンを購入しました。
これで本格的に DirectX10 のプログラムを開発する環境が整いました。 \(^o^)/
Microsoft DirectX Novmnber 2008 には DirectX9, DirectX10, DirectX11 のプロジェクトも格納されています。
そこで DirectX11 のサンプルプログラムを実行しようとしたのですが、残念ながらハードが対応していませんでした。 (;_;)
DirectX の開発は、もう一歩先を進んでいるようですが、ここでは DirectX10 から進めて行きましょう。
  1. プログラムを自動的に作成する
    DirectX Sample Browser を使って、プログラムを自動的に作成します。
  2. DirectX10 EmptyProject
    DirectX10 November 2008 の EmptyProject を自分専用のフォルダーにコピーします。
  3. Novmnber 2008 のテンプレート
    EmptyProject10 をベースにして、Novmnber 2008 のテンプレートのプロジェクトを作成します。
  4. Novmnber 2008 でビルド
    テンプレートから作成したプロジェクトをビルドして、実行を確認します。
  5. Tiny.sdkmesh を描画する
    DirectX10 のメッシュファイル(Tiny.sdkmesh)を描画します。
  6. X-FILE を sdkmesh にコンバートして描画
    X-FILE を meshconvert で sdkmesh にコンバートして描画します。
2014/08/08 しばらくご無沙汰していたのですが、Windows8 で DirectX9 が動いたので DirectX10 も試してみました。
以下の環境で DirectX10 の実行を確認しました。
  Windows 8.1 Update 版
  Visual Studio 2005
  DirectX November 2008(DirectX10)
  デスクトップモード
インクルードファイルとライブラリファイルのパスを設定して下さい。
CPU モードを X86(W32) に設定して下さい。
Release Mode でコンパイルして下さい。
  1. Windows8+DirectX10
    Windows8 + DirectX10 のプロジェクトを実行します。
  2. Sample Brower で構築したプロジェクトの実行を確認しました。
    他のプロジェクトも問題なく動作すると思います。
  3. CreateTeapot
    DXUT を使わずに CreateTeapot() でティーポットを生成して描画します。

DirectX11 のテスト

  1. DirectX11 Guid
    .NET 2005 で DirectX11 をテストします。
  2. Tutorial-02
    Tutorial-02 で三角形を描画します。
  3. Tutorial-04
    Tutorial-04 の立方体の描画に挑戦します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

超初心者のプログラム入門(DirectX9 game program)