Michel J. Anders takes a look at implementing incidence vectors in OSL (Open Shader Language) in Blender to create materials that will change based on the angle of object orientation, much like a lenticular print would.

In this article we take this concept a bit further and create a shader that does not change it lighting model as a function of the angle between incidence vector and normal but changes its complete behavior depending on the angle between incidence vector an object orientation

Expanding on the uses for the incidence vector for creating cartoon and car paint shaders, Michel uses the incidence vector in OSL to create a shader that does not change the lighting model as a bump or normal would, but actually changes complete behavior.

Depending on the angle between the incidence vector and an object’s orientation, the shader will allow you to essentially model a 3d-like object, and in this case, Michel shows this with an example f a venetian blind that was created by only a 2D texture, using incidence vector. Check out the article for Implementing Incidence Vectors in OSL shaders for Blender here.