Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : Assembleur - Défilement de dégradé
(Article écrit par Philippe Rivaillon et extrait d'Amiga News Tech - mai 1991)
|
|
Faire défiler un dégradé digne de ce nom... Mais ne rêvons pas : l'Amiga ne possède pas 16 millions de couleurs,
mais (seulement ?) 4096...
Pour remédier à cela, il suffit de mélanger les couleurs à l'aide d'une texture (en rapprochant deux pixels de couleurs
différentes, on en obtient une nouvelle. Cette méthode est très utilisée dans la synthèse d'image sur Amiga).
Pour corser le tout, on fait la chose en surafficaghe (overscan). Enfin, on affiche un logo, par un simple
transfert au Blitter. A noter que le logo est constitué d'un seul plan de bits de 320 pixels de large (40 octets)
sur 92 de haut. Il n'est donc pas au format IFF, et est décompacté. Utilisez pour ce faire le Deluxe IFF Converter
fourni avec Deluxe Paint, ou n'importe quel autre utilitaire de votre choix capable de sauvegarder une image en format RAW.
Le dégradé
On utilise pour le réaliser, une texture (certains préfèrent dire une trame) de 16 pixels de large sur 16 de haut.
Un petit schéma valant toujours mieux qu'un long discours, suivez donc sur le tableau ci-dessous.
Motif texture |
Effet |
0000000000000000 |
16 pixels de couleur 0, 0 de couleur 1 |
0000000010000000 |
15 pixels de couleur 0, 1 de couleur 1 |
0000000000001000 |
14 pixels de couleur 0, 2 de couleur 1 |
... |
|
1111011111110111 |
2 pixels de couleur 0, 14 de couleur 1 |
1111111101111111 |
1 pixel de couleur 0, 15 de couleur 1 |
1111111111111111 |
0 pixel de couleur 0, 16 de couleur 1 |
-> la couleur 0 reçoit la couleur 1 et la couleur 1 reçoit la prochaine.
0000000000000000 |
16 pixels de couleur 0, 0 de couleur 1 |
0000000010000000 |
15 pixels de couleur 0, 1 de couleur 1 |
-> et ainsi de suite jusqu'au bas de l'écran.
Ainsi, toutes les 16 lignes, la texture recommence et les couleurs changent (très peu pour avoir un joli dégradé).
Pour faire défiler ce dégradé, il faut faire remonter la texture et les couleurs ligne par ligne. Une fois remontées de
16 points, il faut faire apparaître de nouvelles couleurs en bas de l'écran en même temps, qu'apparaît un nouveau morceau de
texture.
Suraffichage
Un rapide rappel n'est sans doute pas superflu. Quatre adresses et quatre formules sont à retenir pour définir la
taille et la position de l'écran.
Pour la position :
Pour la taille :
Pour la liste Copper, une fois arrivé à la ligne $FF, on recommence à $00 après un Wait spécial : Wait($FFDF,$FFFE).
|