Mémoires tampons d’index

DirectX 8.0 introduit le concept de mémoires tampons d’index. Ces mémoires tampons sont très similaires aux tampons de vertex, mais stockent des index 16 ou 32 bits simples dans des données de vertex plutôt que dans les données de vertex elles-mêmes. Les mémoires tampons d’index étendent tous les avantages des tampons de vertex, par exemple le téléchargement et la mise en cache optimaux, pour indexer des données.

Les tampons d’index sont créés, verrouillés, déverrouillés et détruits avec les mêmes points d’entrée de pilote que ceux utilisés pour les tampons de vertex. Un pilote peut faire la distinction entre ces types de mémoire tampon à l’aide du nouveau bit de fonctionnalité surface DDSCAPS2_INDEXBUFFER. Pour les mémoires tampons d’index, cet indicateur est défini dans le champ ddsCapsEx.dwCaps2 de la structure DD_SURFACE_MORE de la surface. Il sera clair pour les tampons de vertex.

Contrairement à de nombreux autres types de surface, un pilote n’a pas besoin de définir la capacité DDSCAPS2_INDEXBUFFER lors du signalement de ses capacités au runtime pour recevoir des appels de pilotes pour la création, la destruction et le verrouillage de la mémoire tampon d’index. Un pilote DirectX 8.0 qui prend en charge les mémoires tampons de vertex est supposé prendre également en charge les mémoires tampons d’index. Si le matériel sous-jacent n’a pas de prise en charge directe des mémoires tampons d’index, le pilote doit gérer la création de mémoire tampon d’index en allouant la mémoire système pour la surface.