Maniphest T60538

Grease Pencil looks different rendered then in viewport with opaque materials
Closed, Duplicate

Assigned To
None
Authored By
Steve Lund (webhead)
Jan 15 2019, 4:48 PM
Tags
  • BF Blender
  • Grease Pencil
Subscribers
Antonio Vazquez (antoniov)
Brecht Van Lommel (brecht)
Jacques Lucke (JacquesLucke)
Paul R (intracube)
Steve Lund (webhead)
Troy Sobotka (sobotka)

Description

System Information
Operating system: Win 10
Graphics card: 1080 Ti

Blender Version

blender2.8, 2019-01-14

Worked: (optional)

Grease Pencil looks very different rendered when using semi-transparent materials, tested using both Filmic and Default Color profiles. Only way to fix is by adding an additional layer and making it completely white.

Exact steps for others to reproduce the error
Draw in Grease Pencil with semi-transparent pink filled material. And compare rendered result to viewport.

Related Objects

Mentioned Here
rBaa003c73245f: FIX: `use_proxy` strip property state has no effect.

Event Timeline

Steve Lund (webhead) created this task.Jan 15 2019, 4:48 PM
Jacques Lucke (JacquesLucke) lowered the priority of this task from 90 to 30.Jan 15 2019, 4:49 PM
Jacques Lucke (JacquesLucke) added a subscriber: Jacques Lucke (JacquesLucke).

Could you provide an example .blend file, please?

Steve Lund (webhead) added a comment.Jan 15 2019, 4:54 PM

Just simply render and compare to the rendered viewport.

Jacques Lucke (JacquesLucke) raised the priority of this task from 30 to 50.Jan 15 2019, 5:00 PM
Jacques Lucke (JacquesLucke) removed a project: BF Blender: 2.8.

Brecht Van Lommel (brecht) assigned this task to Antonio Vazquez (antoniov).Jan 15 2019, 5:03 PM
Antonio Vazquez (antoniov) added a comment.Jan 16 2019, 11:05 AM

I have been looking at your file and there are some parameters that need to be chnaged.

The first is you are using a world color taht is different of the viewport, so as the background is different, the transparent looks different.

The second issue is that you need to change the color manamegement.

Attached the file fixed. I have added a white background to test with the same background.

Steve Lund (webhead) added a comment.Jan 16 2019, 5:37 PM

Hey Antonio!

Changing the color management and making the world color for the view-port background white doesn't fix the transparent issues.

The only thing that has fixed the transparent issues that I've found (and like you have done in the example.) Is adding a new completely white plane to the background.

This seems like a work-around though? and shouldn't be the default as it would be confusing for beginners to have their renders looking much different then the view-port right?

Paul R (intracube) added a subscriber: Paul R (intracube).EditedJan 16 2019, 6:44 PM

Hi,

With the viewport set to Rendered, the output still gives different results:

It looks like the viewport is doing an unassociated alpha blend with the background but the final render is associated/premultiplied.

Manually filling a background GP layer is a workaround but not all that ideal. The second .blend also shows issues along the rectangle edges:

The rectangle could be expanded beyond the edges of the frame of course. But the user has to know to do it.

Could an unassociated->premultiplied transform be inserted for the final render out? My brain can't work out the details, but I'm thinking that should be possible?

Antonio Vazquez (antoniov) added a comment.Jan 17 2019, 7:38 PM

I know that adding a white background is not the perfect solution, but manage the background color will be part of the Eevee integration with Grease Pencil, but this integration is not ready (not in 2.80) and will be implemented in future versions.

Troy Sobotka (sobotka) added a subscriber: Troy Sobotka (sobotka).EditedJan 19 2019, 8:24 PM

It’s Blender’s broken alpha handling. Has been this way forever, and the “fixes” that were added broke it at least as bad. And the viewer is broken.

It’s give up until a developer decides to fix the entire pipeline to associated alpha.

To see the proper result, broken viewer notwithstanding, paint in float. The reason that it works in float is because the float path didn’t decide to break the entire pipeline by supporting unassociated alpha.

Antonio Vazquez (antoniov) added a comment.Jan 20 2019, 8:47 PM

Yes, this needs a fix, but it's not only in grease pencil, so it needs developers in other areas the Blender and currently there aren't resources to do it.

Brecht Van Lommel (brecht) changed the task status from Unknown Status to Resolved.Jun 6 2019, 5:22 PM
Brecht Van Lommel (brecht) added a subscriber: Brecht Van Lommel (brecht).

This appears to be fixed now.

Paul R (intracube) added a comment.Jun 7 2019, 6:34 PM

There's now quite a hue error for semi-transparent objects:

Tested with today's (2019-06-07) buildbot release: aa003c73245f-linux-glibc224-x86_64

Same results with a build from Feb 21st, so not a recent change.

Stroke:
[0.999828, 0.315918, 0.000000, 1.000000]

Fill:
[0.999828, 0.522433, 0.000000, 0.253246]

Color Management: defaults

Brecht Van Lommel (brecht) changed the task status from Resolved to Unknown Status.Jun 7 2019, 6:43 PM
Paul R (intracube) added a comment.Jun 7 2019, 6:55 PM

Just to add; if as before, a solid fill object is added to a background layer - the hue is normalised.

White rectangle added to the left side:

Dalai Felinto (dfelinto) removed Antonio Vazquez (antoniov) as the assignee of this task.Dec 23 2019, 4:35 PM
Dalai Felinto (dfelinto) added a project: Tracker Curfew.
Dalai Felinto (dfelinto) added a subscriber: Antonio Vazquez (antoniov).
Antonio Vazquez (antoniov) closed this task as a duplicate of T66293: GPencil: Redesign Blend modes and cleanup Drawing Engine.Dec 28 2019, 9:52 AM
Antonio Vazquez (antoniov) removed a project: Tracker Curfew.