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:
Diffstat (limited to 'source/blender/compositor/operations/COM_ProjectorLensDistortionOperation.cc')
-rw-r--r--source/blender/compositor/operations/COM_ProjectorLensDistortionOperation.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/source/blender/compositor/operations/COM_ProjectorLensDistortionOperation.cc b/source/blender/compositor/operations/COM_ProjectorLensDistortionOperation.cc
index fcab5dd5751..2982f59a019 100644
--- a/source/blender/compositor/operations/COM_ProjectorLensDistortionOperation.cc
+++ b/source/blender/compositor/operations/COM_ProjectorLensDistortionOperation.cc
@@ -131,13 +131,30 @@ void ProjectorLensDistortionOperation::updateDispersion()
this->unlockMutex();
}
+void ProjectorLensDistortionOperation::determine_canvas(const rcti &preferred_area, rcti &r_area)
+{
+ switch (execution_model_) {
+ case eExecutionModel::FullFrame: {
+ set_determined_canvas_modifier([=](rcti &canvas) {
+ /* Ensure screen space. */
+ BLI_rcti_translate(&canvas, -canvas.xmin, -canvas.ymin);
+ });
+ break;
+ }
+ default:
+ break;
+ }
+
+ NodeOperation::determine_canvas(preferred_area, r_area);
+}
+
void ProjectorLensDistortionOperation::get_area_of_interest(const int input_idx,
const rcti &output_area,
rcti &r_input_area)
{
if (input_idx == 1) {
/* Dispersion input is used as constant only. */
- r_input_area = COM_SINGLE_ELEM_AREA;
+ r_input_area = COM_CONSTANT_INPUT_AREA_OF_INTEREST;
return;
}