Platform SDK: DirectX |
その他の複合サーフェスと同様、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) ) { // エラー処理コード }
その他の複合サーフェスと同様、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