Synthesis of bidirectional texture functions on arbitrary surfaces | Synapse