Platform SDK: DirectX

トランスフォームの設定

[C++]

C++ では、IDirect3DDevice7::SetTransform メソッドを呼び出してトランスフォームを適用する。たとえば、ビュー トランスフォームを設定するには、次のようなコードを使用する。

    HRESULT hr
    D3DMATRIX  view;
     
// ビュー行列にデータを設定する。
     
    hr = lpDev->SetTransform(D3DTRANSFORMSTATE_VIEW, &view);
 
if(FAILED(hr)){
// エラー処理コード
    }

IDirect3DDevice7::SetTransform を呼び出す場合、第 1 パラメータに設定できる値はいくつかあるが、一般には D3DTRANSFORMSTATE_WORLD、D3DTRANSFORMSTATE_VIEW、および D3DTRANSFORMSTATE_PROJECTION を設定する。これらのトランスフォーム ステートは、D3DTRANSFORMSTATETYPE 列挙型に定義されている。また、この列挙には、テクスチャ座標に適用するトランスフォームを設定する D3DTRANSFORMSTATE_TEXTURE1 〜 D3DTRANSFORMSTATE_TEXTURE7 ステートも定義されている。

[Visual Basic]

Visual Basic では、Direct3DDevice7.SetTransform メソッドを呼び出してトランスフォームを適用する。たとえば、ビュー トランスフォームを設定するには、次のようなコードを使用する。

On Local Error Resume Next
Dim view As D3DMATRIX
     
' ビュー行列にデータを設定する。
Call d3dDev.SetTransform(D3DTRANSFORMSTATE_VIEW, view)
 
If Err.Number <> DD_OK Then
' エラー処理コード
End If

Direct3DDevice7.SetTransform を呼び出す場合、第 1 パラメータに設定できる値はいくつかあるが、一般には D3DTRANSFORMSTATE_WORLD、D3DTRANSFORMSTATE_VIEW、および D3DTRANSFORMSTATE_PROJECTION を設定する。これらのトランスフォーム ステートは、CONST_D3DTRANSFORMSTATETYPE 列挙に定義されている。また、この列挙には、テクスチャ座標に適用するトランスフォームを設定する D3DTRANSFORMSTATE_TEXTURE1 〜 D3DTRANSFORMSTATE_TEXTURE7 ステートも定義されている。