Hi,
On Sat, 2007-08-18 at 18:48 +0200, Edouard Gomez wrote:
> I'd like just to discuss about the curve usage in rawstudio.
Me too :)
> As i figured out, the curve is used in the RGB space. But doesn't it
> make more sense to use it in some luminance colorspace (YCbCr, L*ab).
It would make a lot more sense. But everything in Rawstudio is really
written for RGB. This results in numerous interesting side effects when
using curve - most importantly hue-shifting.
I have an idea. Some pseudo code to explain:
more_magic()
{
float luma_curve[65536];
...
output = tranform_rgb_as_usual(input);
luma = cumpute_luma(output); /* Maybe cumpute_luma(input); */
output.r *= luma_curve[luma];
output.g *= luma_curve[luma];
output.b *= luma_curve[luma];
...
}
- removes hue-shifting.
- makes curve a lot more predictable.
(- extremely easy to implement with our current SSE-based render code)
> What i'd like to have is:
> - One curve to control luminance
I haven't done the math, but I believe that the method above should give
you this.
> - A set of three curves to control the output color
I'm not so sure this is needed, but it would be trivial to implement.
> The first curve just fills the need i have to control luminance more
> closely than the Exposition tool allows me (it's uniform while the curve
> can be whatever the user desires). The typical use case is to boost dark
> areas of the photos and/or decrease photo burns w/o touching the chroma.
>
> The second set of curves would allow the user to alter the final color
> rendering. It allows doing like for argentic photos and developing the
> shoots on other type of papers.
>
> Any thoughts ?
A lot.
/abrander
_______________________________________________
Rawstudio-dev mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-dev