Maniphest T96816

Hair cards with alpha texture map produce weird black color under cycles.
Closed, Archived

Assigned To
None
Authored By
NXSK (NXSK)
Mar 27 2022, 3:39 PM
Tags
  • BF Blender
  • Cycles
  • Render & Cycles
Subscribers
Brecht Van Lommel (brecht)
Mustard (Mustard)
NXSK (NXSK)
Philipp Oeser (lichtwerk)
Riccardo Fasoli (fasoric)
Thomas Dinges (dingto)

Description

System Information
Operating system: windows 10
Graphics card: RTX 3090

Blender Version
Broken: 3.1 stable




It looks like the transparency ray depth doesn't calculate the opaque object between transparent ones. Even I raised the transparency light path up to 50, it still shows some black shadows of the hair cards.



With blender 3.0, it works correctly. Even just 8 of transparency depth.
With 12 of transparency depth, the black issue almost gone.

It has 2 copies of hair cards overlaping each other. One of it's normal faces outside, another one faces inside.

Related Objects

Mentioned In
T96537: Regression: Alpha/transparency not working correctly with intersecting mesh in Cycles
Mentioned Here
rBe2e4c1daaa47: OBJ: use fmt library instead of sprintf for faster formatting

Event Timeline

NXSK (NXSK) created this task.Mar 27 2022, 3:39 PM
NXSK (NXSK) updated the task description.Mar 27 2022, 3:55 PM
NXSK (NXSK) updated the task description.Mar 27 2022, 3:57 PM
NXSK (NXSK) added a project: Cycles.Mar 27 2022, 4:24 PM
NXSK (NXSK) updated the task description.Mar 27 2022, 5:54 PM
Riccardo Fasoli (fasoric) added a subscriber: Riccardo Fasoli (fasoric).Mar 27 2022, 6:15 PM

i'm noticing this problem too.
are those planes overlapping?

quoting from the 3.1 release notes:

"Ray Tracing Precision
Many artifacts from rendering small, large and far away objects have been eliminated. There will always be object scales where numerical precision becomes a problem, but it's further out now.

There can still be artifacts with rendering overlapping geometry, in some cases more severe than before. Such overlapping geometry should be removed, or have a small distance added in between."

NXSK (NXSK) added a comment.EditedMar 28 2022, 3:39 AM

@Riccardo Fasoli (fasoric) Yes, the hair planes have 2 copies overlapping. And one of them the normal is flipped.
This is a game model. I think using this geometry hair technique is to achive the effect that the hair is perfect from most of the angle of the view.
I'm not sure if it will be a problem that geometry hair has intersection.

But I found the transparency depth calculation a bit confusing. As the project file I uploaded, there are 22 planes and a cube at middle. 10 of the planes stays between the camrea and the cube. If my understanding is correct, I need 10 transparency depth to avoid black issues. But the truth is 10 transparency depth is not enough. It still shows black shadows from the planes inside the cube.

And another question: Is there a plan that introduce a technique just like sprite in Redshift that has no limitation of the transparency depth. It can be used at leaves and geometry hair.

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Needs Information from User.Mar 28 2022, 1:10 PM
Philipp Oeser (lichtwerk) added a subscriber: Philipp Oeser (lichtwerk).

Hm, so this is what I am seeing:
3.2 rBe2e4c1daaa47


3.1 release

3.0 release

Just to make sure (because your screenshots dont match the file that is provided):

  • these are the "artifacts" we are talking about, right?

With blender 3.0, it works correctly. Even just 8 of transparency depth.

Does this mean you are not seeing the "shadow squares" in 3.0 at all?

NXSK (NXSK) added a comment.Mar 28 2022, 4:23 PM

@Philipp Oeser (lichtwerk) Sorry, that's my misjudgement. I think maybe the reason that causes the geometry hair showing black artifacts is the algorithm of transparency depth. But I still don't understand why I need 15 or more ray depth to clear the artifacts even there are only 10 layers of transparent object.

Philipp Oeser (lichtwerk) changed the task status from Needs Information from User to Needs Information from Developers.Mar 29 2022, 11:46 AM
Philipp Oeser (lichtwerk) added a project: Render & Cycles.
Philipp Oeser (lichtwerk) added subscribers: Thomas Dinges (dingto), Brecht Van Lommel (brecht).
In T96816#1331044, @NXSK (NXSK) wrote:

@Philipp Oeser (lichtwerk) Sorry, that's my misjudgement. I think maybe the reason that causes the geometry hair showing black artifacts is the algorithm of transparency depth. But I still don't understand why I need 15 or more ray depth to clear the artifacts even there are only 10 layers of transparent object.

Without digging deeper, I am unsure as well.
Could it be, that we spend 10 transparent bounces already on the way to the cube, and then for the shadow rays we need the additional ones?
But would this explain why these look so blocky? And why they look so different between versions? (they even used to look different on CPU/GPU, but that was unified somewhere along the way...)
Maybe @Thomas Dinges (dingto) or @Brecht Van Lommel (brecht) would know right away

Mustard (Mustard) added a subscriber: Mustard (Mustard).Apr 21 2022, 1:33 PM
Brecht Van Lommel (brecht) closed this task as Archived.Jul 15 2022, 6:55 PM

@Philipp Oeser (lichtwerk) is correct, indirect and shadows require additional transparency bounces. The blocky look comes from the stacked planes, those corners are the corners of the planes.