D3DHAL_DP2CREATEQUERY 構造体 (d3dhal.h)
DirectX 9.0 以降のバージョンのみ。
D3DHAL_DP2COMMAND構造体の bCommand メンバーが D3DDP2OP_CREATEQUERY に設定され、クエリのリソースを作成するために使用される場合、1 つ以上のD3DHAL_DP2CREATEQUERY構造体が D3dDrawPrimitives2 コールバックによってコマンド バッファーから解析されます。
構文
typedef struct _D3DHAL_DP2CREATEQUERY {
DWORD dwQueryID;
D3DQUERYTYPE QueryType;
} D3DHAL_DP2CREATEQUERY;
メンバー
dwQueryID
クエリを識別します。
QueryType
ドライバーがリソースを作成するクエリ機能を示すD3DQUERYTYPE列挙からの値を指定します。
注釈
ランタイムは、D3DHAL_DP2CREATEQUERYを使用して、一意の識別子とクエリの種類を持つ各クエリを識別します。 ドライバーの D3dDrawPrimitives2 コールバックは、コマンド バッファーから wPrimitiveCount D3DHAL_DP2CREATEQUERY構造体を処理する必要があります。 wPrimitiveCount の値は、D3DHAL_DP2COMMAND構造体で指定されます。 ドライバーは、これらの構造体を解析し、必要に応じて表すクエリのリソースを作成します。
ドライバーは、次のクエリの種類のリソースを作成します。
- D3DQUERYTYPE_EVENTの BOOL。 イベントのD3DDP2OP_RESPONSEQUERYで応答する前に、ドライバーは、グラフィックス処理装置 (GPU) がイベントに関連するすべての D3DHAL_DP2OPERATION 操作の処理を完了していることを確認する必要があります。 つまり、ドライバーは、イベントのISSUE_END状態が発生した後にのみ応答します。 ドライバーは、応答時に常にイベントの BOOL 値を TRUE に設定する必要があります。
- DWORD for D3DQUERYTYPE_OCCLUSION。 ドライバーは、この DWORD を、クエリの開始と終了の間のすべてのプリミティブに対して z テストが合格したピクセル数に設定します。 深度バッファーがマルチサンプリングされている場合、ドライバーはサンプルの数からピクセル数を決定します。 ただし、ディスプレイ デバイスがマルチサンプリング z テスト精度に対応している場合は、通常、ピクセル数への変換を切り上げる必要があります。 その後、アプリケーションは 0 に対してオクルージョン結果をチェックして、実質的に "完全に隠された" を意味します。 マルチサンプリングされた数量をピクセル数量に変換するドライバーは、レンダー ターゲットのマルチサンプリングの変更を検出し、引き続きクエリ結果を適切に計算する必要があります。
要件
要件 | 値 |
---|---|
Header | d3dhal.h (D3dhal.h を含む) |
こちらもご覧ください
D3DDP2OP_CREATEQUERY