Grease Pencil shapes don't show preview before committing #125687

Open
opened 2024-07-31 03:49:21 +02:00 by Paul Caggegi · 22 comments

System Information
Operating system: Windows 11
Graphics card: NVidia GeForce RTX 2070

Blender Version
Broken: 4.2.0 LTS
Worked: 4.1.1

Short description of error

When drawing any shape in Draw Mode - Line, Box, Circle - using a fill material, no preview appears until hitting Return to Commit. Previous versions would show preview to aid with placement and editing.

Exact steps for others to reproduce the error

Open new 2D Animation Preset in Blender 4.2.0 LTS
In Draw mode,Select a brush, give it a material with fill, no stroke (default solid fill, for example)
select Line, Polyline, Arc, Curve, Box or Circle Tool in draw mode
click and drag
No shape appears - handles are visible.

**System Information** Operating system: Windows 11 Graphics card: NVidia GeForce RTX 2070 **Blender Version** Broken: 4.2.0 LTS Worked: 4.1.1 **Short description of error** When drawing any shape in Draw Mode - Line, Box, Circle - using a fill material, no preview appears until hitting Return to Commit. Previous versions would show preview to aid with placement and editing. **Exact steps for others to reproduce the error** Open new 2D Animation Preset in Blender 4.2.0 LTS In Draw mode,Select a brush, give it a material with fill, no stroke (default solid fill, for example) select Line, Polyline, Arc, Curve, Box or Circle Tool in draw mode click and drag No shape appears - handles are visible.
Paul Caggegi added the
Type
Report
Severity
Normal
Status
Needs Triage
labels 2024-07-31 03:49:21 +02:00
Member

Hi, thanks for the report. Can confirm

Hi, thanks for the report. Can confirm
Pratik Borhade added
Module
Grease Pencil
Severity
High
and removed
Severity
Normal
labels 2024-07-31 07:39:16 +02:00
Member

Broke between e0e6dc8550f1 - 7226b5272871, bisecting further

Broke between `e0e6dc8550f1 - 7226b5272871`, bisecting further
Pratik Borhade added
Status
Confirmed
and removed
Status
Needs Triage
labels 2024-07-31 07:46:05 +02:00
Member

Was able to repro it once, but not any more. I'm not sure which action "fixed" the drawing:

  • At some point i started drawing regular strokes with the fill material and they show up correctly.
  • I also made a primitive with a stroke material, then assigned a fill material to the resulting stroke, and that works.
    Something got tagged/flagged/updated which fixed the fill drawing, and now i can't get it back to a repro-able state. Might be a shader that needed compiling perhaps?
Was able to repro it once, but not any more. I'm not sure which action "fixed" the drawing: - At some point i started drawing regular strokes with the fill material and they show up correctly. - I also made a primitive with a stroke material, then assigned a fill material to the resulting stroke, and that works. Something got tagged/flagged/updated which fixed the fill drawing, and now i can't get it back to a repro-able state. Might be a shader that needed compiling perhaps?
Member

Also worth pointing out that some of the shapes like Arc and Curve start out "flat" with no visible area, so the fill isn't visible until adding more points or moving the control handles. Should be visible for rectangles and circles though.

Also worth pointing out that some of the shapes like Arc and Curve start out "flat" with no visible area, so the fill isn't visible until adding more points or moving the control handles. Should be visible for rectangles and circles though.
Member

@PratikPB2123 Since it's so easy to get into a non-repro state i would take the bisect with a grain of salt. You might see a "good" commit and it never goes back to a "bad" commit. Could you still repro the issue after bisect was finished?

@PratikPB2123 Since it's so easy to get into a non-repro state i would take the bisect with a grain of salt. You might see a "good" commit and it never goes back to a "bad" commit. Could you still repro the issue after bisect was finished?
Member

I'm bisecting already, just one step away...

I'm bisecting already, just one step away...
Member

Git bisect points to eec9c50580
@filedescriptor ^ :)

I was looking at the other reports then lunch, so bisecting was bit delayed 😅

Git bisect points to eec9c50580d0ce9c1f0c25d913ddd39ba9419c23 @filedescriptor ^ :) I was looking at the other reports then lunch, so bisecting was bit delayed 😅
Member

Hang on, does that mean hiding the fill color is actually intentional, and fill showing up is the broken part?

Hang on, does that mean hiding the fill color is actually intentional, and fill showing up is the broken part?
Member

Ah, indeed. Just looked at the responsible commit.
I'm bit confused now. That property is not exposed in UI for primitives o_o
(By default property is enabled so fill color should be visible anyways)

Ah, indeed. Just looked at the responsible commit. I'm bit confused now. That property is not exposed in UI for primitives o_o (By default property is enabled so fill color should be visible anyways)
Member
  1. The show_lasso/GP_BRUSH_DISSABLE_LASSO property is only in the GreasePencilDisplayPanel, but this panel never seems to be drawn.
  2. The primitive tools don't show a brush selector. I'm assuming they just use the Draw brush, or just the last selected brush.
  3. If i change the show_lasso setting on the "Pencil" brush from True to False using the python API it renders primitive like this: image
