Hair cards with alpha texture map produce weird black color under cycles. #96816

Closed
opened 2022-03-27 15:39:29 +02:00 by NXSK · 14 comments

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

Blender Version
Broken: 3.1 stable

Transparency issue.jpg
Transparency issue 1.jpg
transparency issue.blend
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.

3.0.jpg
3.0 12.jpg
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.

**System Information** Operating system: windows 10 Graphics card: RTX 3090 **Blender Version** Broken: 3.1 stable ![Transparency issue.jpg](https://archive.blender.org/developer/F12949881/Transparency_issue.jpg) ![Transparency issue 1.jpg](https://archive.blender.org/developer/F12949884/Transparency_issue_1.jpg) [transparency issue.blend](https://archive.blender.org/developer/F12949899/transparency_issue.blend) 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. ![3.0.jpg](https://archive.blender.org/developer/F12949965/3.0.jpg) ![3.0 12.jpg](https://archive.blender.org/developer/F12949976/3.0_12.jpg) 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.
Author

Added subscriber: @NXSK

Added subscriber: @NXSK

Added subscriber: @fasoric.vj

Added subscriber: @fasoric.vj

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."

i'm noticing this problem too. are those planes overlapping? quoting from the 3.1 [release notes ](https://wiki.blender.org/wiki/Reference/Release_Notes/3.1/Cycles): "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."
Author

@fasoric.vj 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.

@fasoric.vj 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.
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Member

Hm, so this is what I am seeing:
3.2 e2e4c1daaa
{F12952247 size=full}
3.1 release
{F12952256 size=full}
3.0 release
{F12952251 size=full}

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?

Hm, so this is what I am seeing: 3.2 e2e4c1daaa {[F12952247](https://archive.blender.org/developer/F12952247/image.png) size=full} 3.1 release {[F12952256](https://archive.blender.org/developer/F12952256/image.png) size=full} 3.0 release {[F12952251](https://archive.blender.org/developer/F12952251/image.png) size=full} 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?
Author

@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.

@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.
Member

Changed status from 'Needs User Info' to: 'Needs Developer To Reproduce'

Changed status from 'Needs User Info' to: 'Needs Developer To Reproduce'
Member

Added subscribers: @ThomasDinges, @brecht

Added subscribers: @ThomasDinges, @brecht
Member

In #96816#1331044, @NXSK wrote:
@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 @ThomasDinges or @brecht would know right away

> In #96816#1331044, @NXSK wrote: > @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 @ThomasDinges or @brecht would know right away

Added subscriber: @Mustard

Added subscriber: @Mustard

Changed status from 'Needs Developer To Reproduce' to: 'Archived'

Changed status from 'Needs Developer To Reproduce' to: 'Archived'

@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.

@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.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#96816
No description provided.