diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-08-12 19:40:52 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-08-14 14:36:56 +0300 |
commit | 67c10dbf1322bd09945c82354d5d3a9004e06bcd (patch) | |
tree | 1024f0d4b1d7012f4ba1ff028ae5887f79b4c5cd /source/blender/gpu | |
parent | 13d469e6f0c554399629febeb1fd8d680b873a90 (diff) |
Eevee: Add support for the holdout node
Support should be full when using Alpha Blend mode and partial if using
any other blend mode (opaque / alpha clip / alpha hashed).
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_material.glsl | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl index 798d19b6b9d..7cb38503039 100644 --- a/source/blender/gpu/shaders/gpu_shader_material.glsl +++ b/source/blender/gpu/shaders/gpu_shader_material.glsl @@ -1964,6 +1964,15 @@ void node_volume_principled(vec4 color, #endif } +void node_holdout(out Closure result) +{ + result = CLOSURE_DEFAULT; +#ifndef VOLUMETRICS + result.holdout = 1.0; + result.flag = CLOSURE_HOLDOUT_FLAG; +#endif +} + /* closures */ void node_mix_shader(float fac, Closure shader1, Closure shader2, out Closure shader) |