次の方法で共有


D3DHAL_DP2CREATEQUERY構造体 (d3dhal.h)

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

D3DHAL_DP2COMMAND 構造体の bCommand メンバーがD3DDP2OP_CREATEQUERYに設定され、クエリのリソースを作成するために使用される場合、D3dDrawPrimitives2 コールバックによって 1 つ以上のD3DHAL_DP2CREATEQUERY構造体がコマンド バッファーから解析されます。

構文

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 設定する必要があります。
  • D3DQUERYTYPE_OCCLUSIONの DWORD。 ドライバーは、この DWORD を、クエリの開始と終了の間のすべてのプリミティブに対して z テストが成功したピクセル数に設定します。 深度バッファーがマルチサンプリングの場合、ドライバーはサンプルの数からピクセル数を決定します。 ただし、ディスプレイ デバイスがマルチサンプル z テスト精度に対応している場合は、通常、ピクセル数への変換を切り上げる必要があります。 その後、アプリケーションはオクルージョンの結果を 0 に対してチェックし、実質的に "完全に隠された" を意味します。 マルチサンプリングされた数量をピクセル数量に変換するドライバーは、レンダー ターゲットのマルチサンプリングの変更を検出し、引き続きクエリ結果を適切に計算する必要があります。
  • D3DQUERYTYPE_VCACHEの構造を D3DDEVINFO_VCACHE します。

必要条件

要件 価値
ヘッダー d3dhal.h (D3dhal.h を含む)

関連項目

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2DELETEQUERY

D3dDrawPrimitives2