Controlling vector mapping using object geometry I'm building a shader where a single UV-mapped texture is applied as the back and front of a plane using the geometry > backfacing property. The mapped image looks like this:



In the end the top part should be on the front and the bottom part should be on the back. That would look something like this:



This node setup does the trick and so far it's working as expected:



Now, in this simplified setup, both image texture nodes load the same file. Only their vector input is different. What I would like to do now is have the geometry node define the Vector mapping rather than to have two image texture nodes and two diffuse nodes.

The reason is that in my final implementation there are five image texture nodes, each defining a property like diffuse, glossy, glass, roughness, ...
The whole setup is powered by a python script so I prefer to define five different image texture nodes rather than ten.
Yes, you can do this pretty easily in Cycles using a Mix RGB node.  Since Cycles considers colors and vectors to be no different from each other you can actually run vectors through color sockets and vice-versa.

Just use a Mix RGB node to mix the two vectos with the Backfacing value plugged into the factor.  You can then plug the "Color" output from the Mix node right into the image texture nodes.