Ange Stream-källan (Direct3D 9)
Metoden IDirect3DDevice9::SetStreamSource binder en brytpunktsbuffert till en enhetsdataström, vilket skapar en association mellan hörndata och en av flera dataströmsportar som matar de primitiva bearbetningsfunktionerna. De faktiska referenserna till dataströmmen sker inte förrän en ritmetod, till exempel IDirect3DDevice9::DrawPrimitive, anropas.
En ström definieras som en enhetlig matris med komponentdata, där varje komponent består av ett eller flera element som representerar en enda entitet, till exempel position, normal, färg och så vidare. Parametern Stride anger komponentens storlek i byte.
Följande kod visar hur du ställer in strömkällan och ritar dess innehåll. Variabeln g_pVB är en LPDIRECT3DVERTEXBUFFER9 som innehåller vertexdata.
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();
}
Mer information om den här koden finns i följande självstudie: Självstudie 3: Använda matriser
Relaterade ämnen