Grease Pencil: Crash when trying to sculpt on object with Dot Dash modifier #102684

Closed
opened 2022-11-22 08:12:15 +01:00 by Sun Kim · 17 comments
Contributor

System Information
Operating system: Windows-10-10.0.19045-SP0 64 Bits
Graphics card: Radeon RX 570 Series ATI Technologies Inc. 4.5.0 Core Profile Context 22.11.1.221110

Blender Version
Broken: version: 3.5.0 Alpha, branch: master, commit date: 2022-11-21 01:31, hash: 7a6cdeb242
Worked: 3.0?

I'm not sure I can say it worked. While it doesn't crash sculpting still doesn't work as expected.

Short description of error
Blender crashes when I try to sculpt on Grease Pencil object with Dot Dash modifier.

Stroke.crash.txt

Exact steps for others to reproduce the error

  • Add Grease Pencil Stroke, and add Dot Dash modifier to it
  • Switch to Sculpt mode
  • Try to sculpt on it

Stroke.blend

**System Information** Operating system: Windows-10-10.0.19045-SP0 64 Bits Graphics card: Radeon RX 570 Series ATI Technologies Inc. 4.5.0 Core Profile Context 22.11.1.221110 **Blender Version** Broken: version: 3.5.0 Alpha, branch: master, commit date: 2022-11-21 01:31, hash: `7a6cdeb242` Worked: 3.0? I'm not sure I can say it worked. While it doesn't crash sculpting still doesn't work as expected. **Short description of error** Blender crashes when I try to sculpt on Grease Pencil object with Dot Dash modifier. [Stroke.crash.txt](https://archive.blender.org/developer/F13959008/Stroke.crash.txt) **Exact steps for others to reproduce the error** * Add Grease Pencil Stroke, and add Dot Dash modifier to it * Switch to Sculpt mode * Try to sculpt on it [Stroke.blend](https://archive.blender.org/developer/F13959066/Stroke.blend)
Author
Contributor

Added subscriber: @persun

Added subscriber: @persun
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

Can confirm, will check

Can confirm, will check

Added subscriber: @antoniov

Added subscriber: @antoniov

Can confirm too... I guess is the orig pointer is not set to NULL... testing.

Can confirm too... I guess is the orig pointer is not set to NULL... testing.
Antonio Vazquez self-assigned this 2022-11-22 10:04:53 +01:00

This issue was referenced by 17fd81fb9b

This issue was referenced by 17fd81fb9be6a3705f161a79427dd6754f949a97

This issue was referenced by 8c82d4cbf6

This issue was referenced by 8c82d4cbf61b78bb0a52148a15912b870ece9f47
Member

I'm not sure I can say it worked. While it doesn't crash sculpting still doesn't work as expected.

Sculpting only works if the Edit Mode / show_in_editmode option is disabled.

I think there is a general issue with generative GP modifiers with the Edit Mode / show_in_editmode option: these show evaluated points that can be edited (as if an On Cage option - like the one for generative mesh modifiers - was enabled) but also e.g. the Dot Dash modifier does not draw the original stroke edit points at all anymore > so you cant actually use editmode with that modifier (and the show_in_editmode option). This all seems very wrong.
Then we also have the Subdivide modifier (which draws a mixture of original points - which can be edited - and evaluated points - which cannot be edited and draw in a different color -). Think this needs a general design of some sort.

> I'm not sure I can say it worked. While it doesn't crash sculpting still doesn't work as expected. Sculpting only works if the `Edit Mode` / `show_in_editmode` option is disabled. I think there is a general issue with generative GP modifiers with the `Edit Mode` / `show_in_editmode` option: these show evaluated points that can be edited (as if an On Cage option - like the one for generative mesh modifiers - was enabled) but also e.g. the `Dot Dash` modifier does not draw the original stroke edit points at all anymore > so you cant actually use editmode with that modifier (and the `show_in_editmode` option). This all seems very wrong. Then we also have the `Subdivide` modifier (which draws a mixture of original points - which can be edited - and evaluated points - which cannot be edited and draw in a different color -). Think this needs a general design of some sort.

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Member

Regarding the crash: this broke between good e86c2f7288 and bad 7f4ee97b9e, will bisect if that helps.

Regarding the crash: this broke between good e86c2f728872 and bad 7f4ee97b9ef9, will bisect if that helps.

The generated points are always gray color, so these points are not editable. Anyway, this is something we want to revieww for GP 3.0.

The generated points are always gray color, so these points are not editable. Anyway, this is something we want to revieww for GP 3.0.
Member

OK, 8c82d4cbf6 actually solved the issue of not being able to sculpt with the show_in_editmode option.
However, the following is not true (for the Dot Dash modifier):

In #102684#1449636, @antoniov wrote:
The generated points are always gray color, so these points are not editable. Anyway, this is something we want to revieww for GP 3.0.

These generated points are never drawn for this modifier.
In addition, using selection mask (of any type) is not working with this modifier.
@antoniov : want a new report?

OK, 8c82d4cbf6 actually solved the issue of not being able to sculpt with the `show_in_editmode` option. However, the following is not true (for the `Dot Dash` modifier): > In #102684#1449636, @antoniov wrote: > The generated points are always gray color, so these points are not editable. Anyway, this is something we want to revieww for GP 3.0. These generated points are never drawn for this modifier. In addition, using selection mask (of any type) is not working with this modifier. @antoniov : want a new report?

These generated points are never drawn for this modifier.

@lichtwerk This is a complex problem. The Modifier generates new points and we set the reference to the original points to allow the transformation, but to use Mask and to be drawn the point, it needs to be an original point. As the points are all evaluated, you cannot select them, so you cannot use any masking because its base in the selection.

> These generated points are never drawn for this modifier. @lichtwerk This is a complex problem. The Modifier generates new points and we set the reference to the original points to allow the transformation, but to use Mask and to be drawn the point, it needs to be an original point. As the points are all evaluated, you cannot select them, so you cannot use any masking because its base in the selection.
Member

In #102684#1449676, @antoniov wrote:
@lichtwerk This is a complex problem. The Modifier generates new points and we set the reference to the original points to allow the transformation, but to use Mask and to be drawn the point, it needs to be an original point. As the points are all evaluated, you cannot select them, so you cannot use any masking because its base in the selection.

It is not only an issue in sculptmode, editmode also does not draw any points to edit with this modifier (show_in_editmode ON)

> In #102684#1449676, @antoniov wrote: > @lichtwerk This is a complex problem. The Modifier generates new points and we set the reference to the original points to allow the transformation, but to use Mask and to be drawn the point, it needs to be an original point. As the points are all evaluated, you cannot select them, so you cannot use any masking because its base in the selection. It is not only an issue in sculptmode, editmode also does not draw any points to edit with this modifier (`show_in_editmode` ON)
Author
Contributor

Looks like this is not included in 3.3 updates or marked for backport?

Looks like this is not included in 3.3 updates or marked for backport?
Member

Added the fix to #100749 (Blender LTS: Maintenance Task 3.3) (not 100% sure it is backportable)

Added the fix to #100749 (Blender LTS: Maintenance Task 3.3) (not 100% sure it is backportable)
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#102684
No description provided.