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>2022-07-29 19:08:42 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-08-02 22:53:17 +0300
commitf4fe3fb09b2b45647cb76710327c5029d68c87fc (patch)
tree0ea70a55f43bc86730363f577707d10bd05e7692 /source/blender/draw/engines/eevee_next/eevee_sampling.hh
parent2ea4754109e336ba5d87a610f1806d67141ec808 (diff)
EEVEE-Next: Depth Of Field: Port implementation to compute shader
This is a port of the previous implementation but using compute shaders instead of using the raster pipeline for every steps. Only the scatter passes is kept as a raster pass for obvious performance reasons. Many steps have been rewritten to take advantage of LDS which allows faster and simpler downsampling and filtering for some passes. A new stabilize phase has been separated from another setup pass in order to improve it in the future with better stabilization. The scatter pass shaders and pipeline also changed. We now use indirect drawcall to draw quads using triangle strips primitives. This reduces fragment shader invocation count & overdraw compared to a bounding triangle. This also reduces the amount of vertex shader invocation drastically to the bare minimum instead of having always 3 verts per 4 pixels (for each ground).
Diffstat (limited to 'source/blender/draw/engines/eevee_next/eevee_sampling.hh')
-rw-r--r--source/blender/draw/engines/eevee_next/eevee_sampling.hh6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/draw/engines/eevee_next/eevee_sampling.hh b/source/blender/draw/engines/eevee_next/eevee_sampling.hh
index c604ecef40b..be87ee74886 100644
--- a/source/blender/draw/engines/eevee_next/eevee_sampling.hh
+++ b/source/blender/draw/engines/eevee_next/eevee_sampling.hh
@@ -27,11 +27,11 @@ class Sampling {
Instance &inst_;
/* Number of samples in the first ring of jittered depth of field. */
- constexpr static uint64_t dof_web_density_ = 6;
+ static constexpr uint64_t dof_web_density_ = 6;
/* High number of sample for viewport infinite rendering. */
- constexpr static uint64_t infinite_sample_count_ = 0xFFFFFFu;
+ static constexpr uint64_t infinite_sample_count_ = 0xFFFFFFu;
/* During interactive rendering, loop over the first few samples. */
- constexpr static uint64_t interactive_sample_max_ = 8;
+ static constexpr uint64_t interactive_sample_max_ = 8;
/** 0 based current sample. Might not increase sequentially in viewport. */
uint64_t sample_ = 0;