Platform SDK: DirectX

Direct3DX を使用して Direct3D と DirectDraw にアクセスする

コンテキスト オブジェクトを取得すれば、カプセル化されたオブジェクトにアクセスできる。

IDirect3DDevice7 インターフェイスへのポインタを取得するには、ID3DXContext::GetD3DDevice メソッドを使用する。

    m_pd3dDevice = g_pd3dx->GetD3DDevice();
    if (m_pd3dDevice == NULL)
        return E_FAIL;

IDirect3D7 インターフェイスへのポインタを取得するには、ID3DXContext::GetD3D メソッドを使用する。

    m_pd3d = g_pd3dx->GetD3D();
    if (m_pd3d == NULL)
        return E_FAIL;

IDirectDraw7 インターフェイスへのポインタを取得するには、ID3DXContext::GetDD メソッドを使用する。

    m_pdd = g_pd3dx->GetDD();
    if (m_pdd == NULL)
        return E_FAIL;

このように取得したインターフェイスは、アプリケーションで使用できる。たとえば、次のコードでは取得した IDirect3DDevice7 インターフェイスへのポインタ m_pd3dDevice を使用して、ディザリング、スペキュラ エフェクト、ライティング、z バッファ使用を有効にしている。

    hr = m_pd3dDevice->SetRenderState(D3DRENDERSTATE_DITHERENABLE, TRUE);
 
    hr = m_pd3dDevice->SetRenderState(D3DRENDERSTATE_SPECULARENABLE, TRUE);
 
    hr = m_pd3dDevice->SetRenderState(D3DRENDERSTATE_LIGHTING, TRUE);
 
    hr = m_pd3dDevice->SetRenderState(D3DRENDERSTATE_ZENABLE, TRUE);