色の16進数表記

hex-color.png

0xRRGGBBAA
0xFFFFFFFFは白です。
この数値をそのまま足し算したりしても思った通りの混色にはならないので注意!
0xFF=255 つまり1要素あたり輝度が0~255のレンジで表現されています。

16進数色を(R,G,B)=0.0~1.0に変換するコード

    static glm::vec3 Color(int hex) {
        float r = (hex >> 16 & 255) / 255.0;
        float g = (hex >> 8 & 255) / 255.0;
        float b = (hex & 255) / 255.0;
        return glm::vec3(r, g, b);
    }

(R,G,B) 0.0~1.0表記の色を16進数に変換するコード

/**@param r,g,b...0.0~1.0範囲の値*/
static int tohex(float r,float g,float b){
    int ir = int(r*255.0);
    int ig = int(g*255.0);
    int ib = int(b*255.0);
    int hexcolor =(ir<<16) +(ig<<8)+ib;
    return hexcolor;
}

hexadecimal

サポートサイト Wikidot.com hexadecimal