Except that diffuse is not light dependent. The velvet shader clearly is. Make a flat plane with a point lamp hovering above it. Assign a velvet shader to it and your setup above and compare. Now compare velvet with a glossy and see how they are kinda similar wrt being light dependent - except glossy creates a “bright reflection highlight” velvet creates a “dark reflection highlight”. It’s not only about viewing angle, light angle matters (light half angle vector).
When placing a light above the plane, I see now indeed the difference between diffuse and velvet when moving the light and also when you look at the planes from another angle. Pretty interesting to see.
Still the velvet shader gives a dark area which you cannot feed into an input of another node, in for example a color mix node.
If it had some outputs, so that you could feed it in a color mix node for example. That would make it interesting for me.
Thanks for the effort showing me the difference.
You can Add Shaders instead of mixing them. Just tweak the colors of your shaders to a lower level (which is exactly what mixing shaders do).
Theoretically, if you keep the sum of all color inputs to be bellow 1.0 at each component, you should be able to have a good energy conservation.
There are no standard ways to make materials for velvet/satin. Each situation requires the usage of different configurations of shaders.
For example, I have textile materials that beyond the Velvet shader, also use crossed anisotropic glossys to mimic some weave patterns. So mixing shaders is just a bit as mixing colors… If you understand the properties of what you want to replicate, you can start recreating them using the tools (closures) at your disposal.
Of course, it would be even better if we could really have an option of creating our own distribution functions… I hope that we get there, as we did with texturing!!