Udostępnij przez


Ustawianie źródła strumienia (Direct3D 9)

Metoda IDirect3DDevice9::SetStreamSource wiąże bufor wierzchołka ze strumieniem danych urządzenia, tworząc skojarzenie między danymi wierzchołka a jednym z kilku portów strumienia danych, które zasilają funkcje przetwarzania pierwotnego. Rzeczywiste odwołania do danych strumienia nie występują, dopóki metoda rysowania, taka jak IDirect3DDevice9::DrawPrimitive, nie zostanie wywołana.

Strumień jest definiowany jako jednolita tablica danych składników, gdzie każdy składnik składa się z co najmniej jednego elementu reprezentującego jedną jednostkę, taką jak pozycja, normalny, kolor itd. Parametr Stride określa rozmiar składnika w bajtach.

Poniższy kod demonstruje ustawienie źródła strumienia i rysowanie jego zawartości. Zmienna g_pVB to LPDIRECT3DVERTEXBUFFER9, która zawiera dane wierzchołków.

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();
}

Aby uzyskać więcej informacji na temat tego kodu, zobacz następujący samouczek: Tutorial 3: Using Matrices

Prymitywy renderowania