POV-Ray : Newsgroups : povray.pov4.discussion.general : Builtin color spaces, spectral colors? : Re: Builtin color spaces, spectral colors? Server Time
20 Apr 2024 01:35:38 EDT (-0400)
  Re: Builtin color spaces, spectral colors?  
From: Simon Copar
Date: 25 Mar 2013 14:15:01
Message: <web.515093efb3de06a65a03f8f0@news.povray.org>
Huh, I'm thinking now that if you have a lot of wavelengths, you can have both
cases: non-existence of positive-spectrum solution for rgb color, or many
optimal solutions with different spectra (depends on the input color). So from
what scott wrote, you could then additionally minimize for example a+b+c+d
(maximize spectral efficiency) to avoid stuff like strong infrared components
for red spectrum (the result should then be pretty smooth).

I realize that the result is governed by the choice of sampling wavelengths. If
you dislike that, you can perform the optimization for a fixed set of
wavelengths (something like a fixed-spaced 5-10 samples) and interpolate the
result. It doesn't make any sense to make it more precise than that, because
your input only has 3 components.

Just giving ideas, until someone starts writing this, details probably don't
matter much :)

> Or if you put "cri 100" it would create the "widest"
> spectrum (maybe by minimising RMS value of the spectrum?) to better
> simulate things like paint and incandescent light.

In any case, this would only be used if you specify rgb components (just a
shortcut if you don't put any effort into specifying the full spectral
response). If you want good effects, you should provide spectral colors anyway.
If this is implemented, you would certainly get macros for generating a light
spectrum of chosen color temperature (plus probably ionized gas colors and CIE
standard illuminants, such as D65), and a database of paint colors and natural
material spectra that you can then also mix in a scene as you wish.


> > of a specific display device for maximum accuracy (for instance, if you know
> > exactly what projector will display your movie). And for normal users, you would
> > just keep scrgb as default.
>
> Nah, color profile freaks wouldn't benefit from custom response
> functions; for that use case, a final conversion step from spectrum to
> XYZ (based on the standard observer) to whatever color profile they
> choose (based on a user-supplied CIE color profile) would be the way to
> go. In this respect, sRGB output would be just a special case of this
> final step.
>
> Custom response functions might still be handy for creating false-color
> renderings of colors outside the visible spectrum, but I'd consider that
> pretty low priority.

Sure, but it's straight-forward because your final projection (before nonlinear
gamma-like conversions) is just a dot product like
red=red_response*spectrum
....
so changing the basis vectors is no big deal.

Using exact device spectrum is more precise than XYZ adjustment. After
projection to 3 components, all you can do is adjust the whitepoint and that
hides all the spectral details. But the freaks might not care about that :)

> Nope, it's not an option for input images. But some pre-computed values
> and interpolation might do the trick.

Well yes, but for literals in the scene precomputation will be faster (and
simpler, because the internal colors that stand as object and pigment properties
in the code can be in the same format without overloading). That's a small
implementation detail anyway :)


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.