Partager via


Dissolutions, fondus et balayages (Direct3D 9)

De plus en plus, les applications utilisent des effets spéciaux couramment utilisés dans les films et les vidéos, tels que les dissolutions, les balayages et les fondus.

Lors d’une dissolution, une image est progressivement remplacée par une autre dans une séquence fluide d’images. Bien que Direct3D fournisse des méthodes permettant d’utiliser le mélange de textures multiples pour obtenir le même effet, les applications qui utilisent la mémoire tampon de gabarit pour les dissolutions peuvent utiliser des fonctionnalités de fusion de textures pour d’autres effets pendant qu’elles effectuent une dissolution.

Lorsque votre application effectue une dissolution, elle doit afficher deux images différentes. Il utilise la mémoire tampon de gabarit pour contrôler les pixels de chaque image qui sont dessinés vers la surface cible de rendu. Vous pouvez définir une série de masques de gabarit et les copier dans la mémoire tampon de gabarit sur des images successives. Vous pouvez également définir un masque de gabarit de base pour la première image et le modifier de manière incrémentielle.

Au début de la dissolution, votre application définit la fonction de gabarit et le masque de gabarit afin que la plupart des pixels de l’image de départ réussissent le test de gabarit. La plupart des pixels de l’image de fin doivent échouer au test de gabarit. Sur les images successives, le masque de gabarit est mis à jour afin que de moins en moins de pixels dans l’image de départ réussissent le test. À mesure que les images progressent, de moins en moins de pixels dans l’image de fin échouent au test. De cette façon, votre application peut effectuer une dissolution à l’aide de n’importe quel modèle de dissolution arbitraire.

La disparition ou la disparition est un cas particulier de dissolution. En cas de fondu, la mémoire tampon de gabarit est utilisée pour se dissoudre d’une image en noir ou blanc vers un rendu d’une scène 3D. La décoloration est l’inverse, votre application commence par un rendu d’une scène 3D et se dissout en noir ou blanc. Le fondu peut être effectué à l’aide de n’importe quel modèle arbitraire que vous souhaitez utiliser.

Les applications Direct3D utilisent une technique similaire pour les balayages. Par exemple, lorsqu’une application effectue un balayage de gauche à droite, l’image de fin semble glisser progressivement au-dessus de l’image de départ de gauche à droite. Comme dans une dissolution, vous devez définir une série de masques de gabarit chargés dans la mémoire tampon de gabarit sur des images successives, ou modifier successivement le masque de gabarit de départ. Les masques de gabarit sont utilisés pour désactiver l’écriture de pixels à partir de l’image de départ et pour activer l’écriture de pixels à partir de l’image de fin.

Un balayage est un peu plus complexe qu’une dissolution dans la mesure où votre application doit lire les pixels de l’image de fin dans l’ordre inverse du balayage. Autrement dit, si le balayage se déplace de gauche à droite, votre application doit lire les pixels de l’image de fin de droite à gauche.

Techniques de mémoire tampon de gabarit