In principle BSDF manual,specular is set to ((ior-1)/(ior+1))^2/0.08 to get realistic result.So does this imply that reflection amount (percentage of incident light) is only determined by ior and light angle on a flat surface ? If so,how should I set up nodes for diffuse,reflection and refraction ?Although all dielectic material has refraction,sometimes I just want to ignore it for simplicity.In this case,how should I remove the part of refracted light and just do diffuse and reflection ?

Edit:I search wiki and it says the amount of reflection and refraction is determined by Fresnel coefficients.https://en.wikipedia.org/wiki/Fresnel_equations From the simple normal case,R=((n_1 - n_2)/(n_1 +n_2))^2..just plug fresnel into surface the result seems to be it.But I am not very sure.Some materials distinguish fresnel reflection and specular reflection. https://download.blender.org/documentation/bc2012/FGastaldo_PhysicallyCorrectshading.pdf

Edit:In practical,when we consider unpolarized nature light,the the reflection coefficient is just average of R_s and R_p..Or we even use Schlick's approximation..So the amount of relection and refraction is clear.Diffuse is a particular case of subsurface scattering,so it should belong to refraction.And then how much does diffuse take in refraction ?


1 Answer 1


First,the answer is yes.In most occasions you don't need to worry about reflection amount when using fresnel as fac in mixing shader.

Second,the fresnel equation compeletely characterizes reflection and refraction in a transmissive surface.In blender,the light is treated as unpolarized so that the reflection amount is 1/2*(R_s+R_p).Theoretically,the fresnel node should be used as fac for mixing refraction and reflection.Diffuse is an approximation of subsurface scattering,so for some materials we assume the refracted light is all scattered so we can replace refraction shader by diffuse shader.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .