Shadeless Material in Cycles (solution and its problem)

There are only one solution for shadeless material in Cycles, that I found: blenderCookie: Making Shadeless Materials for Cycles in Blender

Unfortunately this technique has the following issue:
While in fact such a shadeless surface doesn’t produce any lighting, it has the Emission shader and Cycles treat it like a light source. As the result, if one try to apply such a material to a big sphere that represents sky, one can observe enormous amount of noise in the whole scene.
It looks strange, because actually there is no additional light from shadeless material described above. May be such behaviour is a bug, but it is real in blender 2.62

Does anyone know a solution or workaround of such a side effect with noise?

Why are you using a large sphere with a shadeless material to act as the sky, just use a world shader.

If you then need environmental lighting that is different from the background, then use the lightpath node.

you can still use a “is camera” lightpath to make the light visible only for camera so that its light doesn’t travel in any other path. plug an invisible shader to the other imput of the mix shader

>>need environmental lighting that is different from the background
This is exactly the reason why I need shadeless sphere as sky, instead of world

>>then use the lightpath node
>>you can still use a “is camera” lightpath to make the light visible only for camera so that its light doesn’t travel in any other path

The same technique is described in the quick tip, that I mentioned in the first post. And the problem is that I use lightpath node to make the light visible only for camera, but it still produce noise, that dissapears if I change shadeless material back to diffuse for my sphere

There’s something wrong somewhere… See this shot - no noise. The backdrop is not the sphere, just plane. Where are your lights coming from?



here is how the sky material set up


diffuse sky

shadeless sky

hidden sky object

note that actually sky is not a full sphere: the bottom of the sphere (the "under"ground part) is deleted

there is an emission object in the scene above (Sun), and one can see that sky is really shadeless


diffuse sky

shadeless sky

my .blend: test.blend.zip (130 KB)

>>note that actually sky is not a full sphere: the bottom of the sphere (the "under"ground part) is deleted
hmm! just noticed: with shadeless sky the bottom of the ground (the ground from the side where part of sphere is deleted) looks OK. If i merge the bottom of the sphere, so now it’s a closed area, then the ground from both top and bottom looks like on the “shadeless sky” image in the previous post.
So I see that my shadeless Sky-sphere:
a) kills all bouncing lighting (that is my Sun becomes much less powerfull inside shadeless object)
b) it also kills environment lighting, just like any other opaque closed object
To be honest, I should say that a) is something that is expected. But I didn’t expect b)… sad for me.

I suppose that now I have an idea of what is going on with such shadeless material in Cycles - there is no bouncing light from such material, and the Sky sphere kills environment light.

Now it’s easy to explain three images in the previous post:
diffuse sky - everything is OK, there are environment and Sun lighting
shadeless sky - environment lighting was killed by the Sky-sphere. There is also no bouncing light from the Sky, so the Sun looks much less powerfull and the Ground is almost black (and this is why the noise is so noticeable)
hidden sky object - environment lighting is OK, and there is no bouncing light from the Sky (there is no Sky), just like on shadeless sky image. But due to environment light, the Ground is OK

Thanks to all for help

It’s not the shader’s fault. As I suggested before, plug also an invisible (ehm… transparent) shader to the mix as well. As you setup it now, when rays are not from camera a null shader is used (the empty pin), meaning a sort of black-body, which prevents light from bouncing and also passing through the object. So, no light from the world reaches your ground.
BTW the plane emitter (sun) doesn’t work at all…

>>As I suggested before, plug also an invisible (ehm… transparent) shader to the mix as well
yes! with the transparent shader the Sky-sphere does transmit environment light.
So the final setup for sky is



As I understand, now the material is

  • visible for the camera
  • fully transparent for any other rays

>>BTW the plane emitter (sun) doesn’t work at all…
actually it does (one can see it on the diffuse sky image), but really it is to far/small. I just enlarged the Sun-plane, and now it produce enough amount of light

Thanks again!:slight_smile: