The object to use for encoding commands for a render pass.
To perform a rendering pass with a render command encoder:
Create a MTLRenderCommandEncoder object by calling the renderCommandEncoderWithDescriptor: method of the MTLCommandBuffer object in which you want to encode rendering commands. Do not use standard allocation and initialization techniques to create a MTLRenderCommandEncoder object. The render command encoder represents a single rendering pass into a specific attachment. Typically, you create a MTLRenderPassAttachmentDescriptor object once to describe the attachment and then use it repeatedly as the destination for rendering commands for as many rendering passes as needed.
Specify resources for input to and output from the vertex and fragment functions. Set the location (index) of each resource in its corresponding argument table.
Specify additional fixed-function state, such as viewport, scissor rectangle, depth test, and stencil test settings.
Draw graphics primitives.
Call the endEncoding method to terminate the render command encoder.
To render a number of instances of tessellated patches, call any method in the Drawing Tessellated Patches section. These methods can only be called if the vertex function is a post-tessellation vertex function; conversely, you cannot call any method in the Drawing Geometric Primitives and Tessellated Patches section.