Instance Method

setFragmentBuffer:offset:atIndex:

Sets a buffer for the fragment function.

Required.

Declaration

- (void)setFragmentBuffer:(id<MTLBuffer>)buffer offset:(NSUInteger)offset atIndex:(NSUInteger)index;

Parameters

buffer

The buffer to set in the argument table.

offset

How far the data is from the start of the buffer, in bytes.

index

The index 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 Arguments for a Fragment Function

- setFragmentBuffers:offsets:withRange:

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

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.