GPencil: Canvas Plane Is Hidden By Objects / is no longer X-Ray #76366

Closed
opened 2020-05-03 09:54:48 +02:00 by shanenewville@gmail.com · 19 comments

System Information
Operating system: Windows 7 64bit Pro
Graphics card: NVIDIA GeForce 970 GTX

Blender Version
Broken: 2.83, 1623fdb3bc, Beta, 2020-05-02
Worked: 2.82a

Short description of error
With Grease Pencil we would use the canvas plane to assist with drawing, but it is quite difficult to use when it is both hidden by ojects due to no longer being xray and also is locked the center of the scene no longer follow 3D Cursor. There appears to be no option to make it xray like it should be. Or if there is, its not clear where to find it. But it should be on by default. The Plane used to be visible by default no matter what is in front of it.

2_83.jpg

Exact steps for others to reproduce the error

  1. Create a new basic scene with default cube, or just add a cube (Make sure it is in the center of the scene)
  2. Add a Grease Pencil > Blank object.
  3. Set Viewport shading to Rendered
  4. Click Overlays dropdown and enable both Canvas and 3D Cursor
  5. Set the Drawing Plane setting to View, Top, Side, Front or Curor. Notice that the Drawing plane is completely hidden by the default Cube (or any object)
**System Information** Operating system: Windows 7 64bit Pro Graphics card: NVIDIA GeForce 970 GTX **Blender Version** Broken: 2.83, 1623fdb3bc55, Beta, 2020-05-02 Worked: 2.82a **Short description of error** With Grease Pencil we would use the canvas plane to assist with drawing, but it is quite difficult to use when it is both hidden by ojects due to no longer being xray and also is locked the center of the scene no longer follow 3D Cursor. There appears to be no option to make it xray like it should be. Or if there is, its not clear where to find it. But it should be on by default. The Plane used to be visible by default no matter what is in front of it. - Separate ticket created for the second mentioned issue: https://developer.blender.org/T76364 ![2_83.jpg](https://archive.blender.org/developer/F8508868/2_83.jpg) **Exact steps for others to reproduce the error** 1. Create a new basic scene with default cube, or just add a cube (Make sure it is in the center of the scene) 2. Add a Grease Pencil > Blank object. 3. Set Viewport shading to Rendered 4. Click Overlays dropdown and enable both Canvas and 3D Cursor 5. Set the Drawing Plane setting to View, Top, Side, Front or Curor. Notice that the Drawing plane is completely hidden by the default Cube (or any object)

Added subscriber: @Ghost_Train

Added subscriber: @Ghost_Train

Added subscribers: @fclem, @antoniov

Added subscribers: @fclem, @antoniov

I don't think this is a bug... the gird is "inside" the cube, so if you draw anything, the final stroke will go "inside".

@fclem Any comment about that?

I don't think this is a bug... the gird is "inside" the cube, so if you draw anything, the final stroke will go "inside". @fclem Any comment about that?
Antonio Vazquez changed title from Canvas Plane Is Hidden By Objects / is no longer X-Ray to GPencil: Canvas Plane Is Hidden By Objects / is no longer X-Ray 2020-05-03 16:14:42 +02:00

@antoniov An example of how I expected it to work can be seen in this recent tutorial by Dedouze. As seen in the video, the canvas drawing plane has xray. This is how it works in 2.82. In 2.83 it is not working like this and is hidden by objects making it difficult to see how the plane is oriented.
https://youtu.be/c57qq2nE3B0?t=970

It defeats the purpose of the canvas plane as a tool that assists with drawing. If we don't want to see it we can just uncheck it from the outlines dropdown and drawing still works the same. The point of this ticket is, when we enable canvas, we cannot see it anymore in 2.83 if it is covered by objects in the scene.

@antoniov An example of how I expected it to work can be seen in this recent tutorial by Dedouze. As seen in the video, the canvas drawing plane has xray. This is how it works in 2.82. In 2.83 it is not working like this and is hidden by objects making it difficult to see how the plane is oriented. https://youtu.be/c57qq2nE3B0?t=970 It defeats the purpose of the canvas plane as a tool that assists with drawing. If we don't want to see it we can just uncheck it from the outlines dropdown and drawing still works the same. The point of this ticket is, when we enable canvas, we cannot see it anymore in 2.83 if it is covered by objects in the scene.

To add to this, Actually it would be nice to have a toggle for xray. If xray is disabled, it might help us visually when trying to align the plane to object surfaces. But in general use, i think i would keep xray ON since it is a helper tool

To add to this, Actually it would be nice to have a toggle for xray. If xray is disabled, it might help us visually when trying to align the plane to object surfaces. But in general use, i think i would keep xray ON since it is a helper tool

@fclem I think that we could disable depth test for Grid Canvas....

index b79d5753686..1620de85a28 100644
    - a/source/blender/draw/engines/overlay/overlay_gpencil.c
