De bron van de stream instellen (Direct3D 9)
De methode IDirect3DDevice9::SetStreamSource verbindt een hoekpuntbuffer met een apparaatgegevensstroom, waardoor er een koppeling wordt gemaakt tussen de hoekpuntgegevens en een van de verschillende gegevensstroompoorten die de primitieve verwerkingsfuncties invoeren. De werkelijke verwijzingen naar de stroomgegevens worden pas uitgevoerd als een tekenmethode, zoals IDirect3DDevice9::DrawPrimitive, wordt aangeroepen.
Een stroom wordt gedefinieerd als een uniforme matrix met onderdeelgegevens, waarbij elk onderdeel bestaat uit een of meer elementen die één entiteit vertegenwoordigen, zoals positie, normaal, kleur enzovoort. De parameter Stride specificeert de grootte van het onderdeel, in bytes.
De volgende code laat zien hoe u de streambron instelt en de inhoud ervan tekent. De g_pVB variabele is een LPDIRECT3DVERTEXBUFFER9 die hoekpuntgegevens bevat.
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();
}
Zie de volgende zelfstudie voor meer informatie over deze code: Zelfstudie 3: Matrices gebruiken
Verwante onderwerpen