[Bf-blender-cvs] [8c1090f22dc] temp-gpencil-camera-reproject: GPencil: Simplify point to render space function

Antonio Vazquez noreply at git.blender.org
Fri Jul 2 17:19:31 CEST 2021


Commit: 8c1090f22dc8891601ff08b34ce37a093a15f680
Author: Antonio Vazquez
Date:   Fri Jul 2 17:19:19 2021 +0200
Branches: temp-gpencil-camera-reproject
https://developer.blender.org/rB8c1090f22dc8891601ff08b34ce37a093a15f680

GPencil: Simplify point to render space function

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

M	source/blender/editors/gpencil/gpencil_utils.c
M	source/blender/editors/include/ED_gpencil.h

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

diff --git a/source/blender/editors/gpencil/gpencil_utils.c b/source/blender/editors/gpencil/gpencil_utils.c
index 8561be24e95..b00ab86cbb6 100644
--- a/source/blender/editors/gpencil/gpencil_utils.c
+++ b/source/blender/editors/gpencil/gpencil_utils.c
@@ -1267,19 +1267,13 @@ static bool gpencil_calculate_camera_matrix(Scene *scene, float persmat[4][4], f
 void ED_gpencil_project_point_to_render_space(const struct Scene *scene,
                                               struct bGPDspoint *pt,
                                               const float persmat[4][4],
-                                              const bool is_ortho,
                                               float r_co[2])
 {
   float render_x = (scene->r.xsch * scene->r.size) / 100;
   float render_y = (scene->r.ysch * scene->r.size) / 100;
 
-  float parent_co[3];
-  mul_v3_m4v3(parent_co, persmat, &pt->x);
-
-  if (!is_ortho) {
-    parent_co[0] = parent_co[0] / max_ff(FLT_MIN, parent_co[2]);
-    parent_co[1] = parent_co[1] / max_ff(FLT_MIN, parent_co[2]);
-  }
+  float parent_co[2];
+  mul_v2_project_m4_v3(parent_co, persmat, &pt->x);
 
   r_co[0] = (parent_co[0] + 1.0f) / 2.0f * (float)render_x;
   r_co[1] = (parent_co[1] + 1.0f) / 2.0f * (float)render_y;
@@ -1308,9 +1302,7 @@ void ED_gpencil_stroke_reproject(Depsgraph *depsgraph,
   invert_m4_m4(inverse_diff_mat, diff_mat);
 
   float persmat[4][4], persinv[4][4];
-  const bool is_ortho = (mode == GP_REPROJECT_CAMERA) ?
-                            gpencil_calculate_camera_matrix(gsc->scene, persmat, persinv) :
-                            false;
+  gpencil_calculate_camera_matrix(gsc->scene, persmat, persinv);
 
   float origin[3];
   if (mode != GP_REPROJECT_CURSOR) {
@@ -1392,7 +1384,7 @@ void ED_gpencil_stroke_reproject(Depsgraph *depsgraph,
     }
     else if (mode == GP_REPROJECT_CAMERA) {
       /* Convert to Render 2D space. */
-      ED_gpencil_project_point_to_render_space(gsc->scene, &pt2, persmat, is_ortho, xy);
+      ED_gpencil_project_point_to_render_space(gsc->scene, &pt2, persmat, xy);
       /* Convert to Global Camera 3D space. */
       gpencil_point_render_xy_to_3d(gsc, persmat, persinv, xy, &pt->x);
     }
diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h
index b0c5460d9f8..b513b2e4c5d 100644
--- a/source/blender/editors/include/ED_gpencil.h
+++ b/source/blender/editors/include/ED_gpencil.h
@@ -284,7 +284,6 @@ void ED_gpencil_project_point_to_plane(const struct Scene *scene,
 void ED_gpencil_project_point_to_render_space(const struct Scene *scene,
                                               struct bGPDspoint *pt,
                                               const float persmat[4][4],
-                                              const bool is_ortho,
                                               float r_co[2]);
 void ED_gpencil_drawing_reference_get(const struct Scene *scene,
                                       const struct Object *ob,



More information about the Bf-blender-cvs mailing list