Announcement

Collapse
No announcement yet.

colored reflections and not white for non-metal materials? material scanning question

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

  • colored reflections and not white for non-metal materials? material scanning question

    As soon as I think I get a handle on material theory, I discover something that sets me back to square one and leaves me questioning everything I know. I have started playing around in the world of material scanning. When I scan fabrics, plastics, paper etc... the specular color I get is almost always non white. In fact it represents the opposite color on the spectrum as the diffuse color. At first, I thought this was a wrong capture, but after asking fellow material scanners, and the creators of a material scanner, they get the same result and are saying that is actually the correct map to use in a pbr engine and that having an opposite color as the diffuse gets them the pure white reflection that dielectrics have.

    So I tried this out in the world of Vray. I've noticed if I create a material with a pure Red Diffuse with a value of 1 with a reflection color of pure cyan with a value of 1, I do indeed get a white reflection. I clearly get the same result if I do a white reflection as well. In fact, I get the same exact beauty render. As long as I keep my saturation values the same between the diffuse and reflection channels, I get the same beauty render.

    The exception is, when I have a wide glossy lobe, I get slightly different results. See attached images for comparison. The one with the tinted reflection color has a more saturated color at grazing angle, which looks nicer, but I don't think is correct.
    Click image for larger version

Name:	tinted_reflection.jpg
Views:	1
Size:	116.4 KB
ID:	883352
    Click image for larger version

Name:	grey_reflection.jpg
Views:	1
Size:	116.1 KB
ID:	883353

    I think I understand why the difference. When we tint the reflection, the grazing angle reflection is more noticeably tinted causing a more saturated reflection that isn't dull. However, if I understand Fresnel correctly, as the angle reaches grazing, the reflection value goes towards 1 or white. So if I create a custom fresnel node, and pipe in the cyan color for the facing angle and white for the grazing angle, I get similar if not the same effect as having a pure greyscale color in the reflection channel which makes them now render the same.

    Questions:
    1. What is going on here, can anyone offer an explanation and how I should work if desiring to be as accurate as possible? Do I need a colored spec inverse of that to the diffuse?
    a. Why are the reflections tinted when scanning a material? Is it because: it is the colors that are not absorbed by the material, thus getting reflected back as a tint which, when combined with the diffuse, produces an un-tinted reflection color?
    b. If that is correct, and we do indeed need to use a color in the reflection channel of our materials for pure accuracy, do we need to make a custom fresnel so it falls off to a white value at grazing angle? Or do we leave it as is, and it falls off to a near 1 value at grazing, but still retains it's saturation?
    c. IF the correct workflow is to use a tinted reflection color and have it fade to white at grazing angle, producing the same output as if we had simply used a white value in our reflection channel, is that why we simply use white in our reflection colors to begin with? Does Vray take care off all of that math for us?

    2. From what I understand, to work in completely accuracy within Vray, you keep your reflection color to 1 with all materials. The only reason why dirt is more matte than a shiny plastic ball is due to micro-facets, so you should only really use GGX and adjust your glossiness and IOR to achieve different materials. Is this correct?
    a. If this is correct, when working with really matte surfaces such as most fabrics, I find that I MUST always lower my reflection amount considerably or the material will appear too reflective. Is this wrong? Do I really only need to adjust glossiness and my IOR for different materials?

    3. When I scan a material that has two colors, say black and white, the scanned reflection will be much brighter in the black color and much darker in the white area. Material Scanners say this is correct behavior because it follows energy conservation. Darker materials have more reflection because there is less diffuse color and vise versa. I agree with this, but I don't think I would plug this map into a Vray material, because Vray handles that energy conservation by itself, correct? Or do I need to still plug in the reflection map that says more reflection in the dark areas and less in the white to be physically accurate?

    Click image for larger version

