Aces color problem

   991   3   1
User Avatar
Member
7 posts
Joined: April 2017
Offline
Hello Everyone!
I am using H 19.5.640 with RS 3.5.16
I was using this converter to have specific color in the render https://ajalt.github.io/colormath/converter/ [ajalt.github.io]
but to test I went to https://color.adobe.com/create/color-wheel [color.adobe.com]
I did a screenshot of it, took the middle purple color with #b030de srgb values, used the converter to have that same purple in H.
ACEScg RGB 0.31007, 0.06731, 0.64968.
color from adobe page:


In H made a grid, and color sop, copy the numbers from the converter. Put the render to fusion, added the OCIO and compared to the original color and its not matching ?
Here is the screenshot of fusion viewport, (top is adobe page, bottom is rendered grid (after ocio node) merged with bg color. to show the difference in colors.


Anyone know the solution to fix it ?
(I know there is a chop conversion option used for textures, but here is for specific color values only)
Thanks a lot!
Image Not Found
Edited by onelitu - Sept. 26, 2023 11:08:14

Attachments:
Captureasd.PNG (197.1 KB)
Captureasd2.PNG (80.8 KB)
color_test_01.hiplc (239.4 KB)

User Avatar
Member
46 posts
Joined: July 2015
Offline
1. houdinis 19.xx.xx color picker has a bug...it always has linear-srgb as input...
so if you feed in the hexcode above, it thinks it is in linear...so with the little "apply color correction" activated in the right top corner of the color-picker, you get a double-color-transform (see also in viewport)...
so you have to first linearize the hexcode before feeding in the values...(from #B030DE-srgb to #6E07BA-linear)

2. to then get this "linearized" color to match exactly in ACEScg (which will be impossible with a normal color-transform from linear-srgb to acescg), you will need a so-called "inverse-aces" transform...
redshifts ocio-config has one built in called "invert ACES 1.0 SDR-video" but this is a bit tricky because this config only assumes image-inputs.
on a color sop this conversion can only happen with some fancy color-matrix-maths (dont know if there is online color conversion out there, that converts from inverse-aces to acescg...)...

3. but there is a confortable way to achive this...redshift OSL.
here is a OSL-file that takes a color as input (dont forget to linearize it first because of the color-picker bug) and you specify a "input color-space" and a "output color-space" (in your case here "invert ACES" to "ACEScg")

but be careful with this color-transform, very bright colors will start to emit light, because i.e. 1.0-srgb will become 16.0 in acescg...
Edited by soulcage_dpt - Sept. 27, 2023 06:29:02

Attachments:
changeColorSpace.osl (853 bytes)

User Avatar
Member
46 posts
Joined: July 2015
Offline
...now i am a bit confused...

the osl i provided works not as expected...especially with the "inverted ACES"...dont know why and have to investigate (or ask redshift forum)
with a map generated from the hexcode and mapped to the grid with "inverted aces" in the rsTexture, works as expected...
as a "attribute from map" and the Cd as a rsUserColorAttribute feed into the osl, doesnt work...very strange...
User Avatar
Member
7 posts
Joined: April 2017
Offline
Thanks for the reply!
I wasnt using the color picker in H, i heard there are some issue with it,
thats why i was using that converter https://ajalt.github.io/colormath/converter/ [ajalt.github.io]
adding there my choosen color ( #b030de) and then looking for values for Aces-cg, and then i copy/paste them into houdini directly to color sop.

But then once its render and comp with ocio the result is different (like the screenshot above) ?
  • Quick Links