blob: 27b58fcc00f1d69842af372ff9a32b8d0b467f5f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
|
vec4 diffuseTransmissionBSDF( in vec3 N, in vec3 L, in vec3 viewDir, in vec3 lightDiffuse, in vec4 transmissiveColor, in float translucentFalloff, float lightWrap )
{
float cosThetaI = max( 0.0f, (dot( N, L ) + lightWrap) / (1.0 + lightWrap) );
float factor = cosThetaI;
float l = 0.2126f * transmissiveColor.r + 0.7152f * transmissiveColor.g + 0.0722f * transmissiveColor.b;
float translucent_thickness = l * l;
float translucent_thickness_exp = exp( translucent_thickness * translucentFalloff);
return( translucent_thickness_exp * vec4( factor * lightDiffuse, 1.0f ) );
}
|