+++ b/source/blender/draw/engines/overlay/overlay_gpencil.c
@@ -256,7 +256,7 @@ void OVERLAY_gpencil_cache_init(OVERLAY_Data *vedata)

const int gridlines = (gpd->grid.lines <= 0) ? 1 : gpd->grid.lines;
int line_ct = gridlines * 4 + 2;

 
- DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_BLEND_ALPHA;
+    DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_ALPHA;

DRW_PASS_CREATE(psl->gpencil_canvas_ps, state);

 

sh = OVERLAY_shader_gpencil_canvas();

What do you think?

@fclem I think that we could disable depth test for Grid Canvas.... ```diff --git a/source/blender/draw/engines/overlay/overlay_gpencil.c b/source/blender/draw/engines/overlay/overlay_gpencil.c index b79d5753686..1620de85a28 100644 - a/source/blender/draw/engines/overlay/overlay_gpencil.c +++ b/source/blender/draw/engines/overlay/overlay_gpencil.c @@ -256,7 +256,7 @@ void OVERLAY_gpencil_cache_init(OVERLAY_Data *vedata) ``` const int gridlines = (gpd->grid.lines <= 0) ? 1 : gpd->grid.lines; int line_ct = gridlines * 4 + 2; ``` - DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_BLEND_ALPHA; + DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_ALPHA; ``` DRW_PASS_CREATE(psl->gpencil_canvas_ps, state); ``` ``` sh = OVERLAY_shader_gpencil_canvas(); ``` ``` What do you think?

Added subscribers: @mendio, @pepe-school-land

Added subscribers: @mendio, @pepe-school-land

@mendio @pepe-school-land Do you think the grid must be always on top?

@mendio @pepe-school-land Do you think the grid must be always on top?

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

Changed status from 'Needs Triage' to: 'Confirmed'
Antonio Vazquez self-assigned this 2020-05-04 09:59:14 +02:00
Contributor

Added subscriber: @dupoxy

Added subscriber: @dupoxy
Contributor

There is an X-ray toggle but in Solid Viewport shading working right now
but not in Material Preview or Rendered Viewport shading.
{F8511250 size=full}

There is an X-ray toggle but in Solid Viewport shading working right now but not in Material Preview or Rendered Viewport shading. {[F8511250](https://archive.blender.org/developer/F8511250/X-ray.png) size=full}

I don't like to add more switches or reuse X-Ray button. This button is for other things and it's not separated for grid only, so it's not a good solution.

IMHO the best solution is just keep on top all the time as an overlay. Also, we have the opacity of the grid, so if keeping on top is too intrusive, the artist can reduce opacity to get a better experience.

I don't like to add more switches or reuse X-Ray button. This button is for other things and it's not separated for grid only, so it's not a good solution. IMHO the best solution is just keep on top all the time as an overlay. Also, we have the opacity of the grid, so if keeping on top is too intrusive, the artist can reduce opacity to get a better experience.

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'

We are being dicussing about the grid canvas and the mayority of the team agree that Grid Canvas must be occluded with 3D geometry if the geometry is in front. This is a change from 2.82, but the new refactored engine allows to do that. The old engine did not supported this occlusion and this was the reason of the "always on top" functionality.

If you need to see the grid, you can enable X-Ray.

image.png

If we keep the canvas always on top, it sends a wrong feedback because the final stroke will not be on top, but occluded by the mesh.

I have added this change to the release notes.

We are being dicussing about the grid canvas and the mayority of the team agree that Grid Canvas must be occluded with 3D geometry if the geometry is in front. This is a change from 2.82, but the new refactored engine allows to do that. The old engine did not supported this occlusion and this was the reason of the "always on top" functionality. If you need to see the grid, you can enable X-Ray. ![image.png](https://archive.blender.org/developer/F8512113/image.png) If we keep the canvas always on top, it sends a wrong feedback because the final stroke will not be on top, but occluded by the mesh. I have added this change to the release notes.

Added subscriber: @yrrnn

Added subscriber: @yrrnn

@antoniov I just found this thread as I was also following Dedouze's tutorial and was confused when the canvas was occluded by the cube. I suspect many people would prefer that the canvas is always visible on top even when X-Ray is disabled, would it be possible to add a toggle option to the Viewport Overlays drop-down?

@antoniov I just found this thread as I was also following Dedouze's tutorial and was confused when the canvas was occluded by the cube. I suspect many people would prefer that the canvas is always visible on top even when X-Ray is disabled, would it be possible to add a toggle option to the Viewport Overlays drop-down?

@mendio @pepe-school-land Do you think is good idea add an option to set the Grid on top?

@mendio @pepe-school-land Do you think is good idea add an option to set the Grid on top?

A toggle would be good because there may be situations where we do and do not want it on top.

A toggle would be good because there may be situations where we do and do not want it on top.

Proposed new option in D7721

Proposed new option in [D7721](https://archive.blender.org/developer/D7721)
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#76366
No description provided.