Bonjour !
Voilà, j'ai une question qui me tourmente depuis quelques temps. Quand on utilise la SDL dans un contexte d'un mode couleurs 32 bits, on sait qu'on fait des suppositions sur l'organisation de la mémoire vidéo (par exemple si on veut poser un pixel : on sait que les pixels sont organisés linéairement, ligne par ligne).
Mais en ce qui concerne le codage couleur ? Il y a certes la fonction SDL_MapRGB() qui se charge de convertir une couleur (R, V, B) en code couleur, mais est-ce qu'il est raisonnable de supposer que le codage se fait sous la forme :
- Bits 0-7 : bleu
- Bits 8-15 : vert
- Bits 16-23 : rouge ?
Si c'est le cas, ça permettrait de faire une macro de composition et de pouvoir ainsi facilement faire de vrais constantes couleur en utilisant cette macro.
#define RVB(r, v, b) (((r) << 16) | ((v) << 8) | (b))
Cela fonctionne sous Windows et Linux, mais est-ce que ça fonctionnera partout, notamment sous les systèmes Big Endian, à votre avis ?
Merci d'avance pour votre réponse.
Partager