Announcement

Collapse
No announcement yet.

ACES workflow in Vray for Modo

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ACES workflow in Vray for Modo

    Hi,

    In this thread I will talk about ACES workflow in Vray for Modo. ACES simplifies color management and brings us closer to spectral rendering in many ways. There are many advantages to using ACES in Vray's worfklow, specially wide gamut with ACEScg and the tone mapping used in RRT. I will talk about the workflow in details and share few examples to compare with my older workflow.
    Color management has been an interesting, fun journey for me. Chris Brejon's CG cinematography has been a massive help, he has wrote an amazing thread on ACES. And I got help from many people in Modo's community, Funk, Simon Bjork and PhotoMG. Funk wrote an OSL code that takes care of the texture conversion, so you don't need to convert your textures manually(more on this later)


    What is ACES

    -ACES is a free, open, device-independent color management and image interchange system that can be applied to almost any current or future workflow. It was developed by hundreds of the industry’s top scientists, engineers and end users, working together under the auspices of the Academy of Motion Picture Arts and Sciences(best known for the academy awards, the Oscars)

    -This system includes multiple color spaces and transforms, for me personally the most interesting part of ACES system has been ACEScg color space which we will use as our Rendering Space in Vray. This is called Wide Gamut rendering

    Examples and comparison

    I recreated Chris's Cornellbox scene in Vray, you can download the scene here
    Textures were used for this test, I converted them to ACEScg in Nuke. And I'm comparing the results in the same colorspace and using the same view transform (ACES)sRGB

    Click here for high res. and swipe.
    And here the GI render element for this test




    you can see how we get much better GI with ACEScg because when converting Red and Green to ACEScg they are not fully saturated colors anymore and we get data in all R G B channels.

    Here is another example, click here for full Res. and Swipe
    ACES render using (ACES)sRGB view transform vs my older workflow(Linear-sRGB with a simple sRGB curve)


    GI render element for this test here, there is a difference when using ACEScg

    One more example here


    Workflow in Vray for Modo

    -Download ACES 1.2 here ,we only need the aces_1.2 folder. We will point Vray, Modo, PS..etc to the config file in this folder. So put it on your C drive or documents folder.
    -Download Funk's OSL code here , probs to him for making this!
    -The config file contains all the transforms needed for texture conversion, this works for renderers that has support for OCIO textures like Arnold, but unfortunately Vray doesn't support that. We are going to use Funk's OSL code for the conversion to make sure all inputs are in ACEScg.
    -We need to convert only Diffuse maps, SSS maps, HDRIs/light textures. We don't need conversion for greyscale images used for things like roughness/bump/displacement...etc because they will looks exactly the same in ACEScg color space(because white point and transfer function doesn't change)
    -For 8bit JPEGs you need to load them with an sRGB transfer function(colorspace menu in Image Still tab), then connect it to OSL texture in schematic.
    And for 16/32bit EXRs like HDRIs you will need to set transfer function to Linear or None, see how I convert my HDRI in this example



    Make sure to use the correct UV projection type on the OSL texture node. It should match your texture node settings(this doesn't update in IPR) And having the OSL node at the top of the stack in shader tree

    -All other textures should use None/Linear transfer function, bump, displacement, normal or any multipliers. Again greyscale values/images and Achromatic colors look exactly the same in ACEScg and Linear sRGB, because white point and transfer function doesn't change.

    -If you use kelvin temperature for your lights, you will need to do this through the OSL texture. We are lucky that Modo's color picker has an input for kelvin temperature, this is a huge issue in other DCCs. You will need your Numeric CS to be set to Linear in settings.


    Also keep in mind that RGB(Linear HDR) values in the color picker is what Vray uses internally. you can use that to get access to saturated colors, or if you are curious about the values that Vray uses internally. I do pick my colors in ACEScg most of the time, I only pick colors through OSL texture only when I need kelvin temperature. We are blessed to have a really good color picker in Modo

    -Last step is in the Virtual Frame Buffer, using the correct ODT for your monitor. You will need these settings



    -Input colorspace set to ACES - ACEScg(Linear) because we made sure that all of our inputs are in this colorspace. The primaries of your textures determine the rendering space Vray uses.
    -View Transform is basically the ODT + RRT, it converts the Linear render from ACEScg to (ACES)sRGB or whatever you use. It also includes tonemapping that expands mid-tone contrast and compresses the shadows and highlights. This gives a filmic look to Vray's renders out of box, and brings us closer to what Corona/Fstorm/Octane do by default. That being said, it is important to understand that ACES is not just a LUT. ACEScg has an impact on GI because of wide gamut rendering.

    -The default (ACES)sRGB view transform can have too much contrast in some cases, you can counter that using a curve adjustment or even better you can swap the view transform to Rec709(uses gamma of 2.4 and should have less contrast overall). Also keep in mind that the view transform doesn't get baked into your EXR, and advantage of ACES is that you always have the data scene referred.

    Let me know if you have any questions.

    Best,
    Muhammed
    Last edited by Muhammed_Hamed; 05-06-2020, 02:23 PM.
    Muhammed Hamed
    V-Ray GPU product specialist


    chaos.com

  • #2
    Thank you so much for this Muhammed. !
    Great info as always.

    Bart

    Comment


    • #3
      ACES is the future, especially when dealing with HDR Monitors. However I think for the workflow its better to wait for V-Ray 5.0 and Modo to fully adapted to it. In general it should no be more complicated then choosing the file OCIO defaults and the LUT in the VFB in Vray. In most applications its already becoming the standard. Just a matter of time.

      Comment

      Working...
      X