Cycles / OSL: Add a conductive fresnel shader template.
This adds a fresnel conductive OSL preset to the Text Editor. Based on a patch by Lukas Stockner. Differential revision: https://developer.blender.org/D145 See the differential for details.
This commit is contained in:
@@ -34,3 +34,16 @@ float fresnel_dielectric_cos(float cosi, float eta)
|
||||
return result;
|
||||
}
|
||||
|
||||
color fresnel_conductor(float cosi, color eta, color k)
|
||||
{
|
||||
color cosi2 = color(cosi*cosi);
|
||||
color one = color(1, 1, 1);
|
||||
color tmp_f = eta * eta + k * k;
|
||||
color tmp = tmp_f * cosi2;
|
||||
color Rparl2 = (tmp - (2.0 * eta * cosi) + one) /
|
||||
(tmp + (2.0 * eta * cosi) + one);
|
||||
color Rperp2 = (tmp_f - (2.0 * eta * cosi) + cosi2) /
|
||||
(tmp_f + (2.0 * eta * cosi) + cosi2);
|
||||
return (Rparl2 + Rperp2) * 0.5;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user