For a visualisation I use a HDR image for environment texture. It gives image based lighting, it is also reflected in the model and it also appears as a background behind the model.

What I need is that this HDR image continues to affect the model but to use a modified version of this same image to appear as the background behind the model. By a modified version I mean: a far more subdued, faded, colourised, low contrast version of the same image, such as would give a background homogeneous enough to make the model stand out, yet more interesting than a simple gradient.

I know I could render the model without any background and composit the modified image in, but is there a way to do it without compositing? A node setup that separates the image texture that gives IBL/reflections from the background image texture, so I could modify the later without affecting the former?

I am looking for a one-step solution that requires no post production after rendering...


The Cycles render engine uses a ray-traced system, in order to render, so there are multiple rays casted while rendering, and you can use the Lightpath node, in order to determine the type of ray; Take a look at this node setup:

enter image description here

You will get this effect:

enter image description here

Note that I added a RGB Curves node in order to reduce the brightness and contrast of a instance of the image, which is only visible to the camera; The white circle and oval in the image represent the same area, yet look different. Maybe I exaggerated the effect a little bit...

Also, you can do logical operations such as OR or AND in order to use multiple ray types; If you want more details on this, ask it as a new question.

  • $\begingroup$ This works perfectly and is just what I wanted! I'll play with the color nodes untill I finetune the background. $\endgroup$
    – Booth
    Aug 23 '14 at 14:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.