Microsoft DirectX 8.0 (Visual Basic)

頂点の宣言の設定

ベクトル トゥイーニングを使用するには、最初に、2 番目の法線または 2 番目の位置座標を使用するカスタム頂点タイプを設定しなければならない。次のコードは、2 番目の法線と 2 番目の位置座標の両方を含む宣言の例を示している。

Private Type TEX_VERTEX
    Position As D3DVECTOR
    Normal As D3DVECTOR
    Position2 As D3DVECTOR
    Normal2 As D3DVECTOR
};

' タイプが TEX_VERTEX の頂点バッファを作成する。

次の手順は、現在の宣言を設定することである。次のサンプル コードは、この設定方法を示している。

Dim decl(5) As Long

decl(0) = D3DVSD_STREAM(0)
decl(1) = D3DVSD_REG( D3DVSDE_POSITION, D3DVSDT_FLOAT3 ) '位置座標 1
decl(2) = D3DVSD_REG( D3DVSDE_NORMAL, D3DVSDT_FLOAT3 )   '法線 1
decl(3) = D3DVSD_REG( D3DVSDE_POSITION2, D3DVSDT_FLOAT3) '位置座標 2
decl(4) = D3DVSD_REG( D3DVSDE_NORMAL2, D3DVSDT_FLOAT3 )  '法線 2
decl(5) = D3DVSD_END()

カスタム頂点タイプと頂点バッファの作成の詳細については、「頂点バッファの作成」を参照すること。

頂点シェーダの宣言の作成の詳細については、「頂点シェーダ宣言」を参照すること。

  頂点トゥイーニングが有効になっている場合、2 番目の位置座標または 2 番目の法線は現在の宣言の中に存在しなければならない。