Festlegen der Streamquelle (Direct3D 9)
Die IDirect3DDevice9::SetStreamSource-Methode bindet einen Scheitelpunktpuffer an einen Gerätedatenstrom und erstellt eine Zuordnung zwischen den Scheitelpunktdaten und einem von mehreren Datenstromports, die die primitiven Verarbeitungsfunktionen unterstützen. Die tatsächlichen Verweise auf die Streamdaten treten erst auf, wenn eine Zeichnungsmethode wie IDirect3DDevice9::D rawPrimitiveaufgerufen wird.
Ein Stream wird als einheitliches Array von Komponentendaten definiert, wobei jede Komponente aus mindestens einem Element besteht, das eine einzelne Entität darstellt, z. B. Position, Normal, Farbe usw. Der Stride-Parameter gibt die Größe der Komponente in Bytes an.
Der folgende Code veranschaulicht das Festlegen der Streamquelle und das Zeichnen ihres Inhalts. Die _ g pVB-Variable ist eine LPDIRECT3DVERTEXBUFFER9, die Scheitelpunktdaten enthält.
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();
}
Weitere Informationen zu diesem Code finden Sie im folgenden Tutorial: Tutorial 3: Verwenden von Matrizen.