Maniphest T76554

2.82a unable to render certain tangled shader nodes in material preview mode
Closed, Archived

Assigned To
Brecht Van Lommel (brecht)
Authored By
Baichuan Wu (relubwu)
May 8 2020, 3:59 PM
Tags
  • BF Blender
  • Nodes
Subscribers
Baichuan Wu (relubwu)
Brecht Van Lommel (brecht)

Description

System Information
Operating system: macOS 10.15.3
Graphics card: Radeon Pro 560X 4 GB

Blender Version
Broken: 2.82a

Short description of error
As shown in the following screenshot, this scene is not rendered correctly in material preview mode, yielding the flat purple which resembles missing textures whilst there aren't any (pic. 1). However in rendered mode it works as expected (pic. 2).



Exact steps for others to reproduce the error
Please open the attached .blend file, enter material preview mode to reproduce the problem. (One particular interesting phenomenon is that at the last Principled BSDF node, if either of the three attached sockets is removed, it recovers. )

Event Timeline

Baichuan Wu (relubwu) created this task.May 8 2020, 3:59 PM
Baichuan Wu (relubwu) added a project: Nodes.May 8 2020, 4:01 PM
Brecht Van Lommel (brecht) closed this task as Archived.May 8 2020, 5:32 PM
Brecht Van Lommel (brecht) claimed this task.
Brecht Van Lommel (brecht) added a subscriber: Brecht Van Lommel (brecht).

There's a certainly shader complexity that the macOS OpenGL implementation can handle, and this shader seems to exceed it. There is not a lot that can be done about this, there may be ways to make shaders more inefficient in some ways but there is always a limit. Cycles does not have this problem because it doesn't use OpenGL.

In this particular case, there are too many image textures, exceeding the macOS OpenGL limits.

Baichuan Wu (relubwu) added a comment.May 9 2020, 2:16 AM
In T76554#927164, @Brecht Van Lommel (brecht) wrote:

There's a certainly shader complexity that the macOS OpenGL implementation can handle, and this shader seems to exceed it. There is not a lot that can be done about this, there may be ways to make shaders more inefficient in some ways but there is always a limit. Cycles does not have this problem because it doesn't use OpenGL.

In this particular case, there are too many image textures, exceeding the macOS OpenGL limits.

Got it, I'll try to disseminate shader complexity.

Thank you for your response!