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>2019-03-16 00:17:07 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-03-16 00:33:02 +0300
commit66225e84cfeb6d05ae25cc60c6c467b29afb190b (patch)
treed08b8d1ac97f01e7cbafe535d571882e6b7e8e5e /source/blender/draw/engines/eevee/shaders
parentfe40e184a697c1235a696356b24e8c45dc06185a (diff)
Eevee: DOF: Optimization: Move some operations out of the shader
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders')
-rw-r--r--source/blender/draw/engines/eevee/shaders/effect_dof_frag.glsl9
1 files changed, 4 insertions, 5 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/effect_dof_frag.glsl b/source/blender/draw/engines/eevee/shaders/effect_dof_frag.glsl
index 6aa771bcbd5..91a4ca99f7e 100644
--- a/source/blender/draw/engines/eevee/shaders/effect_dof_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/effect_dof_frag.glsl
@@ -4,11 +4,10 @@ uniform mat4 ProjectionMatrix;
uniform sampler2D colorBuffer;
uniform sampler2D depthBuffer;
-uniform vec3 dofParams;
+uniform vec2 dofParams;
-#define dof_aperturesize dofParams.x
-#define dof_distance dofParams.y
-#define dof_invsensorsize dofParams.z
+#define dof_mul dofParams.x /* distance * aperturesize * invsensorsize */
+#define dof_bias dofParams.y /* aperturesize * invsensorsize */
uniform vec4 bokehParams[2];
@@ -25,7 +24,7 @@ uniform vec2 nearFar; /* Near & far view depths values */
/* -------------- Utils ------------- */
/* divide by sensor size to get the normalized size */
-#define calculate_coc(zdepth) (dof_aperturesize * (dof_distance / zdepth - 1.0) * dof_invsensorsize)
+#define calculate_coc(zdepth) (dof_mul / zdepth - dof_bias)
#define linear_depth(z) ((ProjectionMatrix[3][3] == 0.0) \
? (nearFar.x * nearFar.y) / (z * (nearFar.x - nearFar.y) + nearFar.y) \