diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-11-01 14:04:21 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-11-05 18:55:06 +0300 |
commit | fc6a430d8e8614950ac156d4c709ce0bce91111f (patch) | |
tree | 60cab8798d1425c66d58d7b69cb51a036f275538 /source/blender/draw/engines/eevee/eevee_shader.hh | |
parent | c746eeae931780783daa0d75889ed08a15aab1ea (diff) |
EEVEE: Raytracing: Add denoise and move raytrace passes to raytracing module.
Denoising make use of more memory to store and reproject the result of
previous frame to reduce noise. This only works for viewport.
There is a final bilateral filter for cleaning up noise even more.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_shader.hh')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_shader.hh | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_shader.hh b/source/blender/draw/engines/eevee/eevee_shader.hh index 2fca0b85c13..15dc0710d4e 100644 --- a/source/blender/draw/engines/eevee/eevee_shader.hh +++ b/source/blender/draw/engines/eevee/eevee_shader.hh @@ -100,6 +100,9 @@ enum eShaderType { RAYTRACE_REFLECTION_FALLBACK, RAYTRACE_REFRACTION, RAYTRACE_REFRACTION_FALLBACK, + RAYTRACE_DENOISE_DIFFUSE, + RAYTRACE_DENOISE_REFLECTION, + RAYTRACE_DENOISE_REFRACTION, RAYTRACE_RESOLVE_DIFFUSE, RAYTRACE_RESOLVE_REFLECTION, RAYTRACE_RESOLVE_REFRACTION, @@ -120,11 +123,12 @@ enum eShaderType { class ShaderModule { private: struct ShaderDescription { - const char *name; - const char *vertex_shader_code; - const char *geometry_shader_code; - const char *fragment_shader_code; - const char *defines_shader_code; + const char *name = nullptr; + const char *vertex_shader_code = nullptr; + const char *geometry_shader_code = nullptr; + const char *fragment_shader_code = nullptr; + const char *compute_shader_code = nullptr; + const char *defines_shader_code = nullptr; }; DRWShaderLibrary *shader_lib_ = nullptr; |