Fresnel Reflections and Material intensity

So I war reading the other thread
http://forums.chaosgroup.com/showthread.php?74637-Real-looking-glass-(yes-again)
and made some tests I would like to dicuss with you guys.
My assumption from these tests regarding fresnel reflections. Our materials (walls and anything that is not glass) are “wrong” :slight_smile:
Actually this could fix some problems I red over the past here in the forum. Those are:
The sky is to dark. To less reflection. Overbright scene while the same exposure of a realworld camera gives a darker result.

First let´s look at a photo I just took from a window.
So this is how a reflection looks like in realworld.

Now I made a test setup in Vray using a Physical Sun and Sky and I ´m using just the “multiplier” of Reinhard Tonemapping to expose the scene.
The Reinhard Multiplier is the same as when using a physical camera. It´s linear. It´s easier to understand this way.
No Linear Workflow or other tonemappings where used as it doesn´t
make a difference to the problem I want to discuss.

The basic idea is to stay as physically correct as possible. Every material except the glass has a grey Vray Material with a value of 128 mid grey.
In the final rendering I want to have this grey material as close as possible to it´s initial value.. mid grey.

So this is the first rendering. As I said before A Physical Sun/Sky was used in conjuntion with Reinhard Tonemapping (Multiplier only). To get the exposure down to a level
where my mid grey material also will become mid grey in the final rendering I had to turn the Reinhard Multiplier down to 0.02.
The glass material is pretty much standard. Diffuse black. Reflections white, Refraction white, IOR 1.6.

As we can see the reflections are much to low compared to the photo. But why ? We have a physical sky. We have a physical correct glas
with a correct IOR. (some may argue at that point that real glass can´t have a pure white reflection.. but this doesn´t matter as lower reflection
values even makes the problem worse)

Now there are actually 2 non physical ways to come across this. Either you turn up the fresnel IOR or modify the falloff incase a falloff was used instead of fresnel.
Resulting in more reflections but on the other hand you´ll have a wrong falloff curve. The other way is to use an environment on this material with a much higher value
than the actual background wich also result in a stronger reflection but brings us other problems. For example when you have a window, where you can see the sky behind.
Because you cranked up the environment map it will also effect the refraction resulting in an overbright area. Environment maps at the moment can only be split global
in reflection/refraction.. not locally on a material.

Anyway for my part both ways are acceptable as long as the image looks good. But in this example we try to stay as physically correct as possible.

Now my assumption is, if the Sun/Sky is correct and if the glas material is correct as well there is only one factor left that must be wrong. All the other materials !
Let´s give it a try. So I will now turn down the intensity of my mid grey material from 128 to 64 wich means half the intensity. In exchange for that I ´ll double the multiplier
of my Reinhard Tonemapping from 0.02 to 0.04

This is the result.

As you can see, the sky is now brighter and doesn´t look as dull as before and most important we have much more reflection going on while my
grey material is still pretty much the same.

Let´s go a step further and again I take half the intensity of my material from 64 down to 32 while I double the multiplier of Reinhard to 0.08

The result.

And now our intensity of the reflection is much closer to the one of the real photo while the glas material was not touched
and our grey material still has the same value (in the final rendering) in all 3 pics.
The sky became a bit overbright but this is quite common when working linear (linear not linear failflow :wink: )

It would be cool to have a global switch to turn down the intensity of every diffuse component of a scene during rendering.
Because it ´s not quite fun to work with such low values in the material editor. Well in case soemone does not want to fake it.

cheers

tl:dr if you turn down the intensity of your materials in the same way as you turn up the exposure.. reflections look better.

Eh, I quick tried to setup something similar and I think the results look fine… not sure what you’re doing but there might be something going on with your gamma/color mapping setup. If I had a nice cloudy HDRI in the scene I think it would look pretty spot on.

also you should attach your file for people to help troubleshoot. Here’s my take, attached
If I’m wrong, or there’s a better way, I’d be happy to hear how I might improve it.

