Voir la version complète : [GBA][Aide] palette 16bits de la GBA
Je suis tombé sur un truc un peu bizarre.
J'avais fait un fond avec des degradés de gris dessus en 24bits sous un logiciel de dessin, j'ai passé le tout en 8bits et j'ai pas du tout perdu en qualité (pas à l'oeil en tout cas) donc parfait mais bon, jusque là, c'est comme d'habitude.
Je convertit alors mon fichier .bmp 8bits en fichier .c 16bits (pour le mode3) donc je devrais normalement avoir parfaitement les mêmes couleurs sur la GBA...
....mais non, alors que ça marche quand j'utilise pas de gros dégradé. Je pense que les 16bits couleurs que la GBA peut afficher sont bien définis et donc si je fais un dégradé avec seulement 256 couleurs mais que certaines n'appartiennent pas à cette palette hardware de l'ecran gba, ça fait des escaliers.
Qu'est-ce que vous en pensez ? Ces 16bits qui permettent d'afficher ce qu'on veut sur la GBA ne sont-ils pas spécifiques finalement? (je sais ps si c'est tres clair)
Au passage, je suppose que certains vont me demander pourquoi je fais des fonds 8bits pour le mode3 alors que je peux les faires en 16, question d'habitude et de place dans la rom, je fais tout en 8 et GFX2GBA me convertit ça pour le mode 3 avec l'option "-c32k".
De toute façon, le soucis ne vient pas du logiciel ici, puisque la conversion est bonne, et un essai avec GBAGraphics me donne la même chose.
je viens de jeter un oeil à la prévisualisation de l'image créé quand on utilise GBAGaphics (tres bien cette fonction) et bien l'image a déjà les creneaux sur les escaliers, donc à priori, ça viendrait de la convertion (GFX2GBA faisant la même chose aussi). Je ne comprend pas trop d'où ça peut venir.
Faudrait que je vous affiche les images pour que vous voyez ça.
je viens de jeter un oeil à la prévisualisation de l'image créé quand on utilise GBAGaphics (tres bien cette fonction) et bien l'image a déjà les creneaux sur les escaliers, donc à priori, ça viendrait de la convertion (GFX2GBA faisant la même chose aussi). Je ne comprend pas trop d'où ça peut venir.
Faudrait que je vous affiche les images pour que vous voyez ça.
essaye de modifier la methode de conversion de l'image dans le menu de gbagraphics, sinon tu devrai afficher en mode 4 voir 0 ca te ferrai economiser de la place.
mais si la taille de ta rom ne t'importe pas et que tu ne veut pas t'embeter avec un fichier palette fait comme si je n'avais rien dit ;)
c'était pas 15bit la palette en mode 3 ?
c'était pas 15bit la palette en mode 3 ?
oui et non en fait tu te base bien sur 16 bits, les valeurs rvb sont chaqunes sur 5 bits et le dernier bit de poid fort n'est pas utilisé.
J'avais fait un fond avec des degradés de gris dessus en 24bits sous un logiciel de dessin, j'ai passé le tout en 8bits et j'ai pas du tout perdu en qualité
Quand tu converti en 8bit, en fait ca passe en palette, mais tes couleurs restent en 24bits, c'est juste que tu n'as que 256 couleurs différentes.
Essais de convertir en 16bit, et là tu devrais avoir un résultat similaire à ce que tu auras sur gba/DS... Tu n'as que 32 valeurs possibles par couleur, donc ca fait 32 nuances de dégradé, ce qui est effectivement très peu pour un fond de 160 pixels de haut...
T'inquietes Nes, si je dessine en 8bits c'est que des que un truc marche en Mode3, je le passe en mode4 et donc pas besoin de refaire les dessins.
J'essaye tant bien que mal de reduire la place, la rom fait dejà plus de 2Mo avec les musiques, ça prend tout de suite une place folle malgré la conversion ADPCM 8bits mono 22KHz et des boucles assez courtes.
Mollusk, ta reponse m'interresse.
(Pour le degradé en 8bits, ça le fait impec pour l'instant si je prend mes 256 couleurs de 24bits comme tu le dis).
Disons que je sois sous photoshop. Je fais mon dessin en RVB (du 24bits à priori).
Soit j'enregistre en BMP 16bits puis je convertit en 8bits apres pour avoir une palette de 256 couleurs (ce que je fais souvent).
Soit (et c'est ptet ce que j'ai fait ce coup-ci en loupant une etape), je prend mon dessin 24bits et je fais direct une conversion 8bits et hop j'enregistre en 8bits.
Ptet que la seconde méthode comme tu le dis prend juste 256 couleurs des 24bits et donc dedans il y en a qui ne font pas partit de ce qu'un ecran en mode 16bits peut afficher (différence entre les couleurs trop fine et donc creneaux).
Ca serait assez logique.
Je test ça, ça à l'air impec!! merci.
Rhaaaa!!! Mollusk, t'avais raison mais moi je suis degouté.
Ca se passe bien à ce niveau. Rien que en restant sous photoshop, je passe mon dessin 24bits en 16bits et là, c'et degeulasse, le degradé est sur 60pix de haut et passe d'un blanc à un gris moyen, donc le contraste est pas enorme et donc, en 16bits, ça fait pas pro!!
Je m'en retourne trouver une astuce.
Merci
PS: En tout cas, je retiens la leçon, ATTENTION à la fausse 8bits! (je parle pas de la pc engine^^)
Dans photoshop, au moment d'enregistrer un BMP, il demande la profondeur (32-24-16) et ya un bouton mode avancé.
Je suis allé voir dedans, ça propose ça:
- X1 R5 V5 B5 reglage par defaut (je pense que ça correspond au codage RVB donc faudrait prendre celui là)
- R5 V6 B5
- X4 R4 V4 B4
Si j'enregistre pour tester en R5 V6 B5, le resultat est pas mal du tout, mais bon ptet que ça passera pas sur GBA.
Quelqu'un en sait un peu plus la dessus?
Au passage, voilà les captures :
en 24bits
http://xphenix.site.voila.fr/test24.bmp
apres conversion 16bits (X1 R5 V5 B5)
http://xphenix.site.voila.fr/test16.bmp
Dans ton exemple, il semble que Photoshop n'a pas fait la diffusion d'erreur (dithering, "petits points" entre deux couleurs). Mais je ne sais pas s'il est censé le faire.
Ah et peut-être que ça ne marche pas parce que dans une bitmap 8 bits, chaque pixel représente un index vers une couleur de la palette. Donc normalement si tu affiches en mode 4, ça donnerait:
monEcranEnVRAM[y][x] = maBitmap_bitmap[y][x];
Mais en mode 3, ce serait plutôt:
monEcranEnVRAM[y][x] = maBitmap_palette[maBitmap_bitmap[y][x]];
Là ça devrait marcher...
dans paint shop, on peut choisir entre plusieurs méthodes il me semble
oui, dans phtoshop aussi, mais ça c'est pour faire l'indexation (créer une palette reduite) mais là, en fait, le soucis, c'est pas ça (puisque pour passer de 24 à 16, on crée pas de palette).
C'est juste que passer de 24bits à 16bits, le codage des couleurs est plus grossié (puisque moins de bits par couleur), donc ça fait ça.
On va faire autrement, est-ce que le second degradé (16bits) vous choque sachant que c'est pour GBA ?
Brunni, si l'image ne me plait pas à l'avance, quelque soit la méthode d'affichage sur GBA, ça corrigera pas le probleme ^^ merci pour l'explication.
oui, dans phtoshop aussi, mais ça c'est pour faire l'indexation (créer une palette reduite) mais là, en fait, le soucis, c'est pas ça (puisque pour passer de 24 à 16, on crée pas de palette).
C'est juste que passer de 24bits à 16bits, le codage des couleurs est plus grossié (puisque moins de bits par couleur), donc ça fait ça.
On va faire autrement, est-ce que le second degradé (16bits) vous choque sachant que c'est pour GBA ?
Brunni, si l'image ne me plait pas à l'avance, quelque soit la méthode d'affichage sur GBA, ça corrigera pas le probleme ^^ merci pour l'explication.
si c'est pour faire un degradé de ce style autan le faire avec une interuption hbl ca te fait 1 image + 1 palette de moin a integrer. ;)
si tu veut un exemple va voir les transitions fenetre de mon projet lily (j'ai pas mis les 32 nuances)
lol, oui, effectivement, mais en fait, là, c'est que un des calques de l'image et il doit y en avoir facile une 10ene.
lol, oui, effectivement, mais en fait, là, c'est que un des calques de l'image et il doit y en avoir facile une 10ene.
oh tu sais tu peut faire beaucoup de choses avec le hbl ^^
HBL (http://s150331774.onlinehome.fr/GBADivers/3DCopper.gba)
Je ne pense pas que ce soit ce qu'il veut faire (il n'aura pas toujours que des dégradés - qui plus est verticaux - à afficher).
Quoi qu'il en soit, l'idéal serait de voir si tu as la diffusion d'erreur (dithering) sur Photoshop, comme ça tu auras une qualité très proche des 24/32 bits.
je vais chercher ça dans 'toshop.
Sinon, la demo est sympa!!
Mon pote a testé la derniere rom et il a même pas remarqué donc ... mais c'est important pour moi que ça soit impec le plus possible dans la mesure de mes capacités.
vBulletin® v.3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd. Tous droits réservés - Version française vbulletin-fr.org