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 番目の法線は現在の宣言の中に存在しなければならない。