Lesson5

Lesson5 Components

3D描画に必要なコンポーネントを組み込みます。

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

プログラムの説明

  1. プログラムを実行した状態は Lesson4 Texture と同じです。
    Lesson5 Tutorial では、DirectX 3D描画に必要なコンポーネントが組み込まれています。
  2. Lesson4 の Texture 画像は texturedata.bin が使われていますが、Lesson5 では "reftexture.dds" を使っています。
    DDS 画像の説明は DDS 形式の画像ファイルを作成する を参照して下さい。
    Direct3DTutorial.cpp のソースコードを表示して下さい。
    LoadTexture() メソッドは、BasicLoader.cpp で定義されています。
        loader->LoadTexture(
            L"reftexture.dds",
            &m_texture,
            &m_textureSRV
            );
        
  3. dds は DirectX の画像形式ですが、あまり一般的ではありません。
    そこで dds に代えて jpg 画像を使ってみましょう。
    "kishi.jpg" をフォルダに格納して、既存の項目からプロジェクトに組み込んでみました。
    読者がテストするときは、画像ファイル(kishi.jpg)は何でも良いので、適当に調達してきて下さい。
        loader->LoadTexture(
            L"kishi.jpg",
            &m_texture,
            &m_textureSRV
            );
        
    同様に gif 画像を使うことも出来ます。
        loader->LoadTexture(
            L"test.gif",
            &m_texture,
            &m_textureSRV
            );
        
  4. カメラを引いて、モデルの底が見えるように、やや下から描画してみます。
        m_camera->SetViewParameters(
            //float3(0, 1.0f, 2.0f),
            float3(0, -1.0f, 4.0f),
            float3(0, 0, 0),
            float3(0, 1, 0)
            );
        
  5. BasicLoader.cpp(BasicLoader.h) で定義されている代表的なメソッドです。
    パラメータが異なる形式や、非同期で読み込むメソッドも定義されています。
    LoadMesh() では X-FILE は読めないようです。
    LoadMesh() の例は OBJ Model を参照して下さい。
    メソッド 説明
    void LoadTexture() Texture をロード
    void LoadShader() Shader をロード
    void LoadMesh() Mesh をロード
  6. BasicCamera.cpp(BasicCamera.h) で定義されている代表的なメソッドです。
    メソッド 説明
    void SetViewParameters() View 座標の設定
    void SetProjectionParameters() Projection 座標の設定
    void GetViewMatrix() View 座標の取得
    void GetProjectionMatrix() Projection 座標の取得

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