Bonjour à tous
Je code en ce moment avec openGL un petit générateur de carte en 3D à partir d'une heighmap générée sous forme de SDL_Surface ayant 8 bits de profondeur (1 bytePerPixel).
Lorsque j'essaie de récupérer les composantes de la surface, j'obtiens des valeurs vraiment bizarres et totalement différentes suivant la taille de l'image et certains éléments rajoutés : je m'explique : pour tester ma fonction j'utilise une surface présentant un dégradé du blanc vers le noir, donc dont les composantes sont sensées aller de 255 à 0. Cependant, suivant la taille de la surface, les composantes varient de 0 à une valeur me paraissant totalement aléatoire (toujours inférieure à 255) et variant en fonction de la taille de l'image et de l'image elle même (par exemple si je rajoute un cercle blanc sur l'image la valeur de la composante correspondant au blanc sera changée), tout en conservant une diminution liée au dégradé. Je dois avouer que je ne comprends vraiment pas la raison de ce maximum aléatoire correspondant au la couleur blanc qui me bloque totalement pour la suite, même si je pourrai toujours passer par des images 32 ou 24 bits qui elles sont correctement décomposées par la fonction.
J'espère avoir été suffisamment clair pour être compris , je souhaiterais en gros obtenir la méthode de codage sur 8 bits des images afin de pouvoir récupérer des composantes comprises entre 0 et 255 correspondant au noir et au blanc, et non des composantes comprises entre 0 et une valeur imprévisible
Si vous voulez des bouts de code, n'hésitez pas, j'avoue que je poste ça un peu a la hâte mais je peux vous fournir les parties concernées si vous le souhaitez
Partager