diff options
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/default_frag.glsl')
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/default_frag.glsl | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/default_frag.glsl b/source/blender/draw/engines/eevee/shaders/default_frag.glsl new file mode 100644 index 00000000000..6d941ae6ec3 --- /dev/null +++ b/source/blender/draw/engines/eevee/shaders/default_frag.glsl @@ -0,0 +1,19 @@ + +uniform vec3 basecol; +uniform float metallic; +uniform float specular; +uniform float roughness; + +Closure nodetree_exec(void) +{ + vec3 dielectric = vec3(0.034) * specular * 2.0; + vec3 albedo = mix(basecol, vec3(0.0), metallic); + vec3 f0 = mix(dielectric, basecol, metallic); + vec3 N = (gl_FrontFacing) ? worldNormal : -worldNormal; + vec3 out_diff, out_spec, ssr_spec; + eevee_closure_default(N, albedo, f0, 1, roughness, 1.0, out_diff, out_spec, ssr_spec); + + Closure result = Closure(out_spec + out_diff * albedo, 1.0, vec4(ssr_spec, roughness), normal_encode(normalize(viewNormal), viewCameraVec), 0); + + return result; +} |