Name:	SPECULAR_EXAMPLE.jpg
Views:	1
Size:	332.7 KB
ID:	883354


    Thank you so much for your insights and help.
    Last edited by thebeals; 12-01-2016, 07:06 PM. Reason: Clarification

  • #2
    Looks like I may have been wrong on the different reflections matching between the cyan and the grey?

    I did another test where I turned off fresnel and just had a reflection value of .2 to keep things simple. When I rendered, I did see different results in the beauty image. So in the previous comparison, there probably wasn't a visible difference because the reflection at f0 was so small.

    I'm still stuck, it doesn't answer the questions, but does illustrate there is a difference in output. So revised questions:

    1. What is going on here, can anyone offer an explanation and how I should work if desiring to be as accurate as possible? Do I need a colored spec inverse of that to the diffuse? (it seems I should not use an inverse color, but I can't figure out why I was told I need to in order to get a white reflection.
    2. From what I understand, to work in completely accuracy within Vray, you keep your reflection color to 1 with all materials. The only reason why dirt is more matte than a shiny plastic ball is due to micro-facets, so you should only really use GGX and adjust your glossiness and IOR to achieve different materials. Is this correct?
    a. If this is correct, when working with really matte surfaces such as most fabrics, I find that I MUST always lower my reflection amount considerably or the material will appear too reflective. Is this wrong? Do I really only need to adjust glossiness and my IOR for different materials?
    3. When I scan a material that has two colors, say black and white, the scanned reflection will be much brighter in the black color and much darker in the white area. Material Scanners say this is correct behavior because it follows energy conservation. Darker materials have more reflection because there is less diffuse color and vise versa. I agree with this, but I don't think I would plug this map into a Vray material, because Vray handles that energy conservation by itself, correct? Or do I need to still plug in the reflection map that says more reflection in the dark areas and less in the white to be physically accurate?
    Last edited by thebeals; 12-01-2016, 09:09 PM.

    Comment


    • #3
      Hmm I'm not sure I agree with the 3rd statement. I always thought of reflection as a constant on any given material. If you think about it, pitch black material painted with a clear coat will have the same reflection as a pure white material painted with that same clear coat. The difference is light termination, light reflectance. For the black material more light will be lost and therefore the reflection will be the only component that is visible and perhaps a bit darker. For the white material, more light will be reflected back and perhaps the reflection will be slightly brighter. I really doubt that a scanner can discern this value as human can. When you scanned your materials, did you absolutely make sure that the reflection properties of both were equal?
      Dmitry Vinnik
      Silhouette Images Inc.
      ShowReel:
      https://www.youtube.com/watch?v=qxSJlvSwAhA
      https://www.linkedin.com/in/dmitry-v...-identity-name

      Comment


      • #4
        Originally posted by thebeals View Post
        1. What is going on here, can anyone offer an explanation and how I should work if desiring to be as accurate as possible? Do I need a colored spec inverse of that to the diffuse? (it seems I should not use an inverse color, but I can't figure out why I was told I need to in order to get a white reflection.
        No, well, at least there's no material theory that I know of that would suggest you need a inverse coloured reflection.
        To break it down, non-metal objects (dielectrics) have, for material purposes, a surface layer and a subsurface layer.

        -The surface is the one that can send back light in a mirror-like fashion if the surface is very smooth, but can also scatter the light if the surface is rough. It is the boundary layer the light hits when it strikes the object. Basically the light is always either reflected out (back) or tranmitted in according to the Fresnel equation for each 'microfacet'. The light that is reflected back is not coloured, only for metals. What can can happen on the nanoscale, is that light reflecting back from this layer actually hits another part of the surface, where it will either be reflected out or transmitted in again. So if anything, surface reflection is either white or slightly tinted towards the subsurface colour because of microfacet bounces, basically where the object reflects itself.
        Note that the surface reflection doesn't need to be white, it just needs to be non-tinted, in other words all wavelengths of visible light are treated (roughly) equally. (IOR values are not that different for different wavelengths for dielectrics.
        So, for all practical purposes surface reflection is not tinted.

        - The subsurface is where the light goes after it gets transmitted through the surface when it doesn't get reflected out. There it scatters around, bouncing off atoms until it either gets absorbed or it gets out (same side or other side of the object) after several bounces to see the light of day again, hehe. Now, here different wavelengths get absorbed differently. If an object absorbs non-red wavelengths more than red, red light will have a much better chance of making it back out, so the object appears red as that is the light that makes it out of the subsurface. The subsurface is what makes objects appear to have colour.

        It looks like the scanner is balancing against the subsurface colour to get the end result, for some reason. For the scanned material it may add up correctly, I don't know the math behind how they calculate their result, but from a theoretical standpoint it doesn't make much sense.

        2. From what I understand, to work in completely accuracy within Vray, you keep your reflection color to 1 with all materials. The only reason why dirt is more matte than a shiny plastic ball is due to micro-facets, so you should only really use GGX and adjust your glossiness and IOR to achieve different materials. Is this correct?
        a. If this is correct, when working with really matte surfaces such as most fabrics, I find that I MUST always lower my reflection amount considerably or the material will appear too reflective. Is this wrong? Do I really only need to adjust glossiness and my IOR for different materials?
        No, keeping reflections at 1 is not correct. It would be if the renderer simulates the surface nanostructure perfectly, however no renderer does. So, in the case of materials where the chances of microfacet reflections hitting other microfacets is high, such as rough surfaces or yes especially fabrics, you will need to multiply down the reflection amount to simulate surface masking and shadowing as the microfacet inter-reflection is called.

        3. When I scan a material that has two colors, say black and white, the scanned reflection will be much brighter in the black color and much darker in the white area. Material Scanners say this is correct behavior because it follows energy conservation. Darker materials have more reflection because there is less diffuse color and vise versa. I agree with this, but I don't think I would plug this map into a Vray material, because Vray handles that energy conservation by itself, correct? Or do I need to still plug in the reflection map that says more reflection in the dark areas and less in the white to be physically accurate?
        As Dmitry said this seems odd.
        Energy conservation has nothing to do with if an object is black or not, it just says that the light coming out cannot be more than the light coming in. Or to put it differently, the light that is reflected, absorbed and transmitted must be the same energy as the energy of the light coming in, which just makes sense; if you throw a bucket of water in a pool then there's a bucket of water in the pool.
        Reflection is a surface property (though technically speaking all light coming back from either surface or subsurface is reflected light). So it bounces back out regardless of how much light gets absorbed in the subsurface as it's the first surface the light hits. There may be some small amount of light coming out of the subsurface and then reflecting off of the surface back out, more so in complex surface structures like fabrics, but probably it doesn't add up to much, plus is it surface reflection or subsurface reflection? For smoother surfaces like plastic this would not be measurable, so part of the light gets reflected off of the surface, the rest goes into the subsurface, there for a black material most gets absorbed, for white most finds it back out, but the surface reflection amount stays the same. Energy conservation doesn't balance the two layers, it just says that you can only use for the subsurface (black or white) whatever is left from the surface after surface reflection, nothing more.
        Rens Heeren
        Generalist
        WEBSITE - IMDB - LINKEDIN - OSL SHADERS

        Comment


        • #5
          Glorious replies!! Thank you so much! You guys reinforced what I thought I knew and added to with more information! Thank you so much for such a helpful reply. You both are awesome! I appreciate the clarification of the reflection value needing to be less than 1 because no material can correctly calculate everything. That most certainly helps my brain out.

          Dmitry, I did make sure the color chart with the varying reflection is the same material. I took a photograph from different angles and the reflection is all the same at different angles as far as I can tell. So the material is the same, but I have no idea what the scanner is doing to create such drastic differences in reflectivity. Looks like I will be talking to the creator's of the scanner more in depth. Thank you again!

          Comment


          • #6
            This might be of interest, did you try polieized lens? You can take a picture of both materials with and without polirized lens and do a difference to essentially extract just the specular information from surface then compare between white and black.
            Dmitry Vinnik
            Silhouette Images Inc.
            ShowReel:
            https://www.youtube.com/watch?v=qxSJlvSwAhA
            https://www.linkedin.com/in/dmitry-v...-identity-name

            Comment

            Working...
            X