Maniphest T59979

Alpha textures Always Behind Grease Pencils
Closed, ResolvedKNOWN ISSUE

Assigned To
Antonio Vazquez (antoniov)
Authored By
Daniel Oakey (doakey3)
Dec 30 2018, 8:14 AM
Tags
  • Grease Pencil
  • BF Blender
Subscribers
Alex Mehler (Ulf3000)
Antonio Vazquez (antoniov)
Clément Foucault (fclem)
Daniel Oakey (doakey3)
Tomasz Kaye (bitbutter)

Description

System Information
Operating system: Arch Linux
Graphics card: GTX 1060

Blender Version
Broken: 2.80, 266b1e2cdbc1

Short description of error
Import an image as plane with a transparent texture. The grease pencil object will always be rendered in front

Exact steps for others to reproduce the error

  1. Import the provided laser.png image into blender using the images-as-planes add-on
  2. In the Materials section of the Properties window, set the Blend mode to either Alpha Blend or Multiply
  3. Add a grease pencil monkey (or any grease pencil object with a drawing)
  4. Rotate the camera --> the image plane will be rendered behind the camera no matter the orientation

Related Objects

Mentioned Here
T66293: GPencil: Redesign Blend modes and cleanup Drawing Engine
rB266b1e2cdbc1: Fix: Scrolling Preferences could cause blank UI

Event Timeline

Daniel Oakey (doakey3) created this task.Dec 30 2018, 8:14 AM
Sebastian Parborg (zeddb) assigned this task to Antonio Vazquez (antoniov).Dec 31 2018, 4:50 PM
Sebastian Parborg (zeddb) lowered the priority of this task from 90 to 50.
Bastien Montagne (mont29) edited projects, added BF Blender; removed BF Blender: 2.8.Jan 1 2019, 3:55 PM
Tomasz Kaye (bitbutter) added a subscriber: Tomasz Kaye (bitbutter).Apr 18 2019, 11:26 AM
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) added a comment.Dec 28 2019, 10:12 AM
This comment was removed by Antonio Vazquez (antoniov).
Antonio Vazquez (antoniov) added a subscriber: Clément Foucault (fclem).Jan 23 2020, 7:38 PM

@Clément Foucault (fclem) I have tested with new engine and still does the same. Do you think this is a design limitation?

Antonio Vazquez (antoniov) added a comment.Jan 23 2020, 7:40 PM

Clément Foucault (fclem) changed the subtype of this task from "Report" to "Known Issue".Jan 23 2020, 7:52 PM
Clément Foucault (fclem) removed a project: Tracker Curfew.

Yes this is because we are rendering in layers. The GPencil engine cannot know that something has been rendered and is transparent in front of it unless it has been written to the depth buffer.

There is no real workaround this it is a limitation of the way things works.

Antonio Vazquez (antoniov) closed this task as Resolved.May 11 2020, 6:12 PM
Antonio Vazquez (antoniov) claimed this task.

This is a design limitation impossible to solve, so we can close it... no reason to keep it open.

Alex Mehler (Ulf3000) added a subscriber: Alex Mehler (Ulf3000).Jun 2 2021, 4:05 PM
In T59979#857098, @Clément Foucault (fclem) wrote:

Yes this is because we are rendering in layers. The GPencil engine cannot know that something has been rendered and is transparent in front of it unless it has been written to the depth buffer.

There is no real workaround this it is a limitation of the way things works.

now over a year later is there any idea to resolve this in the long run (like rendering gp objects with eevee )?

i dont know how you composit the things in code but just know that image planes and cartoon animation belong together like siamese twins and are the gold standard in 2d animation (and will never change)

it would be sad if the tool is just left so you can never do a full animation scene (or the bulk of it at least) directly in eevee and instead plan it around using aftereffects, still.


Since alpha clipped textures are working fine with grease pencil objects,

maybe adding a compositing step and reusing the alpha buffer of the image plane's shader onto a depth buffered(alphaclipped) version/copy of the alpha blended object/material (the one you use for compositing),

and therefor at least approximate the alpha blending.

You guys also approximate the camera depth blur so maybe that would be a solution ?