-
Notifications
You must be signed in to change notification settings - Fork 715
[css-colors-4] Clarify whether RGB is additive or not #9977
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Right, that is sloppy. But to restore the parts you clipped out
These are correct.
This is also correct.
Should be
By the way, you say
Not by the formal definition (accurate prediction of the color of mixed light); only by the fairy tale definition of "light is additive, pigment is subtractive, cyan = 1 - red" and so on which is wrong in so many ways. It is sadly common (including in older CSS and SVG specifications, and in the definitions of HSL and HWB) to do arithmetic on gamma-encoded RGB values; and the results from such calculations are incorrect in that they fail to predict the resulting color. |
Do you have a reference with the formal definition to recommend to me? |
Not at the moment, I am traveling, but I can find something once I am back home and have access to Color Science books again. |
However, to give you something to go on meanwhile, additivity is one consequence of Grassman's Laws which form the basis of modern colorimetry (subject to certain conditions, which that link also states). And they are generally true but can break down under certain conditions, termed additivity failure. As an example, if human subject color matching tests are performed to match a given hue at different levels of chroma, the results do not exactly fall on a straight line on a chromaticity diagram but on a slightly curved line. |
Thanks for the links. I have only basic knowledge of colorimetry based on various literatures and experiences in color correction and graphic/web design. I know that one have either to use linear RGB or apply manual compensations in order to create realistic color shadows/highlights, blend colors, etc. I guess this is why SVG filter primitives operate in linear RGB by default. I have just never come across the formal definition. Unfortunately, the "fairy tale" definition seems to be much more widespread than the formal definition and the explicit statement "(most) RGB color spaces are not additive", which yields results with the opposite statement when searching it on the web. So the presence of the two opposing statements in the spec (before your fix) was all the more unfortunate. I am not sure the spec should ellaborate more on this though. |
In 2. Color Terminology:
And later:
This seems contradictory. I guess most RGB color spaces are not linear, but they are all additive.
The subtractive process create colors by blocking the light whereas the additive process create colors by adding lights.
The text was updated successfully, but these errors were encountered: