diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-07-17 14:39:03 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-07-24 16:28:27 +0300 |
commit | 1d00a66f5db787759fdf211322b4683bb5458318 (patch) | |
tree | 554d1ef8c5beb000b2f099d0920fe5682fd0a4e3 /source/blender/draw/engines/eevee/shaders/default_frag.glsl | |
parent | 2a84331f02d08092aa42b3870693d09b18744b4b (diff) |
Eevee: SSR: Encode Normal in buffer and add cubemap fallback.
Normals can point away from the camera so we cannot just put XY in the buffer and reconstruct Z later as we would not know the sign of Z.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/default_frag.glsl')
-rw-r--r-- | source/blender/draw/engines/eevee/shaders/default_frag.glsl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/default_frag.glsl b/source/blender/draw/engines/eevee/shaders/default_frag.glsl index db8ed2d04fe..e1d5bbd8511 100644 --- a/source/blender/draw/engines/eevee/shaders/default_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/default_frag.glsl @@ -12,7 +12,7 @@ Closure nodetree_exec(void) vec3 ssr_spec; vec3 radiance = eevee_surface_lit((gl_FrontFacing) ? worldNormal : -worldNormal, diffuse, f0, roughness, 1.0, 0, ssr_spec); - Closure result = Closure(radiance, 1.0, vec4(ssr_spec, roughness), viewNormal.xy, 0); + Closure result = Closure(radiance, 1.0, vec4(ssr_spec, roughness), normal_encode(normalize(viewNormal), viewCameraVec), 0); #if !defined(USE_ALPHA_BLEND) result.opacity = length(viewPosition); |