Partager via


Définition de la source de flux (Direct3D 9)

La méthode IDirect3DDevice9::SetStreamSource lie une mémoire tampon de vertex à un flux de données d’appareil, créant une association entre les données de vertex et l’un des ports de flux de données qui alimentent les fonctions de traitement primitives. Les références réelles aux données de flux ne se produisent pas tant qu’une méthode de dessin, telle que IDirect3DDevice9::D rawPrimitive, n’est pas appelée.

Un flux est défini comme un tableau uniforme de données de composant, où chaque composant se compose d’un ou plusieurs éléments représentant une seule entité telle que la position, la normale, la couleur, etc. Le paramètre Stride spécifie la taille du composant, en octets.

Le code suivant illustre la définition de la source du flux et le dessin de son contenu. La variable g_pVB est une variable LPDIRECT3DVERTEXBUFFER9 qui contient des données de vertex.

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

Pour plus d’informations sur ce code, consultez le tutoriel suivant : Tutoriel 3 : Utilisation de matrices

Rendu des primitives