diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2018-05-22 17:59:12 +0300 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2018-05-22 17:59:43 +0300 |
commit | 1b164cf81e10523491ad525bc86f7ff3bbdcf4b0 (patch) | |
tree | ecab4b18a6e242361d6b505cc0026086ec0f05c7 /source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl | |
parent | 8644eef5c309ee2b28f6e6935e98e88bb6732633 (diff) |
Workbench: SeeThrough
added a fresnel effect
TODO: solve memory leak
Diffstat (limited to 'source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl')
-rw-r--r-- | source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl index 7eb5336e303..78981522c18 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl @@ -48,7 +48,16 @@ void main() #endif /* V3D_LIGHTING_STUDIO */ float alpha = world_data.see_through_transparency; +#ifdef NORMAL_VIEWPORT_PASS_ENABLED + vec3 normal = normalize(normal_viewport); + float kr; + fresnel(vec3(0.0, 0.0, -1.0), normal, 1.22, kr); + alpha = mix(alpha, alpha+alpha, kr); +#endif + vec4 premultiplied = vec4(shaded_color.rgb * alpha, alpha); + transparentAccum = calculate_transparent_accum(premultiplied); + } |