| Images..
Qu'est ce que l'Alpha ?? |
||
Par
NN_Shane |
||
| << Menu | Article suivant >> | |
Alpha,
vous avez dit alpha ??
Explication du terme Dans une image informatique de type RGBA les lettres RGB designent respectivement le Rouge (Red) le Vert (Green) le Bleu (Blue) d’ou RGB la A signifie lui Alpha.. ou transparence Alpha ou aussi canal Alpha.. Les cartes graphiques actuelles gerent toutes les couleurs en 32 bits parmi lesquels 24 bits servent aux composantes rouges vertes et bleues et les 8 derniers bits servent a la transparence on nomme ce canal le canal alpha.. Il s’agit comme pour les autres composantes d’un niveau d’intensite mesure de 0 (noir) a 255 (blanc) La combinaison des
differents niveaux d’intensite pour chaque canal permet de créer
toutes les couleurs utilisables. Un rose fushia sera noté R255 G0 B255 ca donne un rose fushia bien flashy.. tres reposant pour les yeux J Et bien le canal alpha s’utilise de la meme maniere suivant l’intensite marque dans ce canal pour chaque pixel de l’image, ce pixel sera plus ou moins transparent c’est a dire qu’on verra plus ou moins a travers lui ce qu’il y a derriere.. voici un petit exemple d’une texture d’herbe placee devant un bout d’image on voit bien la transparence a certains endroits de l’image de l’herbe et l’opacite a d’autres qui permet de voir les brins d’herbe justement ou de voir le tronc d’arbre a d’autres endroits, l’image en elle meme est tres moche, mais c’est juste un exemple..
pour d’autres exmples voir par exemple le cockpit du Bf110G
Dans ce cockpit
pleins d’endroits utilisent de l’alpha dans ses differentes
variantes.. J’expliquerais plus loin les variantes existantes.. Pour utiliser de l’alpha il faut bien sur un logiciel de dessin qui sache le prendre en compte.. Donc on se tournera naturellement vers le plus connu de tous :Photoshop Pour créer
une texture avec canal alpha prenez une texture standard preexistante
soit une nouvelle page.. et allez dans la fenetre volante LAYERS il
existe plusieurs onglets :
Pour l’instant il est rempli de noir.. Vous pouvez cliquer
sur un canal ou un autre afin de travailler uniquement sur cette composante
de couleur donc retoucher indiferrment le canal rouge vert ou bleu ou
alpha.. Dessinez quelque chose dans la couche alpha.. Et suivant l’intensite de ce que vous mettez.. lorsque la texture sera utilisee par le jeu.. ou par 3dsmax elle apparaitra plus ou moins opaque ou plus ou moins transparente.. A savoir.. : Un pixel noir est
totalement transparent donc on ne verras pas la couleur RGB associee
a ce pixel il laissera passer la couleur situee derriere lui .. A savoir aussi : Attention en standard le .BMP ne contiens jamais de canal alpha.. sauf cas extremement rare et photoshop ne sais pas gerer les bmp 32bits Le TIF aussi fonctionne
en alpha.. Avec photoshop vous
pouvez visualiser chaque couche independamment des autres, ou les superposer,
donc on peut voir une couche alpha seule.. ci dessous la texture d’herbe
et plus bas sa couche alpha.. Dans le cas de vitres du bf110 elles sont quasi transparentes sur toute leur surface sauf dans les angles ou il y a des zones quasi opaques afin de simuler la crasse qui s’accumule.. On eut aussi gerer l’alpha en ne jouant que sur le blanc et le noir.. c’est le cas sur la plupart des instruments du tableau de bord du bf110 tout l’instrument est opaque et la partie autour est entierement transparente afin de le detourer Cette variante s’appele NON ZERO et est en general moins gourmande en temps de calculs pour une carte graphique donc c’est a privilegier autant que possible.. L’horizon artificiel lui est compose d’un cylindre de couleur grise uniforme et tout l’aspect rond se fait par la transparence alpha qui est en degrade plus ou moins fonce autour.. pour voir.. regardez de pres celui du fw190 dans forgotten battle vous verrez comme ca rend bien.. Comme dit plus haut l’alpha peut avoir des variantes sous differentes formes.. Afin de gagner en
fluidite certains moteurs de jeu utilisent de textures 16 bits au lieu
de textures 32bits.. dans ce cas la.. Par RGBA je parlerais
toujours de Rouge Vert Bleu Alpha pour les explications suivantes Pour rappel en informatique 8bits permettent 256 niveaux d’intensite soit :2puissance8=256 valeurs comprises entre 0 et 255 Donc du RGBA 4444 sera la meme chose que du RGBA 8888 mais avec bcp moins de nuances de couleurs.. avec 4 bits on a droit a seulement 16 nuances (0 a 15) 2 puissance 4=16 Le total ne faisant plus que 4+4+4+4bits soit 16 bits au lieu de 8+8+8+8=32bits On peut faire varier
par exemple :RGBA 5551 sera du RGBA avec 32 nuances d’intensites
par composante de couleur et 1 seul bit dedie a l’alpha.. soit
NOIR ET BLANC seulement.. Alors que diriez vous de savoir qu’il est possible aussi de faire de la transparence avec une texture palettisee Par texture palettise
je me rapporte aux modes graphiques un peu plus anciens dans lequels
au lieu d’avoir une couleur RGB ou RGBA pour chaque pixel de l’image
on avait juste un index compris entre 0 et 255 pour chaque pixel soit
256 couleurs possibles soit 8 bits par pixel mais chauqe pixel n’avais
pas sa couleur decrite individuellement par rapport aux autres comme
pour les modes actuels.. En 16 bits cette
meme image prendrais :256*256*2=131072 octets soit 128Ko Je pense que vous comprenez mieux que sur console comme la PS2 qui n’a que peu de memoire on utilise quasimment que des textures palettisees..
Une derniere chose a savoir sur les textures alpha.. elles ont un gros defaut : Une texture alpha
est toujours plus couteuse a traiter par une carte graphique qu’une
texture qui ne l’est pas car les polygones ayant une texture alpha
doivent etre triés.. c’est a dire que lors de l’affichage
le GPU ou VPU de la carte graphique (le processeur) peut afficher des
polygones dans n’importe quel ordre.. il existe une fonction integree
qui s’appele :Z BUFFER qui se charge de savoir quels sont les
pixels visibles ou non sur une image.. quand 2 polygones se recouvrent
a l’affichage (2 avions l’un devant l’autre par exemple) Les textures NON ZERO sont moins compliquees a traiter que les textures purement alpha.. donc privilegier le noir et le blanc dans al couche alpha.. les gris intermediaires ne doivent etre utilises qu’en cas de besoin absolu comme par exemple pour des vitres.. 6 Mal de tete ??Si le sujet vous interesse, n’hesitez pas a m’ecrire afin d’avoir plus d’explications ou des schemas…. Je suis loin de connaître tout sur le sujet.. mais ayant fait de la programmation pendant 8 ans sur Atari ST, et etant infographiste maintenant, je travaille constamment avec ces notions.. Difficile parfois de retourner sur terre et d’arriver a expliquer des concepts qu’on utilise depuis un bout de temps.. a des personnes qui n’ont jamais abordé le sujet… J’espere ne pas avoir causé de migraines J Et bon courage a tous dans le monde merveilleux de la creation informatique.. NN_Shane .Michel. ps:mon email: shane@france-simulation.com ou shane@free.fr |
||