Win10 4 Men

Windows10 DirectX3D で4面体の座標を定義して描画します。

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

4面体の描画

  1. DirectX3D で自動生成されるのはカラーキューブ(立方体)ですが、今回は4面体を定義して描画します。
    立体モデルの中で最もシンプルなのが4面体で、頂点の数は4個だけです。
    Visual Studio 2015 を起動して DirectX 11 アプリ(ユニバーサル Windows)を構築して下さい。
    コンパイル&実行するとカラーキューブが回転しながら描画されます。
    プロジェクトの名前は App1 になっています。
    詳細は Win10 Template を参照して下さい。
  2. Sample3DSceneRenderer.cpp の CreateWindowSizeDependentResources() 関数で、モデルに合わせてカメラを設定します。
    カメラを引いて、モデルを小さく描画します。
    【修正前】
        static const XMVECTORF32 eye = { 0.0f, 0.7f, 1.5f, 0.0f };
    
    【修正後】
        static const XMVECTORF32 eye = { 0.0f, 0.7f, 3.0f, 0.0f };
    
  3. Sample3DSceneRenderer.cpp の CreateDeviceDependentResources() でモデルが定義されています。
    cubeVertices[] の頂点データの定義を修正します。
    4面体の頂点の数は4個で、4個の3角形で構成されます。
        static const VertexPositionColor cubeVertices[] = 
        {
            { XMFLOAT3(0.0f, 1.22474f, 0.0f), XMFLOAT3(1.0f, 1.0f, 1.0f) },
            { XMFLOAT3(0.0f, -0.40825f, -1.1547f), XMFLOAT3(1.0f, 0.0f, 0.0f) },
            { XMFLOAT3(-1.0f, -0.40825f, 0.57735f), XMFLOAT3(0.0f, 1.0f, 0.0f) },
            { XMFLOAT3(1.0f, -0.40825f, 0.57735f), XMFLOAT3(0.0f, 0.0f, 1.0f) },
        };
    
  4. 頂点 Index の定義です。
    頂点データを組み合わせて4個の三角形で4面体を構成します。
        static const unsigned short cubeIndices [] =
        {
            0,1,3,
            0,2,1,
            0,3,2,
            1,2,3,
        };
    
  5. コンパイル&実行するとモデルが回転しながら描画されます。
    定義したデータは「頂点座標+カラー」で構成されるモデルなので Shader 関係はそのまま使えます。

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