What is the tl;dr on the RV color pipeline?

In RV there are two separate ways to configure color: RV color pipeline or OCIO color management .

RV color pipeline involves adding and re-arranging nodes throughout the color pipeline. All of the configuration is handled through the source_setup.rvpkg package. You can get more details on it here: Chapter 12 - Automated Color and Viewing Management

You can see the Image Processing graph here: Chapter 2 - Image Processing Graph I think the simplified takeaway from this is the following:

Where SourceGroup is the node where RV tries to parse all the input colorspace and transforms that come from the file (read any of the information from the image format, look pipeline, LUT transforms, etc). Then by the time RV display this information in a View (Sequence, Stack or Layout) the output of sourceGroup has to be linear for RV to process the color correctly. Then, after the view there’s one DisplayGroup node per display device. And here you can specify for the DisplayGroup to convert from linear to sRGB (or any other space you need). RV assumes separation between file look and display space, where DisplayNode will only contain the colorspace for the physical monitor.

Now, for the SourceGroup, you can arrange the pipeline nodes in any way that you would like, and whatever order. This is where source_setup.rvpkg comes in. It’s a package that is installed and enabled by default in RV. You can navigate to the python code under $RV_INSTALL_PATH/Contents/PlugIns/Python/source_setup.py. Please create your own package that subclasses the original source_setup.rvpkg. You can specify DisplayGroup look in your package as well.

We also offer OCIO color management where RV’s color pipeline is entirely bypassed to be replaced by OCIO nodes where appropriate. We do recommend trying RV’s color pipeline first before diving into OCIO, but you can find how to get started here.

2 Likes

Hi,

Great that you post this up! We’re on our way of setting up OCIO in RV. We’re going this way mainly for portability - OCIO is everywhere, in Nuke, Deadline/Draft, DCCs, and it makes sense that we use the same configurations in RV. We’re getting an error with the ACES 1.0.3 default OCIO config though, I’ll ask our pipeline dev Mois Moshev to chime in here.

Thanks

1 Like

Hi Hristo!

Thank you for your kind words!

OCIO is a great way to go forward but it can be complicated to set up. I made a quick intro to OCIO here: Getting Started with OCIO in RV

What is the ACES issue that you’re running into? Is it related to the config itself?

As a reminder, this is a public forum, which means that your proprietary data is visible to everyone, so please sanitize anything that you don’t want to be shared publicly.

1 Like

Hi Alexa, thanks for the guide! We’ve started work on this, and it’s moving along, we’ve fixed that error. We’ll let you know how it goes.

2 Likes

Hey, first of all thank you for the write ups, they are really informative!

I managed to put together something that works quite quickly, based on the example you gave in the other thread.

Now items in the OCIO menu are not disabled, and the correct ones are selected.
All items were disabled, previously, when configuring only through the environment ($OCIO, $SHOT).

Next we are going to look into creating a new package, in order to load the necessary scripts when needed.

We are just getting into OCIO, so surely there will be more questions.

Cheers

2 Likes