Microsoft DirectX 8.0 (Visual Basic)

頂点バッファからのレンダリング

頂点バッファから頂点データをレンダリングするには、いくつかのステップが必要である。まず、Direct3DDevice8.SetStreamSource メソッドを呼び出して、ストリーム ソースを設定する必要がある。次のコードに例を示す。

Call m_D3Device.SetStreamSource(0, VB, len(CUSTOMVERTEX))

SetStreamSource の第 1 パラメータは、Direct3D にデバイス データ ストリームのソースを知らせる。第 2 パラメータは、データ ストリームにバインドする頂点バッファである。第 3 パラメータは、成分のサイズをバイト単位で指定する。上のサンプル コードでは、CUSTOMVERTEX のサイズが成分のサイズに使用される。

次のステップでは、Direct3DDevice8.SetVertexShader メソッドを呼び出して、使用する頂点シェーダを Direct3D に知らせる。次のサンプル コードでは、FVF コードを頂点シェーダに設定している。これにより、処理する頂点のタイプを Direct3D に知らせる。

Call m_D3DDevice.SetVertexShader(D3DFVF_CUSTOMVERTEX)

ストリーム ソースおよび頂点シェーダを設定した後、描画メソッドで頂点バッファを使用する。次のコードは、Direct3DDevice8.DrawPrimitive メソッドを使用して、頂点バッファから頂点をレンダリングする方法を示している。

Call m_D3DDevice.DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1)

DrawPrimitive が受け取る第 2 パラメータは、ロードする頂点バッファにある最初のベクトルのインデックスである。