I have a cylinder and I want the curved outside to have one simple diffuse shader, and the two flat sides to have a different diffuse shader. How would I do that?
I was stuck on believing that this is connected to the "Auto Smooth" (including the angle limit) function that already comes with Blender. I thought the basics are there because, the way I understand it, Auto Smooth almost does the thing I want: It shades faces differently, depending on their outer vertices' normals.
I tried playing around with the normals Input:
But this is dependant on the rotation of the object. The lower flat face, the one that's not visible in this screenshot, is still blue. And if I rotate the object, everything is messed up.
EDIT: Possible solution
Okay so I asked elsewhere, and I got a promising response. Now I'll be honest, I just barely passed linear algebra back in university, more than 10 years ago by sheer dumb luck, so I don't know exactly what these nodes do. But using vector absolute and vector dot product nodes seems like it might be the solution to my problem. This is the current node setup:
And this is the result. I have to verify if it works like I want it to more thoroughly, but maybe this is the solution!
Also, I updated the title. It's more fitting to what I'm actually trying to find out here now.