question

Paul Clements avatar image
Paul Clements asked ·

Aces colour space

I am making RGB ID mattes in the Arnold shader but they don't seem to work correctly.

If I have a noise going into a ramp that remaps the colour to full red, full green, full blue, I would expect when viewing the red channel the other channels to not be visible...

I am finding that the other channels are still visible, when only viewing one. Am I missing something?

Many thanks,

(version 3.3.5.rc2, (6.2.1.0)

color spaceaces
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Paul Clements avatar image
Paul Clements answered ·

Thanks Peter, that is really helpful I will try that.

A workaround I found was to create a red jpeg (1,0,0) and set the colour space to disabled to get the correct values.

The utility shaders such as Surface Derivative which is outputting RGB values... Is there a fix for getting the correct outputs here?

It feels like we need an option to 'disable' colour management for Arnold generated colours.

1 comment
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Only color inputs are affected by this, so color values you define on the UI. State shaders or the utility shader (other then the 'color' Color Mode) always output a value in the working color space. (If that's what you were asking.)

It feels a bit overkill having a separate color space option for every color input on the UI.

0 Likes 0 ·
Peter Horvath avatar image
Peter Horvath answered ·

The color management workflow in Cinema 4D is a little bit cumbersome.

There are basically three factors to consider:

  • What's the color space of your input?
  • What's the working (render) color space?
  • What's the view (display) color space?

By default, the Input Color Profile is sRGB (see Edit > Project Settings). In case of ACES this means the sRGB color space defined in the Arnold Render Settings, which I believe is "Utility - sRGB - Texture" by default. The render color space is "ACEScg", the view color space is whatever, let's say "Output - sRGB".

So the color value you see on the UI is expected in "Utility - sRGB - Texture", converted to "ACEScg", then to "Output - sRGB" for the display.

For a red (1, 0, 0) color this means:

  • "Utility - sRGB - Texture" --> "ACEScg": (1, 0, 0) --> (0.613, 0.070, 0.021)

So after the color space transform you see values in the G and B channel, this is just how the ACES color transform works.

What can you do about it? Well, you can define that your inputs are in the working color space (in ACEScg), so they are not converted. Either set Input Color Profile to Linear, or the sRGB space to ACEScg. However this affects all color inputs, so it's not ideal.

What you can do instead is to use a vector value instead of a color, since vector inputs are not transformed. For instance add a value shader, change the Data type to vector and connect it to your ramp color.

Sorry for the long explanation, hope this helps solving the issue. :)

10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.