Oded Erell writes:
I developed a Complex-Fresnel texture node for Cycles, that supports GPU rendering. It's a procedural color texture that receives complex IOR input data and provides correct color\reflection per angle, especially useful for rendering realistic real world metals.
The CGL_Complex_Fresnel node should be connected to the color input of a Glossy BSDF or Anisotropic BSDF shader.
Some complex IOR examples:
* values in these examples have been retreived for 650nm, 550nm, and 450nm wavelengths.Gold:
n: 0.18299, 0.42108, 1.3734
k: 3.4242, 2.3459, 1.7704Iron:
n: 2.9114, 2.9497, 2.5845
k: 3.0893, 2.9318, 2.767Copper:
n: 0.10423, 0.79746, 1.0482
k: 3.7757, 2.5642, 2.4136More complex IOR data can be obtained here:
https://refractiveindex.infoYou're welcome to download the .blend file containing the node-group from our website.
Enjoy! :-)
12 Comments
hahaha Just in the nic of time! I've already have something set up to render in Gold color, Now I'm going to replace it with this and see what I'll get. thanks a Million + 1 !!
That's great!
Hope you'l find this useful! :-)
hahaha Just in the nic of time! I've already have something set up to render in Gold color, Now I'm going to replace it with this and see what I'll get. thanks a Million + 1 !!
Thanks a lot !!!
A GPU friendly node group was posted a year ago by Jaroslav Novotny, it even is PBR which this one is not, it is also faster to compute. I can only recommend:
https://blender.stackexchange.com/questions/71651/custom-fresnel-curve
Thanks for the link!
I didn't know about it,
What makes it 'PBR'?
It takes into account the roughness. The Complex Fresnel is only accurate when the roughness is 0. Otherwise the edge tint and falloff are different. There is a PBR metal shader with that incorporated in that SE answer I linked.
Oh I see,
You mean 'Glossy Fresnel'?
* that's what they call this in V-Ray.
Thanks for pointing this out!
I'll look into that.
I thought that the Principled Shader in 2.79 does fresnel automatically.
The Principled BSDF does have Fresnel reflections built into it,
Including complex Fresnel when set to metallic.
But the implementation doesn't let you type real world IOR values.
There's a formula for how the Specular value is translated into IOR:
https://docs.blender.org/manual/en/dev/render/cycles/nodes/types/shaders/principled.html
Interesting. Thanx for the reply.
Awesome!