Page 1 of 2

Les grayscales

PostPosted: 11 Dec 2010, 01:45
by kindermoumoute
Qu'est ce que les grayscales ?
Littéralement les "niveaux de gris" que l'on peut faire apparaître sur une calculatrice.

En Axe, le principe est d'alterner très rapidement les pixels pour faire apparaître un "gris" plus ou moins prononcé à nos yeux. (le même système est utilisé pour l'affichage des couleurs sur les écrans d'ordi par exemple)
4 niveaux de gris sont implémentés dans ce langage initialement, mais j'ai récemment creusé mes recherches la dessous suite à l'ouverture d'un post sur omnimaga.

Bref, voici un code pour voir 8 grayscales sur une TI-83+ :
Code: Select all
:.GRAY8
:[0000000000000000→Pic1
:[FFFFFFFFFFFFFFFF]
:0→A→B→C
:Repeat getKey(15)
:sub(GR)
:DispGraphsupr/supsupr/sup
:End
:Return
:
:Lbl GR
:ClrDraw
:ClrDrawsupr/sup
:1-C→C
:For(Y,0,7)
:For(X,0,11)
:If X+1^2+C
:If 1-A→A
:1-B→B
:End
:End
:Pt-Off(X*8,Y*8,B*8+Pic1)
:Pt-Off(X*8,Y*8,A*8+Pic1)supr/sup
:End
:End


Un petit rendu pour vous donner un aperçu sur TI-83+ émulé :
Image


Puis pour un TI-84+, le full speed mode permet une netteté incroyable.
Code :
Code: Select all
:.GRAY8
:[0000000000000000→Pic1
:[FFFFFFFFFFFFFFFF]
:0→A→B→C
:Repeat getKey(15)
:sub(GR)
:Normal
:DispGraphsupr/supsupr/sup
:Full
:End
:Return
:
:Lbl GR
:ClrDraw
:ClrDrawsupr/sup
:1-C→C
:For(Y,0,7)
:For(X,0,11)
:If X+1^2+C
:If 1-A→A
:1-B→B
:End
:End
:Pt-Off(X*8,Y*8,B*8+Pic1)
:Pt-Off(X*8,Y*8,A*8+Pic1)supr/sup
:End
:End


Un petit screen :
Image

Je me suis rendu compte qu'il était facile de modifier le code pour avoir 16 niveaux de gris :
Image

Et même plus (le screen parlera de lui même) :
Image

J'ai calculé grossièrement que la calculatrice ne supportais plus au bout de 12² grayscales, mais je ne peut pas afficher autant de tile à l'écran pour le vérifier. ;)

Re: Les grayscales

PostPosted: 11 Dec 2010, 14:00
by Kiligolo
16 niveaux de gris?! :o:
ça doit être super lent...

Re: Les grayscales

PostPosted: 11 Dec 2010, 14:29
by metallica
et 144 encore plus :#fou#:

Re: Les grayscales

PostPosted: 11 Dec 2010, 14:37
by Kiligolo
metallica wrote:et 144 encore plus :#fou#:

Oui et ça sert à rien... -_-'

Re: Les grayscales

PostPosted: 11 Dec 2010, 17:56
by kindermoumoute
Kiligolo wrote:Oui et ça sert à rien... -_-'


Ce serait quelque chose d'incroyable que de faire une image haute définition avec 144 grayscales. :#gni#:
Pour un écran de veille par exemple. :;):

Re: Les grayscales

PostPosted: 11 Dec 2010, 18:17
by Kiligolo
kindermoumoute wrote:
Kiligolo wrote:Oui et ça sert à rien... -_-'


Ce serait quelque chose d'incroyable que de faire une image haute définition avec 144 grayscales. :#gni#:
Pour un écran de veille par exemple. :;):

Oui mais on ne verrais pas la différence entre les niveaux de gris...

Re: Les grayscales

PostPosted: 11 Dec 2010, 18:22
by Laurae
Kiligolo wrote:Oui mais on ne verrais pas la différence entre les niveaux de gris...


Je pense qu'avec 16 niveaux de gris ou un peu plus c'est largement suffisant... 144 c'est presque indiscernable sauf avec un ordinateur qui nous dira quelle couleur exacte est utilisé à chaque pixel =p

Re: Les grayscales

PostPosted: 11 Dec 2010, 18:37
by metallica
Moi je trouve que 4, ça suffit déjà assez :D:

Re: Les grayscales

PostPosted: 11 Dec 2010, 18:42
by Kiligolo
C'est vrai! :D:
La nSpire peut en faire 16?

Re: Les grayscales

PostPosted: 11 Dec 2010, 18:45
by metallica
Je ne possède pas de nSpire mais je pense que c'est possible en ASM.
Faut voir !