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:
authorCampbell Barton <ideasman42@gmail.com>2012-08-08 20:14:56 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-08-08 20:14:56 +0400
commita1693168f24c818e3902bd95352aa0c5fb3b7d1c (patch)
tree53fa5f8eaaca9205e3fbd61551f28e7138354065 /source/blender/compositor
parentc953ca11ac20fd90fea5a6235fc38d2aa9ec631c (diff)
DOF node: clamp blurring the zdepth radius buffer by the blur max. This could doo easily blur very high depths and cause artifacts.
Diffstat (limited to 'source/blender/compositor')
-rw-r--r--source/blender/compositor/operations/COM_ConvertDepthToRadiusOperation.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/compositor/operations/COM_ConvertDepthToRadiusOperation.cpp b/source/blender/compositor/operations/COM_ConvertDepthToRadiusOperation.cpp
index e3f95eac3b4..e005232ec00 100644
--- a/source/blender/compositor/operations/COM_ConvertDepthToRadiusOperation.cpp
+++ b/source/blender/compositor/operations/COM_ConvertDepthToRadiusOperation.cpp
@@ -53,9 +53,11 @@ float ConvertDepthToRadiusOperation::determineFocalDistance()
normalize_m4(obmat);
invert_m4_m4(imat, obmat);
mult_m4_m4m4(mat, imat, camera->dof_ob->obmat);
- return (float)fabs(mat[3][2]);
+ return fabsf(mat[3][2]);
+ }
+ else {
+ return camera->YF_dofdist;
}
- return camera->YF_dofdist;
}
}
@@ -71,7 +73,7 @@ void ConvertDepthToRadiusOperation::initExecution()
this->m_dof_sp = (float)minsz / (16.f / this->m_cam_lens); // <- == aspect * MIN2(img->x, img->y) / tan(0.5f * fov);
if (this->m_blurPostOperation) {
- m_blurPostOperation->setSigma(m_aperture * 128.0f);
+ m_blurPostOperation->setSigma(min(m_aperture * 128.0f, this->m_maxRadius));
}
}