Partager via


Mémoires tampons de vertex FVF (Direct3D 9)

La définition du paramètre FVF du IDirect3DDevice9 ::CreateVertexBuffer méthode sur une valeur différente de zéro, qui doit être un code FVF valide, indique que le contenu de la mémoire tampon doit être caractérisé par un code FVF. Une mémoire tampon de vertex créée avec un code FVF est appelée mémoire tampon de vertex FVF. Certaines méthodes ou utilisations de IDirect3DDevice9 nécessitent des mémoires tampons de vertex FVF, et d’autres nécessitent des mémoires tampons de vertex non FVF. Les mémoires tampons de vertex FVF sont requises en tant qu’argument de mémoire tampon de vertex de destination pour IDirect3DDevice9 ::P rocessVertices.

Les mémoires tampons de vertex FVF peuvent être liées à un flux de données source pour n’importe quel nombre de flux.

La présence du composant D3DFVF_XYZRHW sur les mémoires tampons de vertex FVF indique que les sommets de cette mémoire tampon ont été traités. Les mémoires tampons de vertex utilisées pour IDirect3DDevice9 ::P rocessVertices tampons de vertex de destination doivent être post-traitées. Les mémoires tampons de vertex utilisées pour les entrées de nuanceur de fonctions fixes peuvent être prétraitées ou postprocessées. Si la mémoire tampon de vertex est post-traitée, le nuanceur est effectivement contourné et les données sont transmises directement au module de découpage primitif et de configuration.

Les mémoires tampons de vertex FVF peuvent être utilisées avec des nuanceurs de vertex. En outre, les flux de vertex peuvent représenter les mêmes formats de vertex que les mémoires tampons de vertex non FVF peuvent. Ils n’ont pas besoin d’être utilisés pour entrer des données provenant de mémoires tampons de vertex distinctes. La flexibilité supplémentaire des nouveaux flux de vertex permet aux applications qui doivent séparer leurs données pour fonctionner mieux, mais elles ne sont pas requises. Si l’application peut gérer des données entrelacées à l’avance, il s’agit d’une amélioration des performances. Si l’application interlace uniquement les données avant chaque appel de rendu, elle doit permettre à l’API ou au matériel de le faire avec plusieurs flux.

Les choses les plus importantes avec les performances de vertex sont d’utiliser un vertex de 32 octets et de maintenir un bon ordre de cache.

tampons de vertex