1

Salut a tous.

En continue la réalisation de dynamite dreams sur DC. Mais on rencontre un gros problème avec nos image. Elle sont en png. La DC les convertie automatiquement en 16 bit. Peut importe qu'elle soit d'origine 24bit ou 8 bit. Tout mes images sont en 24. resultat, j'ai des gros palié déguelasse à la place de mes dégradés de couleurs. le 8 bit aurait pu être très intéraissant pour gagné de la place en ram vidéo.

Je n'ai malheureusement trouvé aucun system de sauvguarde png en 16 bit.
Parcontre j'en ai trouvé en TGA se qui pourait être une solution. Mais la je ne suis pas arriver à guarder ma transparence.
Quelqu'un connais il une solution ou un logicielle qui me permette de résoudre se problème?

2

le png transparent, c'est pas du 32b ? et non 24 ?

32 car 8x4 canaux (RVBA, je noterais 8888 pour du 8 bit pour R, 8 bit pour V, ...)

et le 16b qu'elle te convertit, c'est avec un canal transparent ou pas ?

car si c'est du transparent RVBA, ca peut etre du 4444 ou 5551, et si c'est non transparent RVB, ca peut etre 655, ou autre....
Ancien pseudo : lolo

3

Tu peux avoir une couleur transparente avec du PNG 8, 16 et 24 bits (comme pour le GIF en 8 bits).
avatar

4

vi, sauf que pour le gif, comme tu l'as dit, t'a une couleur transparente, car tu fonctionnes avec une palette de 256 couleurs => tu peux facilement dire que la couleur x est transparente.

en PNG 8, c'est la meme chose. mais en PNG 16, 24, 32, 48, tu n'as pas de palettes, mais chaque pixel est défini par ses composantes Rouge, Vert, Bleu, et parfois Alpha, et c'est cette derniere composante qui définie le degré de transpatence du pixel

16bit => RVB (6,5,5) ou RVBA (5,5,5,1 ou 4,4,4,4)
24bits => RVB (8,8,8) ou RVBA (6,6,6,6)
Ancien pseudo : lolo

5

Merci pour vos réponses, mais quel logiciel permet de travailler avec du PNG 16 bits ?
Car sous gimp et photoshop, ça semble limité à 8 bits et 24 bits..

Merci d'aider en tout cas, c sympa wink
avatar
Développeur d'Alice Dreams Tournament, sur Dreamcast.

Soutenez nous en rejoignant notre page FB : http://www.facebook.com/alicedreamst
Suivez nous sur twitter : http://twitter.com/AliceDreamsT Merci !

6

ben je sais pas, car quand je crée une nouvelle image, je me mets en 16b, mais quand j'enregistre, il passe en 24b...

et dans un autre format que le png ?

t'es vraiment obligé d'utiliser le canal alpha ?

mais déjà, il faudrait savoir quelle style de 16bit est utilisé...
Ancien pseudo : lolo

7

Spipu (./4) :
mais en PNG 16, 24, 32, 48, tu n'as pas de palettes, mais chaque pixel est défini par ses composantes Rouge, Vert, Bleu, et parfois Alpha...
Tu peux avoir une couleur transparente en 16 et 24 bits, ce n'est pas un indice de palette, mais une couleur qui est affichée transparente (/ ou pas affichée) sans utiliser de calque alpha.

Paint Shop Pro permet d'enregistrer dans le format que tu veux.
avatar

8

Thepro (./7) :
Tu peux avoir une couleur transparente en 16 et 24 bits, ce n'est pas un indice de palette, mais une couleur qui est affichée transparente (/ ou pas affichée) sans utiliser de calque alpha.


ah oui, en effet, viens de vérifier sous paint shop pro et photoshop, il y a deux modes différents : une couleur transparente, ou une composante alpha... au temps pour moi...
Thepro (./7) :
Paint Shop Pro permet d'enregistrer dans le format que tu veux.



