IBL with cycles: can I use a different background image from the one that affects the model? 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:



You will get this effect:



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.