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 つだけです。 つまり、bCommand がD3DDP2OP_SETSTREAMSOURCE場合、D3DHAL_DP2COMMANDの wStateCount フィールドは常に 1 になります。

要件

要件
Header d3dhal.h (D3dhal.h を含む)

こちらもご覧ください

D3DDP2OP_SETSTREAMSOURCE

D3DHAL_DP2COMMAND

D3DHAL_DP2SETSTREAMSOURCEUM

D3dDrawPrimitives2