my last question was too difficult so this hopefully this will be easier to answer :p

Is there a way to use a camera view or location data to determine whether or not a color/texture appears?

I plan to use a node equation that takes a blue color channel, and the higher the blue value, the easier the texture would show.

A simple node setup

My end result would be looking like this, except the bright areas would be moved my the camera/view, rather than light rotation.


The setup is easy to replicate so I don't see the need for a .blend file, you could just texture paint certain parts of a sphere or cube blue to get the same result.

I hope this isn't too complicated since I have a tendency to ramble in my questions, I'd be grateful for any help!


1 Answer 1


It seems that you are looking for a channel which describes the angle of a surface with respect to the camera view. This is achieved by the Layer Weight and Fesnel nodes, found in the Input node category. The mixing can be controlled using the facing or IOR values of the Layer Weight and Fresnel nodes as well as a Color Ramp or Map Range node further tweaking/contrast. See the following node setup:

enter image description here

  • $\begingroup$ Omg, THANK YOU. It always ends up being a simple solution to my shader problems lol, this is exactly what I needed. $\endgroup$
    – Diran
    Oct 16, 2020 at 0:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .