Fading 1.3

Comment ça marche ?

Quelques indications sur le fonctionnement de la nouvelle version 1.3 de ma XCMD Fade comprise dans la pile de démonstration ci-jointe appelée Fading.

Tout d'abord, l'effet de fondu est obtenu par variation de la table de "gamma correction" qui est maintenue dans toutes les cartes vidéo. Pour corriger les défauts chromatiques des tubes, une correction est en effet appliquée par le biais de ces tables pour chaque couleur. Voici par exemple les trois tables de correction standard chez Apple. En abscisse figurent les valeurs dont l'affichage est demandé (entre 0 et 255), et en ordonnée les valeurs à appliquer réellement au tube vidéo.

Faire varier ces tables de la manière la plus continue permet d'obtenir un effet de fondu au noir ou à la couleur. Pour obtenir des temps de calcul des nouvelles tables réduits au minimum, cette version de ma commande commence par remplacer les tables gamma par des tables approximées par des droites avant de faire varier ces droites. C'est pourquoi au début du "fade in", une très légère discontinuité de la correction chromatique peut parfois être perceptible. De même à la fin du "fade out" les tables initiales sont restaurées et l'on peut percevoir le même léger défaut.

Voici donc la table gamma approchée de départ.

Il faut noter que l'intersection des segments de droites est le point de la courbe de correction gamma initiale, dont l'ordonnée égale la valeur de la composante couleur demandée pour le fondu. La suite des variations des tables s'obtient par rotation des droites autour de ce point.

Voici ainsi une table obtenue après un "fade partial" vers la même couleur.

L'utilisation de cette version ne diffère de la précédente que par les fondus partiels qui sont maintenant possibles dans les deux directions (in ou out) et sont désignés par le paramètre partial explicite; le fade in étant réservé à un fondu total.

Comment on s'en sert ?

Trois commandes sont possibles:

Une séquence de fondu doit commencer par une des commandes Fade in ou partial (qui sauvegardera les tables gamma initiales) et se terminer par Fade out (qui restaurera les tables initiales). Pendant la séquence d'autres commandes Fade partial sont possibles.

Une séquence de fondus peut donc être par exemple :

Fade in - Fade out ou
Fade partial - Fade partial - Fade partial - Fade out

Paramètres:

Fade in[,vitesse(0-8)[,rouge,vert,bleu(0-255)]]
Fade out|partial[,vitesse(0-8)]

Pour éviter de répéter les mêmes paramètres lors d'appels répétés, les valeurs des paramètres utilisés précédemment sont mémorisés dans des variables globales, qui peuvent aussi être utilisées pour indiquer les paramètres du fondu.

Les noms des variables globales sont: FadeRed, FadeGreen, FadeBlue, FadeSpeed

D'autres paramètres moins fréquemment utilisés peuvent ausi être indiqués par d'autres variables globales.

Il s'agit de:

Quelques conseils

Avant de faire un essai dans une pile personnelle, placer un appel à Fade out dans un handler CloseStack. Ainsi en cas de problème, la frappe du raccourci clavier <Cmd> Q permettra de rétablir le moniteur en fermant la pile.

Il est possible de cacher l'affichage de la première carte d'une pile en appelant Fade in dans un handler du type:

on startup
fade in
pass startup
end startup

Encore une fois, il ne faut pas oublier d'ajouter Fade out par exemple dans un handler OpenStack.

Si vous appréciez ce travail, merci de me le dire par email ou mieux de m'envoyer une carte postale ou un exemple d'utilisation.

Cette XCMD est gratuite pour toute utilisation non commerciale.

Gilles Kuntz
11, rue des Trois Epis
38100 GRENOBLE FRANCE
email: Gilles.Kuntz@imag.fr