


in CIELAB, the middle grey that most people identify as "half way" between black (0.0) and white (100.0) is a value of 50.0 in L*a*b*. If you are working with light values, such as with adding together multiple colors, then linear spaces such as XYZ or xyY are your ideal choice as the math to do so is simple.īut if you are working with perceptual quantities, such as how would this apple look if it was perceived as half as brightness, then L*a*b* may give you an easier answer. XYZ and LAB serve two very different purposes. The intention is that when you apply simple linear math, the results mirror real light. Luminance (the Y in XYZ) varies linearly just as light does in the real world. The intention is to be perceptually uniform.ĬIEXYZ is a linear representation of light. The L* (from L*a*b*)is perceptual lightness, approximating the human eye's gamma of photopic vision. This could be linearized RGB, or it could be CIEXYZ or xyY, which are linear colorspaces.ĬIELAB is nonlinear. 3D rendering or laying images in a composite, etc) usually that means we want to mix colors using a linear light (linear colorspace) model. But you might also look into iCAM and CIECAM02.īut you say you want to mix colors that represent virtual lights in a virtual environment ( i.e. Since you mentioned it, I am assuming that is your intent. But if you are generating a set of gradient colors for use in web design? Well, it could be better to generate those using the gamma encoded color values, or perceptually uniform values (L*).ĬIELAB is used for applications where you need to model the nonlinear perception of human vision. Working with VFX in films, normally we model light as it is in the real world, and light in the real world behaves linearly, so linear math on a linear light model is the means to do that. Which is better? Depends on your application. For instance in one example, averaging the RGB components between two colors will give a different result depending on if you are using linearized color values, or gamma/perceptually encoded ones, or are using some other color difference method. There are some cases when you might want to use linear math on gamma encoded color data, particularly if you are looking for a perceptually linear result. I'm re-writing my answer in part because there are valid reasons for mixing colors in linear as I first wrote, but using perception adjusted colors does have some advantages depending on needs, as are other methods, so it's not an absolute "do this not that." These aren't the Gamuts You're Looking For.
