次の方法で共有


D3DHAL_DP2SETSTREAMSOURCE構造体 (d3dhal.h)

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

D3DHAL_DP2SETSTREAMSOURCE構造体は、D3dDrawPrimitives2 の頂点バッファー頂点ストリーム ソースをバインドするために使用されます。

構文

typedef struct _D3DHAL_DP2SETSTREAMSOURCE {
  DWORD dwStream;
  DWORD dwVBHandle;
  DWORD dwStride;
} D3DHAL_DP2SETSTREAMSOURCE;

メンバーズ

dwStream

バインドされるストリームを指定します。 0 からドライバーで指定されたストリームの最大数までの値があります。

dwVBHandle

頂点バッファー ハンドルを指定します。 頂点バッファー ハンドルを 0 にすることは有効です。その場合、ストリームは頂点バッファーにバインドされなくなります。

dwStride

頂点サイズをバイト単位で指定します。

備考

ドライバーは、新しい DP2 トークン (D3DDP2OP_SETSTREAMSOURCE) を介して、頂点バッファーの特定のストリームへのバインドを通知します。

デバッグ ランタイムは、dwStream が有効範囲内にあることを検証しますが、リテール バージョンは無効であるため、検証はドライバーに存在する必要があります。 DirectX 8.0 では、指定されたストリーム インデックスがハードウェアでサポートされている最大ストリーム (D3DCAPS8 で MaxStreams を介して報告される) よりも大きい場合、ドライバーまたはハードウェアの動作は定義されません。この場合、ドライバーとハードウェアの組み合わせが障害またはハングしないようにする必要があります。 正しい状態の復元時に、ドライバーとハードウェアの組み合わせは正常に動作し続ける必要があります。 ディスプレイ ドライバーのデバッグ バージョンでは、この問題が検出されたタイミングを示すメッセージをデバッグ出力ストリームに表示する必要があります。

ランタイムは、現在の頂点シェーダーによってアクセスされるストリームが NULL 以外であることを検証しません。 このエラー ケースが発生したときにドライバー/ハードウェアがクラッシュしないようにするのは、ドライバー ライターの責任です。 ディスプレイ ドライバーのデバッグ バージョンでは、この問題が検出されたタイミングを示すメッセージをデバッグ出力ストリームに表示する必要があります。

D3DHAL_DP2COMMAND 構造体によって設定されるストリーム ソースは 1 つだけです。 つまり、D3DHAL_DP2COMMANDの wStateCount フィールドは、bCommand がD3DDP2OP_SETSTREAMSOURCEされている場合は常に 1 つです。

必要条件

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

関連項目

D3DDP2OP_SETSTREAMSOURCE

D3DHAL_DP2COMMAND

D3DHAL_DP2SETSTREAMSOURCEUM

D3dDrawPrimitives2