Announcement

Collapse
No announcement yet.

Need help understanding Material Texture Loader Script

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

  • Need help understanding Material Texture Loader Script

    So I've recently been using this new script to streamline my workflow process for properly converting the textures to it's proper gamma because I have no idea how any of this stuff is supposed to work. However I'm having difficult understanding why it's assigning these particular values. For example, I downloaded some surface textures from Megascans and created a custom shader using Quixel Mixer which anyone can view here and when I loaded the textures into the script it assigned these variables:

    Diffuse Inverse Gamma: 0.455
    RGB color space: Default

    AO Inverse Gamma: 0.455
    RGB color space: Default

    Specular Inverse Gamma: 1.0
    RGB color space: Default

    Gloss Inverse Gamma: 1.0
    RGB color space: Default

    Normal Inverse Gamma: None
    RGB color space: Raw

    Displacement Inverse Gamma: 1.0
    RGB color space: Default

    With the exception of the normal, I don't understand why it's assigning those values for the gamma so I'm also wondering if these are correct? Can anyone break this down for me and let me know what's the proper workflow in layman's terms and is the script assigning it correctly? Thanks

  • #2
    Kind of hard to say without knowing the original image's color space. Yes, normal maps should be loaded as raw. Inverse Gamma is a manual gamma correction - the correction value depends on the texture color space itself. So in your case, it's not certain if it should be 1 (Raw) or 0.4545 (which corresponds to sRGB) as in the DIffuse and AO. I suggest you look at the render result and adjust accordingly.
    Aleksandar Hadzhiev | chaos.com
    Chaos Support Representative | contact us

    Comment


    • #3
      Originally posted by hermit.crab View Post
      Kind of hard to say without knowing the original image's color space. Yes, normal maps should be loaded as raw. Inverse Gamma is a manual gamma correction - the correction value depends on the texture color space itself. So in your case, it's not certain if it should be 1 (Raw) or 0.4545 (which corresponds to sRGB) as in the DIffuse and AO. I suggest you look at the render result and adjust accordingly.
      Hey hermit, appreciate the follow-up. Had some time to do digging and discovered this: In the Mixer color space settings they're set to the defaults as you can see in the map settings, so in my case they're the following:

      Diffuse and AO: PNG | 8-bit | Gamma (color space)

      Specular, Roughness, Metalness, Gloss, Normal: | 8-bit | Linear (color space)

      Displacement: EXR | 32-bit | Linear (color space)

      Makes a bit more sense however I'm still confused if and why I should set the gamma to 1.0, none, raw, or if the script is correctly assigning them. Any thoughts?

      Comment


      • #4
        It all comes down to whether or not gamma correction is applied prior to saving the image. Linear images are usually saved as raw and the gamma curve is applied to them in the host platform. Naturally, gamma-baked images (usually 8/16-bit images) do not require additional correction. Also, bitmaps used for Displacement and Normals do not require correction, since 3ds Max considers only the numerical value of the pixels. And finally, an Inverse Gamma = 0.455 (1 over 2.2) reverts the gamma-baked image to its raw values so as the renderer may calculate with uncorrected values. Read this and this to clear things up.

        The "Linear workflow" used to be quite tedious, but now V-Ray does things automatically, so I suggest you don't worry as much. And finally, the settings you shared should be correct if the Specular/Roughness/Metalness/Glossiness pixel values you wish to use are the pre-baked gamma ones.
        Aleksandar Hadzhiev | chaos.com
        Chaos Support Representative | contact us

        Comment

        Working...
        X