max file (2012), Dropbox - Error - Simplify your life

What cheerioboy said, V-Ray materials are pretty close to the real thing. But your test images seem way off in terms of gamma and general exposure.

Best regards,
Vlado

Hey I just checked your scene. Your diffuse slot from the walls uses a Vray color map with a value of 0,22 means it´s roughly an intensity value of 64. Means it s pretty dark allready.
If you clear this map and just use a diffuse color (wich basically doesn´t make a difference) with a value of 128 and you render your scene, the walls in the front will be overbright
with values even above white (roughly 1,2)
to get it down to a mid grey again you´ll need to set your fstops to something like 3,7 wich darkens the sky and you´ll lose a lot reflections again.
This problem is not really connected to color mapping, gamma or exposure settings. It´s just a general thought about how the intensity of the diffuse component
affects the realism of reflections. In production I usually fake all of this. I just wanted to share this idea with you guys.

You are correct about that; people often use diffuse values picked by eye that are too bright compared to the properties of actual materials.

Best regards,
Vlado

Sorry but I disagree :slight_smile: It ´s not connected to gamma at all. This is pic 1 and 3 from my previous post rendered with gamma 2.2


Yep that´s exactly what I´m trying to say. And I wonder if it would be possible by comparing materials to fresnel reflections to determine their actual intensity needed for a
more physically correct rendering.

The reasoning for the vraycolor map is to re-align the color, chosen by eye in screen space, to match what is desired in the scene when using a linear workflow. See attached how my scene changes if I remove the vraycolor map and apply the 128 grey color in the diffuse color selector.

I guess there might be ways to streamline this or integrate the adjustments directly within the color selector. I know this has been discussed before. But I imagine this type of issue might cause confusion in people’s material creation overall.

“The basic idea is to stay as physically correct as possible”

Proceeds to break all physicality instantly lol…Sorry to be a dick :stuck_out_tongue:

Uhh this topic is a little bit off in my eyes. If you want to do proper test you need to start from beginning. 1St of all measure environment. The window picture you took. What camera did you use. What lens settings etc etc. Second you should take HDR picture with at lest 9 stops-preferably 18+ 360 degree envi. Did u wash down the window to make sure its as clean as possible? Best way is to take HDR based window for more pixel information. Also take picture with black curtain, white curtain, lights on and so on so you can reproduce different scenarios. Then once you have accurate HDR for reflections, good backplates with as clean as possibly can be window. Then we can do tests. Also you need to do them properly with 2.2 gamma and linear color mapping with no subpixell enabled. Then remodel the part of backplate to match it as closely as possible to camera shoot. Then match camera settings. So far this topic is just bunch of assumptions and statements like : " I think " where as it should be “The fact says…”.

Sorry to be buzz kill but its CGI and if you want to get better results unfortunately your tests has to be as accurate as they can be. Its good you started doing this but push a little bit further on a accuracy side.

Thanks, bye.

grant: where did i break all physicality instantly ?

Dadal: Gamma 2.2 is not physically correct at all it adds a curve to you image that a Realworld camera doesn´t have to come around problems every realworld
photographer has to face. Or does a photographer pre gamma 2.2 realworld materials before he takes a photo.. probabely not. Usually a realworld camera is
pretty much linear, that´s also waht a Vray Physical Camera is. Unless a camera uses s-log or similar solutions.
http://pro.sony.com/bbsccms/assets/files/mkt/cinema/solutions/slog\_manual.pdf

Also the basic idea behind my test wich is purely theoretic is trying to get more physical correct materials. Wich we do not have at the moment.
And this is not a Vray related problem but counts for all renderes.
As I asked before. Under wich lighting and wich exposure settings do you photograph a texture to get a correct physical behaviour in your rendering ?
Can you answer this question ?

Im not diving in to gamma subject.

I use this to extract pure diffuse collout out of my texture. http://www.tandent.com/lightbrush/ or I use HDR based approach to get textures.

We do have physically accurate materials now.

