3d shape light functions