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 パラメータは、ロードする頂点バッファにある最初のベクトルのインデックスである。