DDSCAPS2 構造体 (ddraw.h)

DDSCAPS2 構造体は、Microsoft DirectDraw サーフェス オブジェクトの追加機能を定義します。

構文

typedef struct _DDSCAPS2 {
  DWORD dwCaps;
  DWORD dwCaps2;
  DWORD dwCaps3;
  union {
    DWORD dwCaps4;
    DWORD dwVolumeDepth;
  } DUMMYUNIONNAMEN;
} DDSCAPS2;

メンバー

dwCaps

サーフェスの機能を表すフラグのセットを指定します。 このメンバーのフラグは、 DDSCAPS 構造体の対応するメンバーのフラグと同じです。

dwCaps2

追加のサーフェス機能を示すフラグのセットを指定します。 このメンバーには、次の機能フラグの 1 つ以上を含めることができます。 これらの各フラグは、DDSCAPS2_TEXTUREMANAGEを除き、アプリケーションが CreateSurface メソッドを呼び出すときにアプリケーションによって設定されます。

フラグ 説明

DDSCAPS2_ADDITIONALPRIMARY

Microsoft DirectX 9.0 以降のバージョンのみ。

マルチヘッド カードの下位ヘッドが、このビット セットを持つ下位ヘッドに対してサーフェスが作成された後、ビデオ メモリを制御できなくなることを示します。 このようなサーフェスが破棄されると、下位ヘッドはメモリの制御を回復します。 詳細については、「 Multiple-Head メモリの管理」を参照してください。

DDSCAPS2_COMMANDBUFFER

コマンド をバッチ処理するために Microsoft Direct3D によって使用されるコマンド バッファーをマークします。

DDSCAPS2_CUBEMAP

このサーフェスは立方環境マップです。 このフラグを使用する場合は、作成する立方環境マップの顔も指定します。

DDSCAPS2_CUBEMAP_POSITIVEX

このフラグは、立方環境マップの正の X 面を作成するために、DDSCAPS2_CUBEMAP フラグと共に使用されます。

DDSCAPS2_CUBEMAP_NEGATIVEX

このフラグは、立方環境マップの負の X 面を作成するために、DDSCAPS2_CUBEMAP フラグと共に使用されます。

DDSCAPS2_CUBEMAP_POSITIVEY

このフラグは、立方環境マップの正の Y 面を作成するために、DDSCAPS2_CUBEMAP フラグと共に使用されます。

DDSCAPS2_CUBEMAP_NEGATIVEY

このフラグは、立方環境マップの負の Y 面を作成するために、DDSCAPS2_CUBEMAP フラグと共に使用されます。

DDSCAPS2_CUBEMAP_POSITIVEZ

このフラグは、立方環境マップの正の Z 面を作成するために、DDSCAPS2_CUBEMAP フラグと共に使用されます。

DDSCAPS2_CUBEMAP_NEGATIVEZ

このフラグは、立方環境マップの負の Z 面を作成するために、DDSCAPS2_CUBEMAP フラグと共に使用されます。

DDSCAPS2_CUBEMAP_ALLFACES

このフラグは、立方環境マップの 6 つの顔すべてを作成するために、DDSCAPS2_CUBEMAP フラグと共に使用されます。

DDSCAPS2_D3DTEXTUREMANAGE

テクスチャは常に Direct3D によって管理されます。

DDSCAPS2_DISCARDBACKBUFFER

DirectX 8.0 以降のバージョンのみ。

バック バッファーの保持が不要であることを示します。 アプリケーションが Present API でD3DSWAPEFFECT_DISCARDを設定している場合は、プライマリ サーフェスとバック バッファーに設定されます。 DirectX 9.0 以降のバージョンのみ。 深度ステンシル サーフェスの保存が不要であることを示します。

DDSCAPS2_DONOTPERSIST

管理されたサーフェスは安全に失われる可能性があります。

DDSCAPS2_ENABLEALPHACHANNEL

DirectX 8.1 以降のバージョンのみ。

プライマリ 反転チェーンの一部であるサーフェス、またはスタンドアロン のバック バッファー上にあるサーフェスを作成することを示します。 このフラグはアルファ チャネルをオンにします。 詳細については、「 Full-Screen バック バッファーでのアルファ チャネルの有効化」を参照してください。

DDSCAPS2_EXTENDEDFORMATPRIMARY

