Ingmar Franz (duerer)

27 answers · asked @ video mark 6:18 · Lesson: Material: Concrete Columns · Course: Create Realistic Industrial Environments with Blender and Eevee

"Industrial Environments with Eevee" Course: Columns Turning Magenta when Mixing in Second Principled BSDF

The problem has already been described by cchapeline here and on "Blender Stackexchange" here (but without any fitting solution for my problem). Despite exactly following Kent's theluthier instruction, the columns nevertheless turn magenta as soon as the second "Prinicpled BSDF" is mixed in with a "Mix Shader" node:

After muting the "Mix Shader Node":

With just the "Principled BSDF" with the paint color beeing plugged into the "Material Output" node:

Everything fine in Cycles:

All tests run with Blender 2.92.0 and 2.93 Alpha.

  • A partial solution posted on "Blender Stackexchange" here. But I'm still wondering why Kent theluthier didn't encounter that problem.  In the meantime I've tested it with Blender 2.91 (the version used by Kent) as well: Same problem!

    gger3d and jjordanofoz Did you have the same problem? In case you did, how could you solve it?

  • Ok, I could "solve" the problem by muting one of the last three "MixRGB" nodes (mode "Overlay" and "Multiply"; see magenta frame below):

    Muting one of the first two "MixRGB" nodes (mode "Mix") doesn't remove the magenta column shading.

    File with one column only is here.

    • Please have a look at the error message in Blender's "System Console" when unmuting one of the three "MixRGB" nodes in the magenta frame below:

      Note: This is just a small portion of the error message but as far as I can see, it's a problem with the NVIDIA GPU. Complete error message is here.

    • duerer I don't understand those Error messages, I just look for something I can read and see: ...too many instructions...(which probably is a RAM issue, not specifically a NVidia problem.)

      I think it's a problem with mixing Shaders (see also answer below), when a Principled Shader is like a Node Group that uses 5 Mix Shaders, then mixing two Principled Shaders means you've got 11 Mix Shaders!

  • I'm also facing the same problem when opening Kent's theluthier file realistic-eevee-environment_lesson_14_end.blend from the course resources:

    Again, muting one of the last three "MixRGB" nodes "solves" the problem:

    Maybe, it's a memory issue or some other Blender settings have to be adjusted?

  • duerer you probably need a more powerful GPU 

    as Kent didn't have this problem.

  • spikeyxxx theluthier jlampel I've found a solution 😀😀😀!!!  Simply set the "Musgrave" texture node from 3D to 4D and you get the "pockmarks" (as Kent calls the little holes in the concrete) on your painted columns:

    It came to my mind since there's an info in the error message mentioned above in this thread: "Info: Successfully reset Musgrave Texture". spikeyxxx With your posting concerning "too many instructions" I first set it to 2 D which already solved the problem but didn't create nice "pockmarks" in some areas (maybe rather a problem with the rotation values):

    EDIT: "Musgrave" set to "3D" also works with type "Hetero Terrain" or "Hybrid Multifractal":

    The types "Multifractal", "Ridged Multifractal" and the default type "fBM" don't work on my computer.

  • And that's how the camera renders the scene now:

  • duerer, after a good night's sleep, I remember Simon Thommes saying that Mix Shaders are really expensive and although a Principled Shader looks like only one Node, it is already a  'mixing of Shaders' under the hood (probably).

    So let's do all the masking before the Principled Shader like this:

    (Sorry for not aligning my Noodles...)

    Even my 10  year old Nvidia  GT630  can handle this and you don't change the material this way :

    As you can see, no error message.

    • spikeyxxx I think that's what Kent theluthier is referring to when he says (starting at 4:47 in this lesson) that modifying the existing color inputs (of the "Principled BSDF") is a "more efficient setup for computation". But he finds it "more complex for workflow" and that's why he chooses to achieve the paint effect with a separate shader.

    • Yes, when you have enough power (read GPU RAM), you can afford that ;)

      It's a bit like, when computers became faster and memory cheaper, a lot of people started writing longer and less efficient (slower) code...(who cares if a programm takes up 4GB on a hard drive, when a Terabyte costs next to nothing...)

      (Blender is somewhat of an exception...)

    • With the color mixing before the one and only "Principled BSDF" node in the column material I also mixed in some "pockmarks" into the surface color:

    • spikeyxxx  I've created for the painted column part  a consistent reflectivity both for specularity and roughness as Kent describes it later in this lesson:

    • Thank you so much !

  • Another small optimization would be:

    Which in general is preferred, while you can change the Treshold with a Slider that you can control in a Node Group, while the Flag in the ColorRamp cannot....

  • crew

    I've run into this problem before, caused by too many texture nodes in the network. Eevee is apparently limited to 24 texture nodes and going above that limit will turn the material "error-pink".

    But I did not experience that with any material in this course. I'm at a loss for why this would happen to you duerer despite following my material exactly 🤔

    • theluthier Since this even happens when opening your files from this course it's obviously due to my hardware.

    • crew

      AH Ok, I was wondering if hardware could be at fault. It just doesn't seem like that complex of a material in the first place. Thanks for troubleshooting it so we know what's going on 🤝

    • crew

      Have you updated the drivers for your GPU?

      By the way, that's a node tree to be proud of. 

      My tree is the same as yours, but perhaps not as neat, and I've not had any problem, I even changed all my settings to match yours and no problem. So my first thought from there was GPU.

      Are you using Windows?

      When Windows updates automatically, I sometimes encounter issues until I update the GPU drivers. Now I do my updates manually so I can easily troubleshoot any issues.

    • Thank you, adrian2301 😀! Yes, I'm using Windows which is updating very often in the last time. It's a little bit annoying but on the other hand I don't want to miss any security gap fixes.

    • crew

      I do my updates every couple of weeks. When an update is released there is normally an update to the update a week to 10 days later to resolve any issue reported by the original update, so your not really missing anything. And I get to do it when I'm not Blendering and slowing down my computer. With the GPU you are best checking manually because Windows updates will only give you basic drivers. My GPU is an AMD, I have to update the standard drivers plus install pro drivers to use Blender.

    • duerer and adrian2301 I am pretty sure that this is not a driver's issue! (I am using Linux and don't have driver problems like on Windows...)

      It probably has to do with the amount of GPU Ram. Using only one Principled Shader solves the issue.

    • adrian2301 and spikeyxxx Blender on my computer  is running on GPU.  It's a gaming laptop with Blender as my favorite game 😉! So, one should think that there won't be such problems. I'm wondering what monster 👹 graphics card  Kent theluthier is using 🤔?

    • crew

      duerer I've got a GeForce RTX 2080 (8GB VRAM). It's not new but it's on the higher end still...maybe?

    • Thank you, theluthier! I'm wondering whether part of the problem could be an outdated driver. When I'm starting the program for the system settings of my GeForce GTX 1060 the program crashes after a few seconds before I can change anything:

      I need to search for more informations on how to fix this isssue. The problem with updated drivers is unfortunately that they sometimes make things even worse. I've read so often about such problems which I've already experienced myself in the past but not with my current computer.