Microsoft DirectX 8.0 (Visual Basic) |
ユーザー メモリ ポインタで指定されたデータを、指定されたタイプのジオメトリ プリミティブのシーケンスとしてレンダリングする。
object.DrawPrimitiveUP( _ PrimitiveType As CONST_D3DPRIMITIVETYPE, _ PrimitiveCount As Long, _ VertexStreamZeroDataArray As Any, _ VertexStreamZeroStride As Long)
失敗した場合はエラーが発生し、Err.Number に D3DERR_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.DrawIndexedPrimitiveUP、Direct3DDevice8.SetStreamSource、プリミティブのレンダリング