Maniphest T59441

Grease pencil strokes do not render correctly in perspective situations
Closed, Duplicate

Assigned To
None
Authored By
Quargzon (Quargzon)
Dec 16 2018, 4:52 AM
Tags
  • BF Blender
  • Grease Pencil
Subscribers
adam earle (adamearle)
Antonio Vazquez (antoniov)
Daniel Martinez Lara (pepeland)
Quargzon (Quargzon)

Description

System Information
Operating system: Windows 10
Graphics card: Nvidia GTX 1070

Blender Version
Broken: 2.80 Beta (2018-12-15)

Short description of error
Grease pencil strokes do not render as expected in the 3D viewport or final render when viewed from angles with exaggerated perspective.


The stroke in the screenshot is a simple straight line, but the issue affects all strokes.

Exact steps for others to reproduce the error

  1. Draw a grease pencil stroke (a thicker stroke will make the issue more apparent)
  2. View in 3D with perspective

Event Timeline

Quargzon (Quargzon) created this task.Dec 16 2018, 4:52 AM
Quargzon (Quargzon) renamed this task from Grease pencil strokes do not render correctly in extreme-perspective situations to Grease pencil strokes do not render correctly in perspective situations.Dec 16 2018, 8:50 AM
Antonio Vazquez (antoniov) lowered the priority of this task from 90 to Low.Dec 16 2018, 1:02 PM
Antonio Vazquez (antoniov) added subscribers: Daniel Martinez Lara (pepeland), Antonio Vazquez (antoniov).

I think we cannot consider this is a bug. Grease Pencil draws always aligned to view the strokes, so if you rotate the view, the strokes are rotated to face always your point of view (Billboarding). Try with a Suzanne 2D and you will see the effect, the lines are facing always the pov and you get weird effects.

Remember that GP is 2D drawing inside a 3D world so when you move the viewport or camera to extreme angles or zoom, the view can be distorted, this is the problem you are getting now.

If you want to rotate the camera, you could bend the strokes as it's done in this example (previous blender versions) done by @Daniel Martinez Lara (pepeland): https://vimeo.com/168843957

Quargzon (Quargzon) added a comment.Dec 16 2018, 11:56 PM
In T59441#581450, @Antonio Vazquez (antoniov) wrote:

I think we cannot consider this is a bug. Grease Pencil draws always aligned to view the strokes, so if you rotate the view, the strokes are rotated to face always your point of view (Billboarding). Try with a Suzanne 2D and you will see the effect, the lines are facing always the pov and you get weird effects.

Remember that GP is 2D drawing inside a 3D world so when you move the viewport or camera to extreme angles or zoom, the view can be distorted, this is the problem you are getting now.

If you want to rotate the camera, you could bend the strokes as it's done in this example (previous blender versions) done by @Daniel Martinez Lara (pepeland): https://vimeo.com/168843957

I understand why it's happening, but I still believe it should be considered a bug because it isn't only present in 3D perspective -- it even happens in an orthographic view if strokes change drastically in thickness. The problem lies in the fact that the caps a treated as exact 180° semicircles no matter what instead of calculating the proper arc.

Dalai Felinto (dfelinto) added a project: Tracker Curfew.Dec 23 2019, 4:35 PM
Antonio Vazquez (antoniov) closed this task as a duplicate of T66293: GPencil: Redesign Blend modes and cleanup Drawing Engine.Dec 28 2019, 10:09 AM
Antonio Vazquez (antoniov) removed projects: Tracker Curfew, Render Pipeline.
adam earle (adamearle) added a subscriber: adam earle (adamearle).Jan 15 2020, 1:32 AM

To stop this from being filed as a bug.

Remove "always face view". (this could be done with a constraint by the user. This may potentially fix other alpha draw issues) or.

2 checkboxes:

  • 1 checkbox that in the material/stroke (is it the stroke aligning or the material that's aligning) panel option to align to view per stroke. This potentially gives more control back to the user how the user wants to treat the stroke.
    • The other checkbox in the properties window working as a global property to defined if the stroke is "always facing view"