DirectX 9.0 以降のバージョンのみ。

非標準表示モードで使用するダミーのプライマリ サーフェスを作成することを示します。 詳細については、「 標準モードと非標準モードの切り替え」を参照してください。

DDSCAPS2_HARDWAREDEINTERLACE

ドライバーは、インターレースされた信号をプログレッシブ フレームに変換する必要があります。 この構造体のDDSCAPS_VIDEOPORTフラグとDDSCAPS_OVERLAY フラグも設定する必要があります。

DDSCAPS2_HINTANTIALIASING

アプリケーションではアンチエイリアシングが使用されます。 このフラグは、DDSCAPS_3DDEVICE フラグも設定されている場合にのみ有効です。

DDSCAPS2_HINTDYNAMIC

アプリケーションは頻繁にサーフェスを更新します。 このフラグが設定されたサーフェスには、この構造体セットにDDSCAPS_TEXTURE フラグも含まれている必要があります。 このフラグは、DDSCAPS2_HINTSTATICフラグまたはDDSCAPS2_OPAQUE フラグでは使用できません。

DDSCAPS2_HINTSTATIC

アプリケーションはサーフェスを更新する頻度は低くなりますが、引き続きアクセスが必要です。 このフラグが設定されたサーフェスには、この構造体セットにDDSCAPS_TEXTURE フラグも含まれている必要があります。 このフラグは、DDSCAPS2_HINTDYNAMICフラグまたはDDSCAPS2_OPAQUE フラグでは使用できません。

DDSCAPS2_INDEXBUFFER

DirectX 8.0 以降のバージョンのみ。

アプリケーションによって作成および制御されるインデックス バッファーをマークします。

DDSCAPS2_MIPMAPSUBLEVEL

これにより、ルート サーフェスに複数のミップマップ サーフェスがアタッチされているキューブ マップなどのサーフェス コンストラクトに対して、EnumAttachedSurfaces ではなく GetAttachedSurface を簡単に使用できます。 これは、 GetAttachedSurface の呼び出しでトップレベルの顔とアタッチされたミップマップ レベルを区別できるように、mipmapped キューブ マップ内のすべての非トップレベル サーフェスに設定する必要があります。 この機能ビットは 、CreateSurface では無視されます。

DDSCAPS2_NOTUSERLOCKABLE

DirectX 8.0 以降のバージョンのみ。

反転チェーンがロックできない場合はプライマリ バッファーとバック バッファーに設定され、ロックできないレンダー ターゲットでは 設定されます。 これにより、ドライバーはバックグラウンドで最適化を行うことができます。 ドライバーがこのような場合を処理する必要がありますが、このようなロックは頻度が低く、高速であるとは思われないので、サーフェスをロックすることは可能であることに注意してください。 ドライバーは、このフラグが存在することによって深度/ステンシル バッファーがロック可能かどうかを判断することもできます。

DDSCAPS2_NPATCHES

DirectX 8.0 以降のバージョンのみ。

頂点バッファー データを使用して n パッチをレンダリングできることを示します。

DDSCAPS2_OPAQUE

アプリケーションは、そのサーフェスの残りの有効期間にわたって、サーフェスをロック、blit、または更新することはありません。 ドライバーは、サーフェスを圧縮解除することなく、サーフェスを圧縮または並べ替えることができます。 このフラグが設定されたサーフェスには、この構造体セットにDDSCAPS_TEXTURE フラグも含まれている必要があります。 このフラグは、DDSCAPS2_HINTDYNAMICフラグまたはDDSCAPS2_HINTSTATICフラグでは使用できません。

DDSCAPS2_POINTS

DirectX 8.0 以降のバージョンのみ。

頂点バッファー データを使用してポイントとポイント スプライトをレンダリングできることを示します。

DDSCAPS2_RTPATCHES

DirectX 8.0 以降のバージョンのみ。

頂点バッファー データを使用して rt パッチをレンダリングできることを示します。

DDSCAPS2_STEREOSURFACELEFT

このサーフェスは、ステレオ 反転チェーンの一部です。 CreateSurface 呼び出し中にこのフラグを設定すると、プライマリ 反転チェーン内のバッファーごとにステレオ サーフェスのペアが作成されます。 複雑な反転チェーン (バック バッファー付き) を作成する必要があります。 ステレオ サーフェスのセットを 1 つ作成することはできません。 Flip メソッドにはバック バッファーが必要であるため、少なくとも 4 つのサーフェスを作成する必要があります。

