Page MenuHome

Shader to RGB node breaks with a glossy/principled shader (EEVEE)
Closed, ResolvedPublic

Description

System Information
Operating system: Linux x64
Graphics card: Intel

Blender Version
2.8 Beta
Compiled from source on December 12, 2018 at 3:38 AM
Broken: 5c8f1053b5f

Short description of error
When I use the Shader to RGB node in Blender 2.8 Eevee one of my other shaders breaks and the depth buffer isn't cleared in the areas where the shader is resulting in a hall of mirrors effect.

Exact steps for others to reproduce the error

  1. Replace the default cube with a high detail sphere with smooth shading.
  2. Add a lamp and add three materials to the sphere. Differentiate the first two marerials by assigning them their own colors.
  3. On the third material add a diffuse shader and a shader to RGB node.
  4. Plug the diffuse into the Shader to RGB node and then plug the shader to RGB color output into an emission shader.
  5. Enter edit mode on the sphere and select a portion of the sphere. Assign the first material and then repeat for the rest. Everything should look as expected.
  6. Now in the third material slot (one with shader to RGB node) add a glossy and a principled BSDF shader.
  7. Plug each one of those into the shader to RGB node one at a time and then rotate your view. You should see that the parts of the mesh with the material from the first material slot will not clear the depth buffer resulting in a tearing hall of mirrors effect (like when you use the idclip cheat in Doom 1/2 and walk outside of the map bounds.)
  8. Now, using the arrows on the material tab, swap the places of the first and second materials and rotate your view.

Screen capture in case you can't get it to work for you

Event Timeline

Sebastian Parborg (zeddb) lowered the priority of this task from 90 to 50.

I can reproduce this. I get hall of mirrors effect with some of the shaders from that file (Linux, AMD 290x)

Clément Foucault (fclem) changed the task status from Unknown Status to Unknown Status.Mar 14 2019, 3:18 PM

So after spending a lot of time trying to find the issue, I found nothing.

A lot of actions fix the issue. Deleting either the character on the left or the right one will fix the issue. Deleting some nodes at fixes the issue even if the node is not used.

RenderDoc shows that the mesh is rendered, no fragment is discarded but yet nothing is drawn. Modifying the shader in renderdoc does not make it draw either.

I cannot reproduce the issue from factory startup or in other files. Also importing the objects into a new file does not exhibit the bug.

So I conclude it must be a corrupted file.

Archiving, unless someone can reproduce it with latest master.

I can confirm that this issue is now resolved.

Caden Mitchell (CadenMitchell) changed the task status from Unknown Status to Resolved.Jun 11 2019, 8:28 AM