Instance Property

bufferAllocator

An object responsible for allocating mesh vertex data loaded from the asset.

Declaration

@property(nonatomic, readonly, retain) id<MDLMeshBufferAllocator> bufferAllocator;

Discussion

You specify an allocator when loading an asset with the initWithURL:vertexDescriptor:bufferAllocator: initializer. If you do not specify an allocator, or import an asset through other means, the MDLAsset class uses an internal allocator object.

For example, to use the MetalKit framework for loading vertex data into GPU buffers for rendering with Metal, pass a MTKMeshBufferAllocator object for the bufferAllocator parameter. By specifying an allocator, you ensure that mesh data is copied a minimal number of times between being read from a file and being loaded into GPU memory for rendering.

See Also

Working with Asset Content

- objectAtIndex:

Returns the top-level object at the specified index in the asset.

- objectAtIndexedSubscript:

Returns the top-level object at the specified index in the asset, using subscript syntax.

count

The number of top-level objects in the asset.

- childObjectsOfClass:

Returns all objects contained in the asset of the specified class.

- addObject:

Adds the specified object to the asset’s list of top-level objects.

- removeObject:

Removes the specified object from the asset’s list of top-level objects.

boundingBox

The minimum region entirely enclosing the asset’s contents.

- boundingBoxAtTime:

Returns the minimum region entirely enclosing the asset’s contents at the specified time sample.

URL

The URL from which the asset was loaded, if available.

vertexDescriptor

The description of the vertex data format to be used for loading mesh data from the asset.

masters

An array of objects that can be reused in the asset's object hierarchy through instancing.