Ignore:
Timestamp:
Jan 4, 2013, 2:20:36 PM (8 years ago)
Author:
sam
Message:

color: add conversion from CIE-xyY to CIE-XYZ and start working on
a wavelength to saturated xyY function based on the standard observer
data.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lol/image/color.h

    r2196 r2199  
    150150
    151151    static vec4 CIEXYZToCIExyY(vec4 src)
     152    {
     153        return vec4(CIEXYZToCIExyY(src.rgb), src.a);
     154    }
     155
     156    /*
     157     * Convert CIE xyY to CIE XYZ
     158     */
     159    static vec3 CIExyYToCIEXYZ(vec3 src)
     160    {
     161        return src.z * vec3(src.x / src.y,
     162                            1.0f,
     163                            (1.0f - src.x - src.y) / src.y);
     164    }
     165
     166    static vec4 CIExyYToCIEXYZ(vec4 src)
    152167    {
    153168        return vec4(CIEXYZToCIExyY(src.rgb), src.a);
     
    260275        return sqrt(dLp * dLp + dCp * dCp + dHp * dHp + RT * dCp * dHp);
    261276    }
     277
     278    /* Convert a wavelength to an xyY fully saturated colour */
     279    vec3 WavelengthToCIExyY(float nm);
    262280};
    263281
Note: See TracChangeset for help on using the changeset viewer.