RGBA と ARGB


GL_BGR_EXT(id:keim_at_Si:20050120)修正実装用の個人的メモ


各ライブラリ内での「unsigned char 配列」色表現について,まとめて見る.

{R, G, B, A} 形式
    COLORREF
    OpenGL(GL_RGBA)
{B, G, R, A} 形式
    D3DCOLOR
    DIB(RGBQUAD)
    OpenGL(GL_BGRA_EXT)
    Mac?

二系統あるっぽい.4Byte目に Alpha値 ってのは,共通みたい.


各ライブラリ内での「unsigned long」色表現について,まとめて見る.

0xAABBGGRR 形式
    COLORREF
    OpenGL(GL_RGBA) on windows
0xRRGGBBAA 形式
    OpenGL(GL_RGBA) on unix
0xAARRGGBB 形式
    D3DCOLOR
    DIB(RGBQUAD) on windows
    OpenGL(GL_BGRA_EXT) on windows
0xBBGGRRAA 形式
    Mac ?
    DIB(RGBQUAD) on unix
    OpenGL(GL_BGRA_EXT) on unix

OpenGL と WindowsAPI(COLORREF) との相性が良いみたい.意外.


座標系もそうだけど,なんで OpenGLDirectX は,こんなに相性が悪いのか...
っていうかMS,
DIB と WinodwsAPI で逆にしておいて,
WinodwsAPI と DirectX でまた逆にしてるし.
歴史的経緯?