Share via


ModelIO Namespace

Classes for manipulating 3D assets.

Classes

Name Description
MDLAnimatedMatrix4x4
MDLAnimatedQuaternion
MDLAnimatedQuaternionArray
MDLAnimatedScalar
MDLAnimatedScalarArray
MDLAnimatedValue
MDLAnimatedVector2
MDLAnimatedVector3
MDLAnimatedVector3Array
MDLAnimatedVector4
MDLAnimationBindComponent
MDLAreaLight

A basic high-performance light for illuminating scenes from a lit shape.

MDLAsset

A container that stores 3D assets as an indexed collection of MDLObject trees.

MDLBundleAssetResolver
MDLCamera

A point of view that looks into a 3D scence, and that can simulate certain aspects of a physical camera.

MDLCheckerboardTexture

Procedurally generates a checkerboard texture on demand, and caches the result.

MDLColorSwatchTexture

Texture that contains a gradient between two colors.

MDLLight

Base class for light sources.

MDLLightProbe

A light source that defines the color and intensity of its light in all directions.

MDLLightProbeIrradianceDataSource
MDLLightProbeIrradianceDataSource_Extensions

Extension methods to the IMDLLightProbeIrradianceDataSource interface to support all the methods from the MDLLightProbeIrradianceDataSource protocol.

MDLMaterial

Defines how a surface should appear when rendered.

MDLMaterialProperty

Defines a specific parameter that controls the rendering of a material surface.

MDLMaterialPropertyConnection
MDLMaterialPropertyGraph
MDLMaterialPropertyNode
MDLMatrix4x4Array
MDLMesh

A collection of MDLSubmesh objects that, together, define the geometric and material properties for rendering a 3D object.

MDLMeshBufferData

Provides storage for vertex and index data for a MDLMesh object.

MDLMeshBufferDataAllocator

An implementation of IMDLMeshBufferAllocator that allocates mesh buffer data space within main memory, not GPU memory.

MDLMeshBufferMap

Class that provides temporary access to mesh data in shared memory.

MDLMeshBufferZoneDefault

A default implementation of a IMDLMeshBufferZone.

MDLNoiseTexture

Class that generates a texture that consists of random color or direction noise.

MDLNormalMapTexture

Class that generates a texture that contains surface normal data.

MDLObject

Base class for objects in a MDLAsset.

MDLObjectContainer

A default implementation of the abstract IMDLObjectContainerComponent class.

MDLPackedJointAnimation
MDLPathAssetResolver
MDLPhotometricLight

Represents a light that is derived from photometric data.

MDLPhysicallyPlausibleLight

Represents a light that plausibly attenutates and can represent black-body incandescence.

MDLPhysicallyPlausibleScatteringFunction

Represents a bidirectional reflectance distribution function to use when rendering a MDLMaterialTextureWrapMode.

MDLRelativeAssetResolver
MDLScatteringFunction

Represents a Bidirectional Reflectance Distribution Funcion (BRDF) that defines a material's response to lighting conditions.

MDLSkeleton
MDLSkyCubeTexture

A texture that represents a realistic sunlit sky.

MDLStereoscopicCamera

A camera that can be used to render stereoscopic views of a scene.

MDLSubmesh

Indexes and identifies a portion of an MDLMesh, and contains material information about the indexed portion.

MDLSubmeshTopology

Describes the topology of the vertices that are indexed by a submesh's index buffers.

MDLTexture

Represents texel data for surface rendering.

MDLTextureFilter

Describes filtering modes for rendering by sampling a texture.

MDLTextureSampler

Represents a texture and sampling parameters to use when rendering the texture.

MDLTransform

Represents static and animated coordinate transformations.

MDLTransformComponent_Extensions

Extension methods to the IMDLTransformComponent interface to support all the methods from the MDLTransformComponent protocol.

MDLTransformMatrixOp
MDLTransformOrientOp
MDLTransformRotateOp
MDLTransformRotateXOp
MDLTransformRotateYOp
MDLTransformRotateZOp
MDLTransformScaleOp
MDLTransformStack
MDLTransformTranslateOp
MDLUrlTexture

Encapsulates on-demand loading of a texture at a URL.

MDLUtility
MDLVertexAttribute

Describes the physical layout and semantic content of vertex data in an index buffer.

MDLVertexAttributeData

Provides convenient access to vertex data for a specific MDLMesh object.

MDLVertexAttributes

Contains valid vertex attribute names.

MDLVertexBufferLayout

Describes the layout of vertices in a mesh buffer object.

MDLVertexDescriptor

Describes the format of vertices in a mesh buffer.

MDLVertexFormatExtensions

Extension methods for MDLVertexFormat.

MDLVoxelArray

Models a 3D object as a collection of volumetric elements, called voxels.

Structs

Name Description
MDLAxisAlignedBoundingBox

A bounding box whose axes are aligned with its coordinate system.

MDLVoxelIndexExtent

Provides the extent of voxel data.

Interfaces

Name Description
IMDLAssetResolver

This interface represents the Objective-C protocol MDLAssetResolver.

IMDLComponent

This interface represents the Objective-C protocol MDLComponent.

IMDLJointAnimation

This interface represents the Objective-C protocol MDLJointAnimation.

IMDLLightProbeIrradianceDataSource
IMDLMeshBuffer

This interface represents the Objective-C protocol MDLMeshBuffer.

IMDLMeshBufferAllocator

This interface represents the Objective-C protocol MDLMeshBufferAllocator.

IMDLMeshBufferZone

This interface represents the Objective-C protocol MDLMeshBufferZone.

IMDLNamed

Interface whose implementers define a Name property.

IMDLObjectContainerComponent

This interface represents the Objective-C protocol MDLObjectContainerComponent.

IMDLTransformComponent

This interface represents the Objective-C protocol MDLTransformComponent.

IMDLTransformOp

This interface represents the Objective-C protocol MDLTransformOp.

Enums

Name Description
MDLAnimatedValueInterpolation
MDLCameraProjection

Enumerates camera projections.

MDLDataPrecision
MDLGeometryType

Enumerates the geometric primitives to use for rendering.

MDLIndexBitDepth

Enumerates bit depths for MDLSubmesh index buffers.

MDLLightType

Enumerates the types of MDLLight.

MDLMaterialFace
MDLMaterialMipMapFilterMode

Enumerates values that control texture sampling between mipmap levels.

MDLMaterialPropertyType

Enumerates material property types.

MDLMaterialSemantic

Enumerates the semantics of an MDLMaterialProperty.

MDLMaterialTextureFilterMode

Enumerates values that control how to sample between texels.

MDLMaterialTextureWrapMode

Enumerates procedures for handling texture coordinates outside of the range [0.0,1.0].

MDLMesh.MDLMeshVectorType
MDLMeshBufferType

Enumerates mesh buffer data types.

MDLNoiseTextureType
MDLProbePlacement
MDLTextureChannelEncoding

Enumerates values that specify data types and sizes for texel channels.

MDLTransformOpRotationOrder
MDLVertexFormat

Enumerates vertex data descriptions.

Delegates

Name Description
MDLObjectHandler

Remarks

The Model I/O framework allows the developer to load and use 3D assets in the following formats:

  • Alembic:
  • Wavefront:
  • Polygons (.ply):
  • Triangles (.stl):

Additionally, developers can export to Triangle (.stl) and Wavefront formats.