I’m so tired of this. It’s been, what, six or seven years since the whole gamma debate started and I still do things the wrong way apparently. I tried out Corona renderer this summer and it was such a blast compared to how things are with the one engine I pay to use. Hey wanna try LWF? ok go through this fucking checklist starting from your 3DS Max preferences. Then, run your bitmaps through Color Correction map. No, not every map, just the diffuse and reflection channels. Also, don’t use the diffuse slot if you’re just trying to get a constant diffuse color because that won’t work, or to be more specific, it will “work” but you need to understand the result won’t be correct and there’s no way of knowing this if you don’t read the forums - just use the Vray Color map.

What makes you think that Corona does anything differently with regards to gamma? It has the exact same issues and it does not do anything whatsoever to solve them (which is probably the most sensible thing a render engine could do). If you choose to ignore them, that’s fine. Even with V-Ray things will mostly work correctly out of the box now.

Best regards,
Vlado

I prepared a simple scene in both Corona and Vray 3 beta so you’d see for yourself. No tricks, no color corrections, rendered it and ended up with 99% same image. I apologize. I need to look into why I get such mixed results from more complex scenes. At the end of the day I’m certain it’s a user error which makes this all the more frustrating.

This needs to be pointed out: There is no checklist or hoops to jump through regarding LWF if you only understand what is going on, and why.
Obviously it is going to seem confusing if you don’t understand it (obvious claim is obvious), but as soon as you get a grip on the whole concept, there are no more problems or surprises than working the old way.

True, there are still some aspects of max that make you have to consider things before going ahead, some Vray legacy UI stuff from the days before this being standardised that might seem confusing the first time, and issues like procedurals not adhering to the same gamma parameter as bitmaps, but at the end of the day, working the old way still makes you do things “wrong” and leads to you having to correct stuff either in max or in post anyway. I have never ever gamma corrected any bitmap through a CC map. I always do the gamma adjustments on the bitmap load dialogue when loading something that gets interpreted wrong.
(There is no rule that certain bitmaps need or don’t need to be gamma corrected in regards to what slot they are meant for. The only thing that matters is whether or not the map is a gamma corrected bitmap, linear bitmap, or a linear procedural).
The big difference being with LWF, is you at least get a result that is somewhat predictable and doesn’t rely on weird maths in the compositing stage amongst others.
Make your self a pre-set (maxstart file or render preset) and you should be set for the time being.

Also @ samuel_bubat: Cameras (dslr’s)are usually writing to their own proprietary format,as raw, with some colour mapping, or to jpg as sRGB. Old analogue cameras were as non-linear as they come, hence the crazy LUTs one needed to read them properly when scanning the negative.

There are three big factors in this - what is the camera seeing, what colour was the wall you’re trying to match and how bright wa the light source hitting it/ You’ll need at least 2 of those measurements or you’re in a never ending cycle of tweak, render and so on. There’s a really good fx phd course called mya 214 which is actually a maya and mental ray course done by the head of 3d in framestore that goes into shooting reference on set to allow you to calibrate hdr’s and brightness values so that you can get your camera and hdr in a really accurate place, so with those two parts of the equation locked down, all you need to do is get your material looking right.

A lot of games have moved towards physical based lighting recently and as part of that they’ve started scanning materials to get an accurate idea of how bright the diffuse really is, how reflective they are and how blurry their reflections / speculars are. There’s a good article on Game environments - Part A: rendering Remember Me - fxguide which runs through it and even shows some charts with typical brightness values for common materials and their specular and reflection values. Again they’re taken from specific objects so they’re only 100% accurate to just those objects, but it’s a far better starting place rather than picking a brightness value out of thin air.

@Joconnel - any idea where I can learn to calibrate my panos without doing the FXphd course?

I have been grabbing the metadata from one of my stitched photos and inputting that into vray exposure control. Then adjusting the HDR intensity and basically eyeballing it until it looks about the same as my control photograph.

Also I agree with others that without gamma correcting swatches - this test is off.