次の方法で共有


ストリーム ソースの設定 (Direct3D 9)

IDirect3DDevice9::SetStreamSource メソッドは、頂点バッファーをデバイス データ ストリームにバインドし、頂点データとプリミティブ処理関数をフィードするいくつかのデータ ストリーム ポートの 1 つの間に関連付けを作成します。 ストリーム データへの実際の参照は、 IDirect3DDevice9::D rawPrimitive などの描画メソッドが呼び出されるまで発生しません。

ストリームは、コンポーネント データの均一な配列として定義されます。各コンポーネントは、位置、法線、色などの 1 つのエンティティを表す 1 つ以上の要素で構成されます。 Stride パラメーターは、コンポーネントのサイズをバイト単位で指定します。

次のコードは、ストリーム ソースを設定し、その内容を描画する方法を示しています。 g_pVB変数は、頂点データを含む LPDIRECT3DVERTEXBUFFER9 です。

if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
{
    // Setup the world, view, and projection matrices
    SetupMatrices();

    // Render the vertex buffer contents
    g_pd3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );
    g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
    g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 1 );

    // End the scene
    g_pd3dDevice->EndScene();
}

このコードの詳細については、次のチュートリアルを参照してください。 チュートリアル 3: マトリックスの使用

プリミティブのレンダリング