Condividi tramite


Impostazione dell'origine di flusso (Direct3D 9)

Il metodo IDirect3DDevice9::SetStreamSource associa un buffer dei vertici a un flusso di dati del dispositivo, creando un'associazione tra i dati del vertice e una delle diverse porte di flusso di dati che generano le funzioni di elaborazione primitiva. I riferimenti effettivi ai dati del flusso non si verificano finché non viene chiamato un metodo di disegno, ad esempio IDirect3DDevice9::D rawPrimitive.

Un flusso viene definito come una matrice uniforme di dati del componente, in cui ogni componente è costituito da uno o più elementi che rappresentano una singola entità, ad esempio posizione, normale, colore e così via. Il parametro Stride specifica le dimensioni del componente, in byte.

Il codice seguente illustra l'impostazione dell'origine del flusso e il relativo contenuto. La variabile g_pVB è una variabile LPDIRECT3DVERTEXBUFFER9 che contiene i dati dei vertici.

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

Per altre informazioni su questo codice, vedere l'esercitazione seguente: Esercitazione 3: Uso di matrici

Rendering di primitive