Platform SDK: DirectX

キューブ環境マップ サーフェスへのアクセス

[C++]

その他の複合サーフェスと同様、IDirectDrawSurface7::GetAttachedSurface メソッドを使用してキューブ環境マップのサーフェスからサーフェスに移動できる。GetAttachedSurface メソッドは、このメソッドで取得する必要があるアタッチされたサーフェスを記述する DDSCAPS2 構造体へのポインタを受け取る。dwCaps2 メンバに、"DDSCAPS2_CUBEMAP_" で始まるフラグのいずれかを DDSCAPS2_CUBEMAP フラグと組み合わせて設定して、対応するサーフェスを取得する。

次のコードは、正方向の y 面 (サーフェス 2) のキューブ マップ サーフェスを取得する。

// この例では、キューブ マップが最初に作成されたときに CreateSurface が返すサーフェスへの
// 有効なポインタが
// pddsMainFace 変数に格納されている。
LPDIRECTDRAWSURFACE7 pddsFace2;

DDSCAPS2 ddsCaps;
ddsCaps.dwCaps2 = DDSCAPS2_CUBEMAP_POSITIVEY | DDSCAPS2_CUBEMAP;

HRESULT hr;
hr = pddsMainFace->GetAttachedSurface( &ddsCaps,
&pddsFace2);

if( FAILED(hr) )
{
// エラー処理コード
}
[Visual Basic]

その他の複合サーフェスと同様、DirectDrawSurface7.GetAttachedSurface メソッドを使用してキューブ環境マップのサーフェスからサーフェスに移動できる。GetAttachedSurface メソッドは、このメソッドで取得する必要があるアタッチされたサーフェスを記述する DDSCAPS2 型を受け取る。lCaps2 メンバに、"DDSCAPS2_CUBEMAP_" で始まる、CONST_DDSURFACECAPS2FLAGS 列挙からのフラグのいずれかを DDSCAPS2_CUBEMAP フラグと組み合わせて指定して、対応するサーフェスを取得する。

次のコードは、正方向の y 面 (サーフェス 2) のキューブ マップ サーフェスを取得する。

' この例では、キューブ マップが最初に作成されたときに CreateSurface が返すサーフェスへの
' 有効な参照が
' ddsMainFace 変数に格納されている。
Dim ddsFace2 As DirectDrawSurface7
Dim ddsCaps As DDSCAPS2

ddsCaps.lCaps2 = DDSCAPS2_CUBEMAP_POSITIVEY Or DDSCAPS2_CUBEMAP

Set ddsFace2 = ddsMainFace.GetAttachedSurface(ddsCaps)

If Err.Number <> DD_OK Then
' エラー処理コード
End If