Create Cube

Create Cube

Create Cube で立方体を自動生成します。

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

プロジェクトの説明

  1. Cube(立方体)などは、頂点座標を定義しなくても、簡単に生成してくれる関数が用意されています。
    ここでは、立方体を生成する関数 Create Cube を使って自動生成する方法を説明します。
    自動生成したモデルは、頂点座標と法線ベクトルとテクスチャ座標で構成されています。
    DirectX9 で使われていた D3DXCreateTeapot などは、頂点座標と法線ベクトルで構成されていたのですが、テクスチャ座標が追加されています。
    従ってテクスチャを貼り付けたプロジェクト Direct3D Texture をベースに修正することにします。
    プログラムはモデルの定義が不要になる分だけ、簡単になります。
    DirectX9 のモデル生成は メッシュを描画する基本プログラム を参照して下さい。
  2. 3DTutorial\Lesson5.Components から次のファイルをプロジェクトに加えて下さい。
    Direct3D Texture で既に加えられているファイルも念のためにリストアップします。
    ファイル名 説明
    BasicReaderWriter.cpp Direct3D Texture で追加済み
    BasicReaderWriter.h Direct3D Texture で追加済み
    texturedata.bin Direct3D Texture で追加済み
    BasicShapes.cpp Create Cube などのプログラムファイル
    BasicShapes.h Create Cube などのヘッダーファイル
    BasicMath.h 関連するヘッダーファイル
    DirectXSample.h 関連するヘッダーファイル
  3. Model.cpp の修正です。
    #include を追加します。
    #include "BasicReaderWriter.h"
    #include "BasicShapes.h"
    
  4. 立方体は CreateCube() で生成します。
    従って、頂点座標の定義や頂点 Index 定義は全て不要になります。
    テクスチャ関係はそのまま残して下さい。
        BasicShapes^ shapes = ref new BasicShapes(m_d3dDevice.Get());
    
        shapes->CreateCube(
            &m_vertexBuffer, &m_indexBuffer, nullptr, &m_indexCount);
    
  5. プロジェクを起動すると立方体にテクスチャを貼り付けたモデルが回転しながら描画されます。
    説明が足りない所は Lesson4 TextureLesson5 Components を参照して下さい。
  6. BasicShapes.h(BasicShapes.cpp) のファイルを開いてみて下さい。
    CreateCube() 以外にも幾つかの関数が定義されています。
    これらの関数を試してみて下さい。

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