summaryrefslogtreecommitdiffstats
path: root/res/effectlib/funcspecularBSDF.glsllib
diff options
context:
space:
mode:
Diffstat (limited to 'res/effectlib/funcspecularBSDF.glsllib')
-rw-r--r--res/effectlib/funcspecularBSDF.glsllib40
1 files changed, 9 insertions, 31 deletions
diff --git a/res/effectlib/funcspecularBSDF.glsllib b/res/effectlib/funcspecularBSDF.glsllib
index e9450bf..f774b0b 100644
--- a/res/effectlib/funcspecularBSDF.glsllib
+++ b/res/effectlib/funcspecularBSDF.glsllib
@@ -6,37 +6,15 @@
#define scatter_reflect_transmit 2
#endif
-vec4 specularBSDF(in vec3 N, in vec3 L, in vec3 viewDir, in vec3 lightSpecular,
- in float ior, in float shininess, in vec3 tint, int mode)
+vec4 specularBSDF(in vec3 N, in vec3 L, in vec3 viewDir, in vec3 lightSpecular, in float shininess)
{
- vec4 rgba = vec4( 0.0, 0.0, 0.0, 1.0 );
- float cosTheta = dot( N, L );
- if ( 0.0 < cosTheta )
- {
- if ( ( mode == scatter_reflect ) || ( mode == scatter_reflect_transmit ) )
- {
- vec3 R = reflect( -L, N );
- float cosAlpha = max( 0.0, dot( R, viewDir ) );
- float shine = pow( cosAlpha, shininess );
- rgba.rgb = shine * lightSpecular;
- }
+ vec4 rgba = vec4(0.0, 0.0, 0.0, 1.0);
+ float cosTheta = dot(N, L);
+ if (0.0 < cosTheta) {
+ vec3 R = reflect(-L, N);
+ float cosAlpha = max(0.0, dot(R, viewDir));
+ float shine = pow(cosAlpha, shininess);
+ rgba.rgb = shine * lightSpecular;
}
- if ( ( mode == scatter_transmit ) || ( mode == scatter_reflect_transmit ) )
- {
- // check against total reflection
- vec3 R = refract( -viewDir, N, ior );
- if ( R == vec3( 0.0, 0.0, 0.0 ) )
- {
- rgba.a = 1.0;
- }
- else if ( mode == scatter_transmit )
- {
- rgba.a = 0.0;
- }
- else
- {
- rgba.a = 1.0 - luminance( tint );
- }
- }
- return( rgba );
+ return rgba;
}