[Bf-blender-cvs] [2ed4f98] master: Compositor: Support changing distortion models in movie distortion node

Sergey Sharybin noreply at git.blender.org
Thu Sep 3 09:24:50 CEST 2015


Commit: 2ed4f9854893cc78de80f49291373810e0d1c3da
Author: Sergey Sharybin
Date:   Thu Sep 3 12:10:19 2015 +0500
Branches: master
https://developer.blender.org/rB2ed4f9854893cc78de80f49291373810e0d1c3da

Compositor: Support changing distortion models in movie distortion node

Previously only polynomial model worked correct. now changing it to divisions
will work nicely as well.

===================================================================

M	source/blender/compositor/operations/COM_MovieDistortionOperation.h

===================================================================

diff --git a/source/blender/compositor/operations/COM_MovieDistortionOperation.h b/source/blender/compositor/operations/COM_MovieDistortionOperation.h
index 577712e..85f075a 100644
--- a/source/blender/compositor/operations/COM_MovieDistortionOperation.h
+++ b/source/blender/compositor/operations/COM_MovieDistortionOperation.h
@@ -36,9 +36,9 @@ extern "C" {
 
 class DistortionCache {
 private:
-	float m_k1;
-	float m_k2;
-	float m_k3;
+	short m_distortion_model;
+	float m_k1, m_k2, m_k3;
+	float m_division_k1, m_division_k2;
 	float m_principal_x;
 	float m_principal_y;
 	float m_pixel_aspect;
@@ -59,9 +59,12 @@ public:
 	                bool inverted,
 	                const int margin[2])
 	{
+		this->m_distortion_model = movieclip->tracking.camera.distortion_model;
 		this->m_k1 = movieclip->tracking.camera.k1;
 		this->m_k2 = movieclip->tracking.camera.k2;
 		this->m_k3 = movieclip->tracking.camera.k3;
+		this->m_division_k1 = movieclip->tracking.camera.division_k1;
+		this->m_division_k2 = movieclip->tracking.camera.division_k2;
 		this->m_principal_x = movieclip->tracking.camera.principal[0];
 		this->m_principal_y = movieclip->tracking.camera.principal[1];
 		this->m_pixel_aspect = movieclip->tracking.camera.pixel_aspect;
@@ -101,9 +104,12 @@ public:
 	                int calibration_width, int claibration_height,
 	                bool inverted)
 	{
-		return this->m_k1 == movieclip->tracking.camera.k1 &&
+		return this->m_distortion_model == movieclip->tracking.camera.distortion_model &&
+		       this->m_k1 == movieclip->tracking.camera.k1 &&
 		       this->m_k2 == movieclip->tracking.camera.k2 &&
 		       this->m_k3 == movieclip->tracking.camera.k3 &&
+		       this->m_division_k1 == movieclip->tracking.camera.division_k1 &&
+		       this->m_division_k2 == movieclip->tracking.camera.division_k2 &&
 		       this->m_principal_x == movieclip->tracking.camera.principal[0] &&
 		       this->m_principal_y == movieclip->tracking.camera.principal[1] &&
 		       this->m_pixel_aspect == movieclip->tracking.camera.pixel_aspect &&




More information about the Bf-blender-cvs mailing list