さらに、EnumDisplayModes または GetDisplayMode 呼び出しの結果として DDSURFACEDESC 構造体でこのフラグが設定されている場合は、そのモードでのステレオのサポートを示します。

DDSCAPS2_TEXTUREMANAGE

クライアントは、可能であれば、このテクスチャ サーフェイスをドライバーによって管理する必要があることを示します。それ以外の場合は、Direct3D イミディエイト モードで管理されます。 このフラグは、テクスチャ サーフェス ( dwCaps メンバーに設定DDSCAPS_TEXTUREフラグ) にのみ使用できます。 詳細については、Direct3D イミディエイト モードのドキュメントの「自動テクスチャ管理」を参照してください。

DDSCAPS2_VERTEXBUFFER

アプリケーションによって作成および制御される明示的な頂点バッファーをマークします。

DDSCAPS2_VOLUME

DirectX 8.0 以降のバージョンのみ。

このフラグは、テクスチャの幅と高さに加えて奥行きがある場合に設定されます。

dwCaps3

DirectX 8.0 および DirectX 8.1 バージョンのみ。

マルチサンプリングサーフェスのサンプル数を指定します。 このフィールドには、列挙型D3DMULTISAMPLE_TYPEのいずれかの値が保持されます。 サーフェスがマルチサンプリングされていない場合、 dwCaps3 の値は D3DMULTISAMPLE_NONE (0) になります。

DirectX 9.0 以降のバージョンのみ。

追加のサーフェス機能を示す一連のビットを指定します。 このメンバーには、次のビットのビットごとの OR を指定できます。

Bits 説明

DDSCAPS3_MULTISAMPLE_MASK マスク内のビット (0x0000001FL)。

dwCaps3 の最初の 5 ビットは、複数サンプリングされたサーフェスのサンプルの数を示します。 サンプルの数は、列挙型D3DMULTISAMPLE_TYPEのいずれかの値を使用して指定できます。 サーフェスがマルチサンプリングされていない場合、この値は D3DMULTISAMPLE_NONE (0) になります。

DDSCAPS3_MULTISAMPLE_QUALITY_MASK マスク内のビット (0x000000E0L)。

dwCaps3 の次の 3 ビットは、複数サンプリングされたサーフェスでのレンダリング サンプルの品質レベルを示します。 品質レベルは、それぞれ 1 から 8 までの品質レベルを表す 0 ~ 7 の数値である必要があります。 サーフェスがマルチサンプリングされていない場合 (D3DMULTISAMPLE_NONEを使用して最初の 5 ビットで指定) 場合でも、1 より大きい品質レベル (0 より大きい数値を使用して指定) を持つことができます。

DDSCAPS3_RESERVED1 (0x00000100L)

予約済み

DDSCAPS3_VIDEO (0x00000200L)

レンダー ターゲットにビデオ データが含まれていることを示します。 このフラグを使用して複数のレンダー ターゲットを作成できることに注意してください。これらのレンダー ターゲットの 2 つ以上が同じ Direct3D コンテキストに属している場合、ドライバーは、レンダー ターゲット サーフェスが互いにアタッチされているかどうかに関係なく、これらのレンダー ターゲットがすべて同じビデオ ストリームを表示すると判断します。

DDSCAPS3_LIGHTWEIGHTMIPMAP (0x00000400L)

このサーフェスに軽量ミップ レベルがあるかどうかを示します

DDSCAPS3_AUTOGENMIPMAP (0x00000800L)

このサーフェスのミップ サブレベルが自動的に生成されることを示します。

DDSCAPS3_DMAP (0x00001000L)

テセレーション ユニットのディスプレイスメント マップ サンプラーでサンプリングできるディスプレイスメント マップ テクスチャを示します。

DUMMYUNIONNAMEN

該当なし

DUMMYUNIONNAMEN.dwCaps4

低い単語は、ボリューム テクスチャの深さです。

DUMMYUNIONNAMEN.dwVolumeDepth

ボリューム テクスチャのビット深度を指定します。

解説

この構造体は、ドライバーがサポートするサーフェスの種類を報告するためにドライバーによって使用されます。 また、作成するサーフェスの種類を指定するために、アプリケーションによって入力されます。

要件

   
Header ddraw.h