Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le rendu des données de vertex à partir d’une mémoire tampon de vertex nécessite quelques étapes. Tout d’abord, vous devez définir la source de flux en appelant la méthode IDirect3DDevice9 ::SetStreamSource, comme illustré dans l’exemple suivant.
d3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );
Le premier paramètre de IDirect3DDevice9 ::SetStreamSource indique à Direct3D la source du flux de données de l’appareil. Le deuxième paramètre est la mémoire tampon de vertex à lier au flux de données. Le troisième paramètre est le décalage entre le début du flux et le début des données de vertex, en octets. Le quatrième paramètre est la progression du composant, en octets. Dans l’exemple de code ci-dessus, la taille d’un CUSTOMVERTEX est utilisée pour le stride du composant.
L’étape suivante consiste à informer Direct3D du nuanceur de vertex à utiliser en appelant la méthode IDirect3DDevice9 ::SetVertexShader. L’exemple de code suivant définit un code FVF pour le nuanceur de vertex. Cela informe Direct3D des types de sommets qu’il traite.
d3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
Après avoir défini la source de flux et le nuanceur de vertex, toutes les méthodes de dessin utilisent la mémoire tampon de vertex. L’exemple de code ci-dessous montre comment afficher des sommets à partir d’un tampon de sommets avec la méthode IDirect3DDevice9::DrawPrimitive.
d3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 1 );
Le deuxième paramètre que IDirect3DDevice9::DrawPrimitive accepte est l’index du premier vecteur dans la mémoire tampon de vertex à charger.
Rubriques connexes