1. The `show_lasso`/`GP_BRUSH_DISSABLE_LASSO` property is only in the `GreasePencilDisplayPanel`, but this panel never seems to be drawn. 2. The primitive tools don't show a brush selector. I'm assuming they just use the Draw brush, or just the last selected brush. 3. If i change the `show_lasso` setting on the "Pencil" brush from `True` to `False` using the python API it renders primitive like this: <img width="269" alt="image" src="attachments/60857bea-d345-4a8a-aa85-0450f130b6c8">
Author

Also can confirm: this will occur if a shape is the first selected tool to be drawn on with a fill material. It will happen on each grease pencil object. For example: if it has worked on Stroke.001 and you add a new object (stroke.002) and attempt to draw a new shape, the same error occurs.

I've just tried this with 4.2.1 RC 449c4fc72e and it is still there

Also can confirm: this will occur if a shape is the first selected tool to be drawn on with a fill material. It will happen on each grease pencil object. For example: if it has worked on Stroke.001 and you add a new object (stroke.002) and attempt to draw a new shape, the same error occurs. I've just tried this with 4.2.1 RC 449c4fc72e92 and it is still there
Member

Same thing, i could repro it once and now it doesn't happen any more. Reeks of uninitialized memory to me, but ASAN is quiet.

Same thing, i could repro it _once_ and now it doesn't happen any more. Reeks of uninitialized memory to me, but ASAN is quiet.
Member

Yeah, if I play with the tools and settings, issue does not happen sometimes. I wonder how eec9c50580 affected the behavior, gotta add few breakpoints to check this :)

Yeah, if I play with the tools and settings, issue does not happen sometimes. I wonder how eec9c50580 affected the behavior, gotta add few breakpoints to check this :)
Bart van der Braak added
Type
Bug
and removed
Type
Report
labels 2024-08-14 12:54:10 +02:00
Member

Can anyone reproduce this?

Can anyone reproduce this?
Member

@filedescriptor hi, not anymore. Can be closed I guess :)

@filedescriptor hi, not anymore. Can be closed I guess :)
Member

I haven't had time to try yet, but did someone compare this to the issue with changing brushes (#124461)? That seems like a plausible explanation for why it's difficult to repro.

I haven't had time to try yet, but did someone compare this to the issue with changing brushes (#124461)? That seems like a plausible explanation for why it's difficult to repro.
Member

I don't think #124461 is related. active_material_index not changing after switching brushes is possibly an issue associated with brush asset system.
Whereas, the bug here was replicable with correct fill material :)

I don't think #124461 is related. `active_material_index` not changing after switching brushes is possibly an issue associated with brush asset system. Whereas, the bug here was replicable with correct fill material :)
Member

I could repro it only once, but that doesn't mean the bug is gone ...

I could repro it only once, but that doesn't mean the bug is gone ...

I can confirm that the bug still exists. When I create a rectangle with only fill selected in Blender, it doesn't preview the object until after I press enter to commit, which makes trying to place the objects a bit tedious.

System Info
OS: MacOS Sequoia 15.0.1
CPU: M1

Version Affected
Blender 4.2.3 LTS

A screen recording of Blenders behavior is given below

I can confirm that the bug still exists. When I create a rectangle with only fill selected in Blender, it doesn't preview the object until after I press enter to commit, which makes trying to place the objects a bit tedious. **System Info** OS: MacOS Sequoia 15.0.1 CPU: M1 **Version Affected** Blender 4.2.3 LTS *A screen recording of Blenders behavior is given below*
Member

@fclem Maybe this is another issue in one of the shaders then? Since it seems like it happens consistently on macOS.

@fclem Maybe this is another issue in one of the shaders then? Since it seems like it happens consistently on macOS.

This is still broken in Windows. What I've seen: Once you draw with the Draw tool on a GP object and a Solid fill, drawing with any of the Shape tools (Line, Circle, Box, etc.) previews correctly on that GP object only. If you draw with Shape tools before using the Draw tool, the preview does not work as described in previous comments above. This is 100% reproducible on my system.

System Information
Operating system: Windows 10
Graphics card: NVidia GeForce RTX 2070 Super

Blender Version
Broken: 4.2.3 LTS

This is still broken in Windows. What I've seen: Once you draw with the Draw tool on a GP object and a Solid fill, drawing with any of the Shape tools (Line, Circle, Box, etc.) previews correctly on that GP object only. If you draw with Shape tools before using the Draw tool, the preview does not work as described in previous comments above. This is 100% reproducible on my system. **System Information** Operating system: Windows 10 Graphics card: NVidia GeForce RTX 2070 Super **Blender Version** Broken: 4.2.3 LTS
Member

Thanks for confirming. I think I confused myself and mixed up this report with another that's in 4.3, not 4.2 LTS. Will check.

Thanks for confirming. I think I confused myself and mixed up this report with another that's in 4.3, not 4.2 LTS. Will check.
Falk David added this to the 4.2 LTS milestone 2024-10-17 09:40:24 +02:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Code Documentation
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
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
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
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
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
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
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
6 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#125687
No description provided.