Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2021-11-01 14:04:21 +0300
committerClément Foucault <foucault.clem@gmail.com>2021-11-05 18:55:06 +0300
commitfc6a430d8e8614950ac156d4c709ce0bce91111f (patch)
tree60cab8798d1425c66d58d7b69cb51a036f275538 /source/blender/draw/engines/eevee/eevee_shader.hh
parentc746eeae931780783daa0d75889ed08a15aab1ea (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.hh14
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;