Hi,
I have a scene with a world shader node tree, where the last node is a mixshader that mixes a simple background color node with a more complex shader node tree.
However, the first frame of my animated scene should only have the background color node mixed through.
I set the mix shader factor to 0 to only let pass the top shader input, which is the background color node.
The result in the rendered viewport (screenshot 1 below) is exactly what I want, but if I hit F12 to render the frame, the result is much brighter.
I moved both render results (viewport and final render) on top of each other, so the difference in brightness is pretty obvious. Note that the mix shader is set to 0.
Now, if I set the mix shader to 0.5, both render results are the same (screenshot 2 below)
The viewport result increased in brightness as much as the final render. So the mix shader does work for the viewport.
When I totally skip the mix shader and connect the background color node directly to the world output node, the final render gets the brightness, that I intend to get, when I set the mix shader to 0 (screenshot 3 below)
Could someone please explain, why the mix shader is working in the viewport, but not in the final render?
Maybe it helps, when I add the complete node tree here?
I just read somewhere else, that viewport render is like “material preview” and a default HDRI is applied. Here, I have my own HDRIs, which I setup as one fixed (for the optic) and one rotated (for the desired light direction).
But still, since I have cut of that path by the mix shader set to 0 (in order to only use the upper shader input) I was hoping, that my environment texture just don’t mix into the scene lighting.
Please tell me if my thinking is incorrect and it would be very much appreciated, if somebody could provide a solution for the intention that I have.