Reinhard color mapping in PS and After effect: how?

Hi guy

have a problem. Usually, when i work on VRay, i use Linear Work Flow. I work in linear + sRGB button. When i produce my .exr float render in linear mode, out of VRay and 3ds max they are dark, but i change the gamma in PS ( femous 2.2) . Now, if i work in Reinhard mode, how i can obtain the same result in PS? In Photoshop i have only 3 tool (Exposure, offset and Gamma correction) but i can’t obtain the same Reinhard result.

Can you hel me?

Thank’s

cecofuli

I think you can adjust the brightness curves in Photoshop in a way to resemble the Reinhard curve.

Best regards,
Vlado

The big shiny and beautiful bubble of HDR workflow in PS bursts when you discover, that there is no curves control in 32 bit mode…

Best regards,
A.

Agreed,

Once we switched to mostly using a floating point image
workflow PS was out and Combustion was in.

Regards
Bri

Hi guy,

Ah, ok, there isn’t “mathematical” and accurate solution. But i see that playing in 32bit with the 3 tools, i can obtain near the same result than rainhard.

Thank’s! :slight_smile:

cecofuli

Why u try to reproduce it in PS, when u can set it in Vray ? I use renhard color maping in Vray all the time, and is mutch more suitable for me, than try to reproduce it in PS..

Hi
Becouse i prefer work in linear space 32bit float number, with not embeded color mapping and apply my corection only in POST (PS for Still and AE for movie). :slight_smile:

Bye

cecofuli

Hi Users,

I am interested in applying the color mapping curves after rendering in linear spaces. Does anyone know the mathematical functions for doing color mappings like:

-Exponential
-HSV-Exponential
-Intensity Exponential
-Reinhard?

I would like to write me a script in Maxscript that allows me to get a preview of a preselection of different color mappings after the image is rendered in linear space.
Any help? I could provide you with the script once I have done it.

Thanks :slight_smile:

Robert

Here are the forumlas for these color mapping modes:

Exponential:

float k=clamp(color.intensity(), 0.0f, 1.0f);
k=darkMult*(1.0f-k)+brightMult*k;
res=color;
res.clampMin();
res.set(1.0f-expf(-res.r*k), 1.0f-expf(-res.g*k), 1.0f-expf(-res.b*k));

HSV exponential:```
float k=clamp(color.intensity(), 0.0f, 1.0f);
k=darkMult*(1.0f-k)+brightMult*k;
res=color;
res.clampMin();

float h, s, v;
RGBtoHSV(res, h, s, v);

v=1.0f-expf(-v*k);

res=HSVtoRGB(h, s, v);


Intensity exponential:```
float k=clamp(color.intensity(), 0.0f, 1.0f);
k=darkMult*(1.0f-k)+brightMult*k;

float c=color.intensity();
float m=(1.0f-expf(-c*k))/c;
res=color*m;

Reinhard:```
res=colormultiplier;
res=res
(Color(1.0f, 1.0f, 1.0f)+res*VR::sqr(burnValue))/(Color(1.0f, 1.0f, 1.0f)+res);


Best regards,
Vlado

Thank you Vlado, that is great!

Cheers

Robert

Does anyone know how I can get read out the 32bit-pixel value of an hdr image in maxscript? Max is giving me out the 8bit-rgb-value with the getPixels-function, even if it is an hdr image. Or is there any function in the vray sdk that does this?