7

enter image description here

Above is a gif of this rather strange occurrence .

A link to my file in Google Drive: here

There are some rather strange effects I can't quite understand as to why it happens. For one, if the object is not selected, it appears red and black as expected. The moment it is selected however, any form of movement will result in the screen blowing up with exceptionally high amounts of bloom. Which is strange really, because diffuse and transparency each have 0 emission whatsoever, so I am not sure what causes the bloom here

Setting opacity to alpha blend also leads to very strange effects. The rod turns into a mix of blue and red. Red is expected, after all the diffuse shader is red, but the blue? There is 0 blue in my shader network, how did it end up here?

Is there a way to logically reason as to what is causing these two issues? While I find the effect intriguing, I would like to know WHY it happens.

Hash
  • 663
  • 5
  • 15
  • @Gorgious Unfortunately im constrained by space issues and the effect only happens when moving around the mesh. I have attached the blend file that you can download and check yourself – Hash Sep 21 '21 at 06:58

2 Answers2

9

This behaviour can be explained by two things :

  1. The glowing effect is caused by the input factor not being constrained to the [0...1] range. You are multiplying the transparent shader by more than 1, creating these artifacts. Think how a material can be more transparent than fully transparent... It needs to emit light ! The Distance output from the Voronoi texture is not clamped to [0...1]. You can see that some values are greater than 1.77 for instance :

enter image description here

I'd fix it either by using a Clamp node :

enter image description here

But then you're losing information since all values > 1 will get lowered to exactly 1.

You can alternatively use a Map Range node and change the From Max accordingly. You can then also change the interpolation method :

enter image description here

  1. You're using a Camera mapping so it's very logical that the material display changes when you pan around the scene :

enter image description here

Gorgious
  • 30,723
  • 2
  • 44
  • 101
  • Oh, I didn't pay attention to the output of the Voronoi node, that's a good point. Still I think it's strange that without clamping I shut off the glowing flicker with simply setting the Transparent BSDF down to black, then back to white again - I mean, in my case the mix factor of the Voronoi is still greater than 1, but it doesn't seem to effect the transparency anymore. – Gordon Brinkmann Sep 21 '21 at 07:51
  • Yeah this is weird :) Without digging into the Engine source code I don't think we can really know what's causing this flickering, but as you explained it's certainly a combination of settings that's pushing the engine to its physical limitations ! – Gorgious Sep 21 '21 at 07:55
  • Im confused. How can emission be considered as more transparent than transparent? Transparency means to let IN light, but emission means to let out light. Arent they complete opposites? Also even if I set the mapping to object rather than camera, the glowing effect still occurs ONLY when the object is moved? Why is that? Also why does this effect not happen in cycles? Wont cycles also consider a transparency value of >1 to be emission like you said? – Hash Sep 21 '21 at 08:01
  • @Hash I don't think you can explain this with real physical properties (since more transparent than completely transparent doesn't exist), so we just have to guess how the render engine deals with it... I don't think the flickering is in anyway affected by the camera mapping - only that of course the voronoi pattern changes according to the view which might change the position of the flickering areas. But I guess the cause for the flickering itself is movement itself and therefore changing view angles, so it appears with other than camera mapping as well. – Gordon Brinkmann Sep 21 '21 at 08:07
  • @ Hash and @Gordon I agree you're both right and my explanation is just a wild guess :) I guess the point I was trying to make is if you push shaders outside of their theoretical boundaries, especially in a real time engine, you're bound to experience artifacts. As to why it is exacerbated when you pan the camera around, it's because of the bloom settings, it considers the few very bright pixels and tries to draw a halo around it, but the differences with its surroundings is so big that it's not reliable. Cycles doesn't have built-in glow so that's why it doesn't happen in cycles. – Gorgious Sep 21 '21 at 08:29
  • Try increasing the Bloom Clamp value or deactivating it altogether : Only the very bright spots remain and the weird glow when panning around disappears – Gorgious Sep 21 '21 at 08:30
  • 1
    @Gorgious Actually, since the file is in Material Preview node after downloading, the effect looks exactly the same after switching to Cycles :) Well, nevermind the guessing, your explanation is close enough to the truth methinks, unless we know how the engine really works behind the scenes. I was just wondering why my "not clamping" method gets a similar result. – Gordon Brinkmann Sep 21 '21 at 08:36
  • @GordonBrinkmann Why exactly does the flickering happen only with movement/changing view angles, why not when still ? – Hash Sep 21 '21 at 08:54
  • @Gorgious Could you explain this line again? Im confused : 'it considers the few very bright pixels and tries to draw a halo around it, but the differences with its surroundings is so big that it's not reliable' – Hash Sep 21 '21 at 08:55
  • @GordonBrinkmann I had also made the transparent bsdf color to black and then back to white like you did, except in my case the effect still remains. What could cause this? – Hash Sep 21 '21 at 08:56
  • @Hash The movement causes it because my assumption is that there are very small point that are only transparent viewed from certain angles (since it's some kind of cylindric form the front and back faces in the view direction have to be transparent at the same time) and as Gorgious said, maybe it's "over-transparent" and increases the transmitted light somehow. These are the very bright pixels where the Bloom option in Eevee creates a strong halo. – Gordon Brinkmann Sep 21 '21 at 09:01
  • 1
    @Hash For changing the color: the effect only disappears if you set the transparent color to black and accept the black color. Then switch it back to white. Just moving the brightness slider down to black and back up to white and then accepting directly the white color again doesn't work (on my PC). Also after doing that, moving the color brightness slider up and down makes it flicker again but it's gone after you accept the color. – Gordon Brinkmann Sep 21 '21 at 09:06
  • @Gordon Brinkmann I will add I noticed something very peculiar. I was unable to reproduce the effect in Eevee render, the main culprit being a lack of denoising in Eevee final renders. If viewport denoising is disabled, the effect disappears in the viewport. So as far as things are concerned, this effect is impossible to reproduce in the final render. Even viewport renders dont reproduce the effect – Hash Sep 21 '21 at 10:51
4

I can't explain why this happens, but I found out it has to do with the Transparent BSDF in the material. When changing the color the wild emission flickering happened as well, until I set the color to black (which makes it not transparent at all).

Then I set it back to white, and although the flickering still happens when changing the color (especially when grey is brighter than 0.5), it no longer appears if you leave the color at white and move the view or rotate the object.

I'm quite sure this has to do with how Eevee handles things like transparency etc., it also appears that when I shut off the light completely it doesn't appear. So it might be a combination of transparency and bright light or environment.

Gordon Brinkmann
  • 28,589
  • 1
  • 19
  • 49
  • It is certainly very intriguing. I set the texture coordinates to Object and set Diffuse color to white. Now it glows in a myriad of colors like blue yellow pink etc. Very strange, I would love to know why it happens – Hash Sep 21 '21 at 07:02