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 |