Page MenuHome

Eevee Alpha Blend Depth Error
Closed, DuplicatePublic

Description

System Information
Operating system: Windows 10
CPU: Ryzen5 2600
RAM: 16gb
Graphics card: GTX 1060

Blender Version
Broken: 2.80, ffa29194bbe7, master, 2019-3-13

Short description of error
Enabling Alpha Blender and Show Back Faces results in the back objects appearing in front of front objects depending on the angle of the camera.

Exact steps for others to reproduce the error
Open included blend file. Set to Eevee and enable shading. Now rotate the view.

Blend File:

Youtube:
https://youtu.be/gQBoPxSn9ng

Details

Type
Bug

Event Timeline

You can attach blend files directly to here by drag and dropping (or using the upload file button that looks like a cloud with an uparrow inside it). I don't know what the devs' policy is on downloading off-site files, but I recommend attaching it.

You can attach blend files directly to here by drag and dropping (or using the upload file button that looks like a cloud with an uparrow inside it). I don't know what the devs' policy is on downloading off-site files, but I recommend attaching it.

Didn't notice that. Thanks.

@Clément Foucault (fclem), these settings could get a better name and tooltip, since there's a fair amount of reports about this.

Maybe there could be one Alpha Blend entry in the menu, and when that is selected you can pick between Hashed and Face Order (or some better name)? To separate the type of blending and quality aspects.

I see so this is caused by sorting by objects as oppose to by triangles or fragments. I know per fragment sorting would be difficult to implement, but sorting by object completely breaks this feature. I can't imagine a situation where alpha blending would be even remotely reliable. Maybe it should just be removed. Or is there another way to use it more reliably?

@Brecht Van Lommel (brecht) The name of the "Show Backface" option was suggested by @Pablo Vazquez (pablovazquez). It is just a depth prepass that masks any overlapping geometry for this surface. So it makes sure no overlap (and thus ordering issue) is created. It is not an ordering option but more of a hack. I'm not sure about separating the alpha hashed into it's own option. Other sorting method are more likely to be a global switch than per material option and alpha hashing will not interact with them.

I can't imagine a situation where alpha blending would be even remotely reliable.

Glass planes (windows) that never intersects but need correct ordering for example.

@Clément Foucault (fclem), I wasn't referring to the Show Backface option specifically, I just noticed a bunch of reports about alpha sorting issues.

Users want to have transparency, and then they pick Alpha Blend because they don't know what Alpha Clip or Alpha Hashed means. Then there are sorting artifacts, and it's not clear to how to solve them. Some different naming and tooltips could help.

I suggest the Blend Mode to have options Opaque, Transparent Cutout, Transparent, Additive and Multiply. And then if you select Transparent, you would have choices between Sampled, Face Order and Single Layer (or some better names). The tooltips for each could have more details about when to use them.

It leaves the question about what the right default value is. If Sampled (Hashed) could be enabled by default it would solve a lot of confusion and leave other settings more as an optimization for advanced users to care about. But of course it introduces noise in a lot of renders where it's not really needed so it's not obviously the right choice.

I don't have an ideal solution, just trying to think of how we can clarify the functionality that's there.

@Clément Foucault (fclem), I wasn't referring to the Show Backface option specifically, I just noticed a bunch of reports about alpha sorting issues.
Users want to have transparency, and then they pick Alpha Blend because they don't know what Alpha Clip or Alpha Hashed means. Then there are sorting artifacts, and it's not clear to how to solve them. Some different naming and tooltips could help.
I suggest the Blend Mode to have options Opaque, Transparent Cutout, Transparent, Additive and Multiply. And then if you select Transparent, you would have choices between Sampled, Face Order and Single Layer (or some better names). The tooltips for each could have more details about when to use them.
It leaves the question about what the right default value is. If Sampled (Hashed) could be enabled by default it would solve a lot of confusion and leave other settings more as an optimization for advanced users to care about. But of course it introduces noise in a lot of renders where it's not really needed so it's not obviously the right choice.
I don't have an ideal solution, just trying to think of how we can clarify the functionality that's there.

I'm getting it now, with Alpha blend you need to be aware of the geometry around the blended object, but it really sounds like the thing to use when you want transparency. I see the purpose for alpha clipping, its very specific. And Hashed produces really unpleasant noise with low sample settings. I feel like your proposed naming scheme would be better since right now they are deceptively unintuitive coming from cycles to eevee.