Instance Method

setFragmentBuffers:offsets:withRange:

Sets an array of buffers for the fragment function in a range of indices in the buffer argument table.

Required.

Declaration

- (void)setFragmentBuffers:(id<MTLBuffer>  _Nullable const *)buffers offsets:(const NSUInteger *)offsets withRange:(NSRange)range;

Parameters

buffers

An array of buffers to set in the buffer argument table.

offsets

An array of offsets, each of which specifies how far, in bytes, the data is from the start of its corresponding buffer.

range

A range of indices in the buffer argument table.

Discussion

For buffers in the device address space, the offset must be aligned to the data type consumed by the fragment shader function (which is always less than or equal to 16 bytes).

For buffers in the constant address space, the offset must be aligned to 256 bytes in macOS. In iOS, the offset must be aligned to the maximum of either the data type consumed by the tile shader, or 4 bytes. A 16-byte alignment is safe in iOS if you don't need to consider the data type.

See Also

Specifying Resources for a Fragment Function

- setFragmentBuffer:offset:atIndex:

Sets a buffer for the fragment function.

Required.

- setFragmentBufferOffset:atIndex:

Sets where the data begins in a buffer already bound to the fragment shader.

Required.

- setFragmentBytes:length:atIndex:

Sets a block of data for the fragment shader.

Required.

- setFragmentSamplerState:atIndex:

Sets a sampler state for the fragment function at an index in the sampler state argument table.

Required.

- setFragmentSamplerStates:withRange:

Sets an array of sampler states for the fragment function in a range of indices in the sampler state argument table.

Required.

- setFragmentSamplerState:lodMinClamp:lodMaxClamp:atIndex:

Sets a sampler state for the fragment function at an index in the sampler state argument table, specifying clamp values for the minimum and maximum level of detail.

Required.

- setFragmentSamplerStates:lodMinClamps:lodMaxClamps:withRange:

Sets sampler states for the fragment function in a range of indices in the sampler state argument table, specifying clamp values for levels of detail.

Required.

- setFragmentTexture:atIndex:

Sets a texture for the fragment function at an index in the texture argument table.

Required.

- setFragmentTextures:withRange:

Sets an array of textures for the fragment function in a range of indices in the texture argument table.

Required.