Microsoft DirectX 8.0 (Visual Basic)

Direct3DDevice8.DrawPrimitiveUP

ユーザー メモリ ポインタで指定されたデータを、指定されたタイプのジオメトリ プリミティブのシーケンスとしてレンダリングする。

object.DrawPrimitiveUP( _ 
    PrimitiveType As CONST_D3DPRIMITIVETYPE, _ 
    PrimitiveCount As Long, _ 
    VertexStreamZeroDataArray As Any, _ 
    VertexStreamZeroStride As Long)

指定項目

object
Direct3DDevice8 オブジェクトを表すオブジェクト式。
PrimitiveType
レンダリングするプリミティブの種類を記述する CONST_D3DPRIMITIVETYPE 列挙のメンバ。
PrimitiveCount
レンダリングするプリミティブの数。プリミティブの許容最大数は、D3DCAPS8 構造体の MaxPrimitiveCount メンバをチェックして決定される。
VertexStreamZeroDataArray
頂点ストリームをゼロにするために使用する頂点データを含むユーザー メモリの配列の先頭要素。
VertexStreamZeroStride
各頂点に対するデータの間のストライド (バイト単位)。「注意」を参照すること。

エラー コード

失敗した場合はエラーが発生し、Err.NumberD3DERR_INVALIDCALL が設定される。

エラー トラッピングの詳細については、Microsoft® Visual Basic® の「エラー処理」を参照すること。

注意

このメソッドは、頂点データを頂点バッファに格納できないアプリケーションで使用する。このメソッドは単一の頂点ストリームのみをサポートする。この呼び出しは、頂点ストリームに提供された頂点データのポインタとストライドをゼロにする。ストリーム ゼロ以外の頂点ストリームを参照するカレント頂点シェーダを宣言することはできない (or を宣言するとエラーとなる)。

次のコードは、Visual Basic の Len 関数を使って VertexStreamZeroStride を決定する方法である。

Dim device As Direct3DDevice8
Dim verts(3) As D3DVERTEX

device.DrawPrimitiveUP D3DPT_TRIANGLELIST, 1, verts(0), Len(vert(0))

頂点データが格納されている配列の先頭要素だけを渡すことに注意する。

DrawPrimitiveUP を呼び出した後、Direct3DDevice8.GetStreamSource で参照されるストリーム ゼロの設定には、ByVal 0 が設定される。

参照

Direct3DDevice8.DrawIndexedPrimitiveUPDirect3DDevice8.SetStreamSourceプリミティブのレンダリング