ben na, il a 8 bit ou 24 bits, pas 16 bit. (ou du moins, je ne l'ai pas trouvé)
Ancien pseudo : lolo

9

Ha oui, il n'y a pas de PNG 16 bits dans Paint Shop Pro.
avatar

10

non je confirme mourn

11

Normal, ça n'existe pas (enfin, pas en couleur).
16bit => RVB (6,5,5) ou RVBA (5,5,5,1 ou 4,4,4,4) 24bits => RVB (8,8,8) ou RVBA (6,6,6,6)
Tout faux tongue

PNG 64 bits => truecolor+alpha
PNG 48 bits => truecolor
PNG 32 bits => truecolor+alpha / grayscale+alpha
PNG 24 bits => truecolor
PNG 16 bits => grayscale / grayscale+alpha
PNG 8 bits => grayscale / palette
PNG 4 bits => grayscale / palette
PNG 2 bits => grayscale / palette
PNG 1 bit => B&W / palette

12

A noter que tous les formats sans canal alpha supportent une transparence binaire à l'aide du "truc" de la couleur transparente.

13

et comment windows, ainsi que tous les anciens jeux 3D, faisaient pour avoir un mode d'affichage en 16 bit ?

le 16bit existe en couleur... le format sous windows (et surtout D3D) est R5V6B5
Ancien pseudo : lolo

14

et comment windows, ainsi que tous les anciens jeux 3D, faisaient pour avoir un mode d'affichage en 16 bit ?
Ils travaillaient pas avec des images PNG.
e 16bit existe en couleur...
Pas en PNG.

15

et bien si :

le format du PNG permet de mettre le nombre de bit que l'on veut par pixels, c'est assez souple.

http://r0k.us/graphics/png16.html

le seul truc, c'est que les outils classics d'édition d'images ne permettent pas de paramétrer convenablement le format de PNG que tu veux utiliser.

regarde le TGA, c'est un peu pareil, il faut généralement meme préciser à l'ouverture quel format est utilisé car les infos sur celui-ci ne sont pas forcement préciser en entete du fichier
Ancien pseudo : lolo

16

Je sais pas ce que c'est ton site, mais :
Norme ISO/IEC 15948:2003 (Portable Network Graphics (PNG) Specification)

Allowed combinations of colour type and bit depth PNG image type
Colour typeAllowed bit depthsInterpretation
Greyscale01, 2, 4, 8, 16Each pixel is a greyscale sample
Truecolour28, 16Each pixel is an R,G,B triple
Indexed-colour31, 2, 4, 8Each pixel is a palette index; a PLTE chunk shall appear.
Greyscale with alpha48, 16Each pixel is a greyscale sample followed by an alpha sample.
Truecolour with alpha68, 16Each pixel is an R,G,B triple followed by an alpha sample.


Je te laisse m'expliquer comment tu construis une png en couleur avec 16 bits par pixel avec ça ^^

[edit: en plus tout en haut de ton site, il est écrit en gros, gras, et noir sur..bleu : "The PNG-16 image format is neither sponsored nor approved by the PNG Development Group." En clair c'est des mecs qui font leur trip dans leur coin sur un format invalide, donc faut pas t'étonner que ça soit pas supporté. Ce qu'ils appellent "PNG-16" n'est *pas* une image au format PNG]

17

le pb dans le cas de Poche (./1) ce n'est pas que le format PNG 16b est reconnu comme norme ou non, mais que la DC (dreamcast je suppose) n'utilise que du 16bit pour les textures et qu'il doit donc l'attaquer qu'avec des images en 16 bits (qui généralement est du 5 bits pour le rouge, 6 bits pour le vert, 5 bits pour le bleu)

je suis d'accord avec toi sur le fait que le PNG-16 couleur ne soit pas accepté par le W3C, mais j'essayais de trouver une alternative : utiliser la souplesse de l'enveloppe pour enregistrer en png-16 couleur. Mais après réflexion, il y aurait de grandes chances pour qu'il n'arrive pas à le charger après coup...

De plus, comme ce n'est pas une norme, de toute facon, il ne pourra jamais enregistrer ses PNG en true-color 16bit, il faudrait donc qu'il passe par un autre format... le BNP-16 existait à une epoque dans paint mais il a apparement a disparu... et le TGA ? après, il risque du coup de rencontrer un pb de place si il prend un format non compresse comme ce dernier...
Ancien pseudo : lolo

18

Oui, il n'a qu'une seule solution s'il veut utiliser du png, c'est de réduire la précision au cours de la décompression. Pas seulement en gardant les bits de poids fort, ce qui fait 16 aplats de couleur moches (bah oué, 4 bits pour une couleur c'est peu), mais en faisant du dithering. Après évidemment il peut choisir un autre format d'image, afin de forcer le logiciel qui enregistre à faire le dithering lui-même.
Les images targa (tga) sont un choix simple à implémenter, qui peut être envisageable s'il dispose d'une méthode de décompression annexe (par exemple il pourrait stocker ses images en tga.gz s'il a de quoi décompresser le gzip sur la dc). Et pour le coup, les images targa supportent bien plus de formats de samples que le PNG smile

19

tout a fait d'accord avec toi pour la solution de compresser les tga smile au pire ca ralenti le chargement au démarrage, mais ca a l'avantage de faire un seul gz pour toutes les textures (data.gz)
Ancien pseudo : lolo

20

Bonjour et merci pour votre reflexion smile

Si j'ai bien tout suivi (je suis programmeur du jeu, je ne suis pas trop calé en graphisme) :

- D'apres vous, il serait possible de creer du png en 16 bits, mais son format n'etant pas répandu, vous pensez qu'on ne pourrait surement pas l'exploiter tel quel.
Pour moi, l'idéal serait que nous puissions contrôler ce passage de 24 bits à 16 bits.
Car effectivement, en chargeant les png sur Dreamcast, je ne garde que les bits de poids forts, ce qui crée un rendu 16 bit avec des paliers dans les dégradés.
Donc une solution serait peut etre de pouvoir sauvegarder nos PNG 24 bits dans n'importe quel format qui gère le 16 bits (avec une transparence progressive, c'est à dire un canal alpha, car nos images utilisent des dégradés de transparence) avec une appli qui saurait correctement passer au 16 bits sans paliers (dithering je crois), puis de resauvegarder ces images dans le format PNG 24 bits.
Est ce que dans ce cas, la conversion "à la bourrin" par les bits de poids forts, respecteraient mieux l'image ?
Si oui, avez vous une idée du format intermédiaire 16 bits qu'on pourrait utiliser ?

- L'utilisation du TGA : je pense que je pourrais effectivement les stocker sur le CD dans un format compressé (la librairie 7z existe), et les decompresser lors du loading. Pour moi le souci de ce format c'est qu'il ne gère qu'un bit pour la transparence (sauf erreur de ma part). On devrait donc faire sans dégradé de transparence, ce qui nous ferait des explosions et des ombres toutes moches.

avatar
Développeur d'Alice Dreams Tournament, sur Dreamcast.

Soutenez nous en rejoignant notre page FB : http://www.facebook.com/alicedreamst
Suivez nous sur twitter : http://twitter.com/AliceDreamsT Merci !