kawecki opened this issue on Dec 13, 2006 · 27 posts
bagginsbill posted Thu, 14 December 2006 at 2:45 PM
You did not make colored glass. I agree that the Fresnel effect is very important for the realism of glass, and I should have talked about it. I figured kawecki was probably overwhelmed by all that new shader stuff and didn't need Fresnel that bad for flat glass.
However, I never use the Fresnel node for two reasons.
You have no ability to control the amount of reflection. If you were doing a surphace with partially dirty areas, you couldn't adjust the reflection amount. And in general you need to adjust the reflection amount to deal with various levels of polish, clearcoat, etc.
The fresnel node erroneously multiples not only the refracted light with the Refraction_Color, but also the reflected light. This is not at all correct.
Instead, I use the EdgeBlend node to make the reflection value depend on viewing angle. I use 1 minus that for the refraction value.
In the render above, the 3 balls on the left use Fresnel. The three on the right use Reflect, EdgeBlend (with inverse), and Refract. The top have Refraction_Color = RGB(140, 70, 0). The middle have Refraction_Color = (64, 128, 64). And the bottom have Refraction_Color = RGB(255, 255, 255). The bottom left is configured just as your example above.
The shader tree is showing how the right-hand red ball is set up. The three on the right have the same nodes, just different Refraction_Color as described above.
But your example is a special case by not doing colored or darkened glass. As you can see, the color of the refraction greatly impacts the reflection. Of the left-hand spheres, only the bottom one is correct. So Fresnel is fine for perfectly clear glass. Otherwise, don't use it.
While you're at it, I didn't use it here, but the specular value should be multiplied by the same EdgeBlend as used for the Reflection_Value. I set the specular up the same way you did, but it's wrong. The right thing to do is turn off the default specular and use the glossy node, with the amount controlled by that EdgeBlend.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)