Partager via


Régions sales de texture (Direct3D 9)

Les applications peuvent optimiser le sous-ensemble d’une texture qui est copié en spécifiant des régions « sale » sur les textures. Seules les régions marquées comme sale sont copiées par un appel à IDirect3DDevice9::UpdateTexture. Toutefois, les régions sale peuvent être développées pour optimiser l’alignement. Lorsqu’une texture est créée, la texture entière est considérée comme sale. Seules les opérations suivantes affectent l’état sale d’une texture :

Les régions sales sont définies au niveau supérieur d’une texture mipmapped, et IDirect3DDevice9::UpdateTexture peut développer la région sale dans la chaîne mip afin de réduire le nombre d’octets copiés pour chaque sous-niveau. Notez que les coordonnées de sous-niveau sale région sont arrondies vers l’extérieur, c’est-à-dire que leurs parties fractionnaires sont arrondies vers le bord le plus proche de la texture.

Étant donné que chaque type de texture a différents types de régions sale, il existe des méthodes pour chaque type de texture. Les textures 2D utilisent sale rectangle, et les textures de volume utilisent des zones.

Le passage de la valeur NULL pour les paramètres pDirtyRect ou pDirtyBox pour les méthodes ci-dessus développe la région sale pour couvrir l’ensemble de la texture.

Chaque méthode de verrouillage peut prendre D3DLOCK_NO_DIRTY_UPDATE, ce qui empêche toute modification de l’état sale de la texture. Pour plus d’informations, consultez Verrouillage des ressources (Direct3D 9).

Lorsque des informations supplémentaires sur l’ensemble réel de régions modifiées pendant une opération de verrouillage sont disponibles, les applications doivent utiliser D3DLOCK_NO_DIRTY_UPDATE. Notez qu’un verrou ou une copie dans un sous-niveau de texture uniquement (c’est-à-dire, sans verrouiller ou copier vers le niveau supérieur) ne met pas à jour les régions sale pour cette texture. Les applications assument la même responsabilité de mettre à jour sale régions lorsqu’elles verrouillent les niveaux inférieurs sans verrouiller le niveau supérieur.

Concepts de base de la texturation