The recursive subdivision algorithm for smooth surfaces