[Bf-blender-cvs] [0cd6c1d502b] blender-v2.93-release: Fix T88998: GPencil not projecting to the most front surface

Germano Cavalcante noreply at git.blender.org
Mon Aug 23 09:35:48 CEST 2021


Commit: 0cd6c1d502bcec9e41d9d8d9d67f79179ee3c71a
Author: Germano Cavalcante
Date:   Wed Jun 9 09:32:50 2021 -0300
Branches: blender-v2.93-release
https://developer.blender.org/rB0cd6c1d502bcec9e41d9d8d9d67f79179ee3c71a

Fix T88998: GPencil not projecting to the most front surface

It was projecting from the stroke position.

The behavior has changed in {rB5400be9ffee2}.

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

M	source/blender/editors/gpencil/gpencil_utils.c

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

diff --git a/source/blender/editors/gpencil/gpencil_utils.c b/source/blender/editors/gpencil/gpencil_utils.c
index 04764587ebe..c9ef340b9d3 100644
--- a/source/blender/editors/gpencil/gpencil_utils.c
+++ b/source/blender/editors/gpencil/gpencil_utils.c
@@ -1276,6 +1276,7 @@ void ED_gpencil_stroke_reproject(Depsgraph *depsgraph,
     }
     else {
       /* Geometry - Snap to surfaces of visible geometry */
+      float ray_start[3];
       float ray_normal[3];
       /* magic value for initial depth copied from the default
        * value of Python's Scene.ray_cast function
@@ -1284,14 +1285,17 @@ void ED_gpencil_stroke_reproject(Depsgraph *depsgraph,
       float location[3] = {0.0f, 0.0f, 0.0f};
       float normal[3] = {0.0f, 0.0f, 0.0f};
 
-      ED_view3d_win_to_vector(region, xy, &ray_normal[0]);
       BLI_assert(gps->flag & GP_STROKE_3DSPACE);
+      BLI_assert(gsc->area && gsc->area->spacetype == SPACE_VIEW3D);
+      const View3D *v3d = gsc->area->spacedata.first;
+      ED_view3d_win_to_ray_clipped(
+          depsgraph, region, v3d, xy, &ray_start[0], &ray_normal[0], true);
       if (ED_transform_snap_object_project_ray(sctx,
                                                depsgraph,
                                                &(const struct SnapObjectParams){
                                                    .snap_select = SNAP_ALL,
                                                },
-                                               &pt2.x,
+                                               &ray_start[0],
                                                &ray_normal[0],
                                                &depth,
                                                &location[0],



More information about the Bf-blender-cvs mailing list