Platform SDK: DirectX

IDirect3DVertexBuffer7::ProcessVerticesStrided

IDirect3DVertexBuffer::ProcessVerticesStrided メソッドは、未トランスフォームの頂点をトランスフォーム済みまたは最適化済み頂点バッファにする。

HRESULT ProcessVerticesStrided( 
  DWORD dwVertexOp, 
  DWORD dwDestIndex, 
  DWORD dwCount, 
  LPD3DDRAWPRIMITIVESTRIDEDDATA lpStrideData, 
  DWORD dwVertexTypeDesc, 
  LPDIRECT3DDEVICE7 lpD3DDevice, 
  DWORD dwFlags
);

パラメータ

dwVertexOp
元のバッファから転送された頂点をメソッドが処理する方法を定義するフラグ。次のフラグの任意の組み合わせを指定することができる。
D3DVOP_CLIP
頂点をトランスフォームし、視錐台の外側に出るあらゆる頂点をクリップする。このフラグは、(D3DDP_DONOTCLIP フラグで作成されたなどの) クリッピング情報を含まない頂点バッファには使用できない。
D3DVOP_EXTENTS
頂点をトランスフォームし、頂点がレンダリングされたら、スクリーン矩形の範囲を更新する。このフラグを使用すると潜在的にパフォーマンスが向上する可能性があるが、IDirect3DDevice7::GetClipStatus が返す範囲に対して、頂点のレンダリングの際にその頂点を考慮した更新が行われない。
D3DVOP_LIGHT
頂点をライティングする。
D3DVOP_TRANSFORM
ワールド行列、ビュー行列、射影行列を使って頂点をトランスフォームする。このフラグは常に設定する必要がある。
dwDestIndex
処理の後、頂点の配置先となる頂点バッファ (このバッファ) へのインデックス。
dwCount
元のバッファにある、処理する頂点の数。
lpStrideData
このプリミティブの頂点成分のポインタおよびメモリ ストライドを格納する D3DDRAWPRIMITIVESTRIDEDDATA 構造体のアドレス。
dwVertexTypeDesc
頂点フォーマットを記述する柔軟な頂点フォーマット フラグの組み合わせ。
lpD3DDevice
頂点のトランスフォームに使用するデバイスの IDirect3DDevice7 インターフェイスのアドレス。
dwFlags
処理オプション。デフォルト処理に対してはこのパラメータを 0 に設定する。D3DPV_DONOTCOPYDATA に設定すると、現在の頂点の処理に無関係な頂点データをコピー先バッファにコピーするのを防ぐことができる。詳細については、「頂点の処理」を参照すること。

戻り値

成功すれば D3D_OK を返す。

失敗すれば、次のいずれかの値を返す。

D3DERR_INVALIDVERTEXFORMAT
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_OUTOFMEMORY
DDERR_SURFACEBUSY
DDERR_SURFACELOST

注意

dwVertexOp パラメータには常に D3DVOP_TRANSFORM フラグを含めること。このフラグを含めていないと、メソッドが失敗し、DDERR_INVALIDPARAMS を返す。

このメソッドは、IDirect3DVertexBuffer7 インターフェイスと共に導入された。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン :DirectX 7.0 が必要。
  ヘッダー : d3d.h で宣言。

参照

IDirect3DVertexBuffer7::ProcessVertices頂点の処理頂点バッファ