modelio

package
v0.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Rendered for darwin/amd64

Overview

Package modelio provides purego-based Go bindings for the macOS ModelIO framework.

Apple documentation: https://developer.apple.com/documentation/modelio

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func KUTType3dObject

func KUTType3dObject() *foundation.NSString

func KUTTypeAlembic

func KUTTypeAlembic() *foundation.NSString

func KUTTypePolygon

func KUTTypePolygon() *foundation.NSString

func KUTTypeStereolithography

func KUTTypeStereolithography() *foundation.NSString

func KUTTypeUniversalSceneDescription

func KUTTypeUniversalSceneDescription() *foundation.NSString

func KUTTypeUniversalSceneDescriptionMobile

func KUTTypeUniversalSceneDescriptionMobile() *foundation.NSString

func MDLAssetCanExportFileExtension

func MDLAssetCanExportFileExtension(extension *foundation.NSString) bool

Returns a Boolean value that indicates whether the MDLAsset class can write asset data as a file with the specified format extension.

func MDLAssetCanImportFileExtension

func MDLAssetCanImportFileExtension(extension *foundation.NSString) bool

Returns a Boolean value that indicates whether the MDLAsset class can read asset data from files with the specified extension.

func MDLAssetPlaceLightProbesWithDensityHeuristicUsingIrradianceDataSource

func MDLAssetPlaceLightProbesWithDensityHeuristicUsingIrradianceDataSource(value float32, type_ MDLProbePlacement, dataSource MDLLightProbeIrradianceDataSource) *foundation.NSArray[*MDLLightProbe]

Automatically creates and places light probes for use in illuminating a scene.

func MDLUtilityConvertToUSDZWriteToURL

func MDLUtilityConvertToUSDZWriteToURL(inputURL *foundation.NSURL, outputURL *foundation.NSURL)

func MDLVertexAttributeAnisotropy

func MDLVertexAttributeAnisotropy() *foundation.NSString

The attribute data describes the degree to which a surface’s appearance changes in appearance when rotated about its normal vector.

func MDLVertexAttributeBinormal

func MDLVertexAttributeBinormal() *foundation.NSString

The normal to a curve at a vertex position

func MDLVertexAttributeBitangent

func MDLVertexAttributeBitangent() *foundation.NSString

The vector completing a tangent basis at a vertex

func MDLVertexAttributeColor

func MDLVertexAttributeColor() *foundation.NSString

Color of a vertex

func MDLVertexAttributeEdgeCrease

func MDLVertexAttributeEdgeCrease() *foundation.NSString

A crease value along an edge to be applied during subdivision. A zero value indicates an edge is smooth, one is sharply creased.

func MDLVertexAttributeJointIndices

func MDLVertexAttributeJointIndices() *foundation.NSString

Indices of joints in an animation rig corresponding to weighting information

func MDLVertexAttributeJointWeights

func MDLVertexAttributeJointWeights() *foundation.NSString

Weights corresponding to joints for the purpose of blending animation

func MDLVertexAttributeNormal

func MDLVertexAttributeNormal() *foundation.NSString

The direction of a normal at a vertex

func MDLVertexAttributeOcclusionValue

func MDLVertexAttributeOcclusionValue() *foundation.NSString

A value indicating the degree to which a vertex is occluded by surrounding geometry

func MDLVertexAttributePosition

func MDLVertexAttributePosition() *foundation.NSString

The position of a vertex

func MDLVertexAttributeShadingBasisU

func MDLVertexAttributeShadingBasisU() *foundation.NSString

The u direction of a shading basis at a vertex

func MDLVertexAttributeShadingBasisV

func MDLVertexAttributeShadingBasisV() *foundation.NSString

The v direction of a shading basis at a vertex

func MDLVertexAttributeSubdivisionStencil

func MDLVertexAttributeSubdivisionStencil() *foundation.NSString

Stencil values for subdivision at a vertex

func MDLVertexAttributeTangent

func MDLVertexAttributeTangent() *foundation.NSString

A vector tangent to a vertex

func MDLVertexAttributeTextureCoordinate

func MDLVertexAttributeTextureCoordinate() *foundation.NSString

Texture coordinate mapping at a vertex

Types

type Acl_entry_id_t

type Acl_entry_id_t int64
const (
	ACL_FIRST_ENTRY Acl_entry_id_t = 0
	ACL_NEXT_ENTRY  Acl_entry_id_t = -1
	ACL_LAST_ENTRY  Acl_entry_id_t = -2
)

func (Acl_entry_id_t) String

func (e Acl_entry_id_t) String() string

type Acl_flag_t

type Acl_flag_t int64
const (
	ACL_FLAG_DEFER_INHERIT      Acl_flag_t = 1
	ACL_FLAG_NO_INHERIT         Acl_flag_t = 131072
	ACL_ENTRY_INHERITED         Acl_flag_t = 16
	ACL_ENTRY_FILE_INHERIT      Acl_flag_t = 32
	ACL_ENTRY_DIRECTORY_INHERIT Acl_flag_t = 64
	ACL_ENTRY_LIMIT_INHERIT     Acl_flag_t = 128
	ACL_ENTRY_ONLY_INHERIT      Acl_flag_t = 256
)

func (Acl_flag_t) String

func (e Acl_flag_t) String() string

type Acl_perm_t

type Acl_perm_t int64
const (
	ACL_READ_DATA           Acl_perm_t = 2
	ACL_LIST_DIRECTORY      Acl_perm_t = 2
	ACL_WRITE_DATA          Acl_perm_t = 4
	ACL_ADD_FILE            Acl_perm_t = 4
	ACL_EXECUTE             Acl_perm_t = 8
	ACL_SEARCH              Acl_perm_t = 8
	ACL_DELETE              Acl_perm_t = 16
	ACL_APPEND_DATA         Acl_perm_t = 32
	ACL_ADD_SUBDIRECTORY    Acl_perm_t = 32
	ACL_DELETE_CHILD        Acl_perm_t = 64
	ACL_READ_ATTRIBUTES     Acl_perm_t = 128
	ACL_WRITE_ATTRIBUTES    Acl_perm_t = 256
	ACL_READ_EXTATTRIBUTES  Acl_perm_t = 512
	ACL_WRITE_EXTATTRIBUTES Acl_perm_t = 1024
	ACL_READ_SECURITY       Acl_perm_t = 2048
	ACL_WRITE_SECURITY      Acl_perm_t = 4096
	ACL_CHANGE_OWNER        Acl_perm_t = 8192
	ACL_SYNCHRONIZE         Acl_perm_t = 1048576
)

func (Acl_perm_t) String

func (e Acl_perm_t) String() string

type Acl_tag_t

type Acl_tag_t int64
const (
	ACL_UNDEFINED_TAG  Acl_tag_t = 0
	ACL_EXTENDED_ALLOW Acl_tag_t = 1
	ACL_EXTENDED_DENY  Acl_tag_t = 2
)

func (Acl_tag_t) String

func (e Acl_tag_t) String() string

type Acl_type_t

type Acl_type_t int64
const (
	ACL_TYPE_EXTENDED Acl_type_t = 256
	ACL_TYPE_ACCESS   Acl_type_t = 0
	ACL_TYPE_DEFAULT  Acl_type_t = 1
	ACL_TYPE_AFS      Acl_type_t = 2
	ACL_TYPE_CODA     Acl_type_t = 3
	ACL_TYPE_NTFS     Acl_type_t = 4
	ACL_TYPE_NWFS     Acl_type_t = 5
)

func (Acl_type_t) String

func (e Acl_type_t) String() string

type Clockid_t

type Clockid_t int64

func (Clockid_t) String

func (e Clockid_t) String() string

type Dispatch_autorelease_frequency_t

type Dispatch_autorelease_frequency_t uint64
const (
	DISPATCH_AUTORELEASE_FREQUENCY_INHERIT   Dispatch_autorelease_frequency_t = 0
	DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM Dispatch_autorelease_frequency_t = 1
	DISPATCH_AUTORELEASE_FREQUENCY_NEVER     Dispatch_autorelease_frequency_t = 2
)

func (Dispatch_autorelease_frequency_t) String

type Dispatch_block_flags_t

type Dispatch_block_flags_t uint64
const (
	DISPATCH_BLOCK_BARRIER           Dispatch_block_flags_t = 1
	DISPATCH_BLOCK_DETACHED          Dispatch_block_flags_t = 2
	DISPATCH_BLOCK_ASSIGN_CURRENT    Dispatch_block_flags_t = 4
	DISPATCH_BLOCK_NO_QOS_CLASS      Dispatch_block_flags_t = 8
	DISPATCH_BLOCK_INHERIT_QOS_CLASS Dispatch_block_flags_t = 16
	DISPATCH_BLOCK_ENFORCE_QOS_CLASS Dispatch_block_flags_t = 32
)

func (Dispatch_block_flags_t) String

func (e Dispatch_block_flags_t) String() string

type EvCmd

type EvCmd int64
const (
	EVNOP   EvCmd = 0
	EVHIDE  EvCmd = 1
	EVSHOW  EvCmd = 2
	EVMOVE  EvCmd = 3
	EVLEVEL EvCmd = 4
)

func (EvCmd) String

func (e EvCmd) String() string

type Filesec_property_t

type Filesec_property_t int64
const (
	FILESEC_OWNER         Filesec_property_t = 1
	FILESEC_GROUP         Filesec_property_t = 2
	FILESEC_UUID          Filesec_property_t = 3
	FILESEC_MODE          Filesec_property_t = 4
	FILESEC_ACL           Filesec_property_t = 5
	FILESEC_GRPUUID       Filesec_property_t = 6
	FILESEC_ACL_RAW       Filesec_property_t = 100
	FILESEC_ACL_ALLOCSIZE Filesec_property_t = 101
)

func (Filesec_property_t) String

func (e Filesec_property_t) String() string

type Idtype_t

type Idtype_t int64
const (
	P_ALL  Idtype_t = 0
	P_PID  Idtype_t = 1
	P_PGID Idtype_t = 2
)

func (Idtype_t) String

func (e Idtype_t) String() string

type Ipc_info_object_type_t

type Ipc_info_object_type_t int64
const (
	IPC_OTYPE_NONE                 Ipc_info_object_type_t = 0
	IPC_OTYPE_THREAD_CONTROL       Ipc_info_object_type_t = 1
	IPC_OTYPE_TASK_CONTROL         Ipc_info_object_type_t = 2
	IPC_OTYPE_HOST                 Ipc_info_object_type_t = 3
	IPC_OTYPE_HOST_PRIV            Ipc_info_object_type_t = 4
	IPC_OTYPE_PROCESSOR            Ipc_info_object_type_t = 5
	IPC_OTYPE_PROCESSOR_SET        Ipc_info_object_type_t = 6
	IPC_OTYPE_PROCESSOR_SET_NAME   Ipc_info_object_type_t = 7
	IPC_OTYPE_TIMER                Ipc_info_object_type_t = 8
	IPC_OTYPE_PORT_SUBST_ONCE      Ipc_info_object_type_t = 9
	IPC_OTYPE_MIG                  Ipc_info_object_type_t = 10
	IPC_OTYPE_MEMORY_OBJECT        Ipc_info_object_type_t = 11
	IPC_OTYPE_XMM_PAGER            Ipc_info_object_type_t = 12
	IPC_OTYPE_XMM_KERNEL           Ipc_info_object_type_t = 13
	IPC_OTYPE_XMM_REPLY            Ipc_info_object_type_t = 14
	IPC_OTYPE_UND_REPLY            Ipc_info_object_type_t = 15
	IPC_OTYPE_HOST_NOTIFY          Ipc_info_object_type_t = 16
	IPC_OTYPE_HOST_SECURITY        Ipc_info_object_type_t = 17
	IPC_OTYPE_LEDGER               Ipc_info_object_type_t = 18
	IPC_OTYPE_MAIN_DEVICE          Ipc_info_object_type_t = 19
	IPC_OTYPE_TASK_NAME            Ipc_info_object_type_t = 20
	IPC_OTYPE_SUBSYSTEM            Ipc_info_object_type_t = 21
	IPC_OTYPE_IO_DONE_QUEUE        Ipc_info_object_type_t = 22
	IPC_OTYPE_SEMAPHORE            Ipc_info_object_type_t = 23
	IPC_OTYPE_LOCK_SET             Ipc_info_object_type_t = 24
	IPC_OTYPE_CLOCK                Ipc_info_object_type_t = 25
	IPC_OTYPE_CLOCK_CTRL           Ipc_info_object_type_t = 26
	IPC_OTYPE_IOKIT_IDENT          Ipc_info_object_type_t = 27
	IPC_OTYPE_NAMED_ENTRY          Ipc_info_object_type_t = 28
	IPC_OTYPE_IOKIT_CONNECT        Ipc_info_object_type_t = 29
	IPC_OTYPE_IOKIT_OBJECT         Ipc_info_object_type_t = 30
	IPC_OTYPE_UPL                  Ipc_info_object_type_t = 31
	IPC_OTYPE_MEM_OBJ_CONTROL      Ipc_info_object_type_t = 32
	IPC_OTYPE_AU_SESSIONPORT       Ipc_info_object_type_t = 33
	IPC_OTYPE_FILEPORT             Ipc_info_object_type_t = 34
	IPC_OTYPE_LABELH               Ipc_info_object_type_t = 35
	IPC_OTYPE_TASK_RESUME          Ipc_info_object_type_t = 36
	IPC_OTYPE_VOUCHER              Ipc_info_object_type_t = 37
	IPC_OTYPE_VOUCHER_ATTR_CONTROL Ipc_info_object_type_t = 38
	IPC_OTYPE_WORK_INTERVAL        Ipc_info_object_type_t = 39
	IPC_OTYPE_UX_HANDLER           Ipc_info_object_type_t = 40
	IPC_OTYPE_UEXT_OBJECT          Ipc_info_object_type_t = 41
	IPC_OTYPE_ARCADE_REG           Ipc_info_object_type_t = 42
	IPC_OTYPE_EVENTLINK            Ipc_info_object_type_t = 43
	IPC_OTYPE_TASK_INSPECT         Ipc_info_object_type_t = 44
	IPC_OTYPE_TASK_READ            Ipc_info_object_type_t = 45
	IPC_OTYPE_THREAD_INSPECT       Ipc_info_object_type_t = 46
	IPC_OTYPE_THREAD_READ          Ipc_info_object_type_t = 47
	IPC_OTYPE_SUID_CRED            Ipc_info_object_type_t = 48
	IPC_OTYPE_HYPERVISOR           Ipc_info_object_type_t = 49
	IPC_OTYPE_TASK_ID_TOKEN        Ipc_info_object_type_t = 50
	IPC_OTYPE_TASK_FATAL           Ipc_info_object_type_t = 51
	IPC_OTYPE_KCDATA               Ipc_info_object_type_t = 52
	IPC_OTYPE_EXCLAVES_RESOURCE    Ipc_info_object_type_t = 53
	IPC_OTYPE_THREAD_RESUME        Ipc_info_object_type_t = 54
	IPC_OTYPE_UNKNOWN              Ipc_info_object_type_t = 4294967295
)

func (Ipc_info_object_type_t) String

func (e Ipc_info_object_type_t) String() string

type Launch_data_type_t

type Launch_data_type_t int64
const (
	LAUNCH_DATA_DICTIONARY Launch_data_type_t = 1
	LAUNCH_DATA_ARRAY      Launch_data_type_t = 2
	LAUNCH_DATA_FD         Launch_data_type_t = 3
	LAUNCH_DATA_INTEGER    Launch_data_type_t = 4
	LAUNCH_DATA_REAL       Launch_data_type_t = 5
	LAUNCH_DATA_BOOL       Launch_data_type_t = 6
	LAUNCH_DATA_STRING     Launch_data_type_t = 7
	LAUNCH_DATA_OPAQUE     Launch_data_type_t = 8
	LAUNCH_DATA_ERRNO      Launch_data_type_t = 9
	LAUNCH_DATA_MACHPORT   Launch_data_type_t = 10
)

func (Launch_data_type_t) String

func (e Launch_data_type_t) String() string

type MDLAnimatedMatrix4x4

type MDLAnimatedMatrix4x4 struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedmatrix4x4

func MDLAnimatedMatrix4x4FromID

func MDLAnimatedMatrix4x4FromID(id objc.ID) *MDLAnimatedMatrix4x4

func (*MDLAnimatedMatrix4x4) Double4x4AtTime

func (o *MDLAnimatedMatrix4x4) Double4x4AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedMatrix4x4) Float4x4AtTime

func (o *MDLAnimatedMatrix4x4) Float4x4AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedMatrix4x4) GetDouble4x4ArrayMaxCount

func (o *MDLAnimatedMatrix4x4) GetDouble4x4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedMatrix4x4) GetFloat4x4ArrayMaxCount

func (o *MDLAnimatedMatrix4x4) GetFloat4x4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedMatrix4x4) ResetWithDouble4x4ArrayAtTimesCount

func (o *MDLAnimatedMatrix4x4) ResetWithDouble4x4ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedMatrix4x4) ResetWithFloat4x4ArrayAtTimesCount

func (o *MDLAnimatedMatrix4x4) ResetWithFloat4x4ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedMatrix4x4) SetDouble4x4AtTime

func (o *MDLAnimatedMatrix4x4) SetDouble4x4AtTime(value unsafe.Pointer, time_ float64)

func (*MDLAnimatedMatrix4x4) SetFloat4x4AtTime

func (o *MDLAnimatedMatrix4x4) SetFloat4x4AtTime(value unsafe.Pointer, time_ float64)

type MDLAnimatedQuaternion

type MDLAnimatedQuaternion struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedquaternion

func MDLAnimatedQuaternionFromID

func MDLAnimatedQuaternionFromID(id objc.ID) *MDLAnimatedQuaternion

func (*MDLAnimatedQuaternion) DoubleQuaternionAtTime

func (o *MDLAnimatedQuaternion) DoubleQuaternionAtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedQuaternion) FloatQuaternionAtTime

func (o *MDLAnimatedQuaternion) FloatQuaternionAtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedQuaternion) GetDoubleQuaternionArrayMaxCount

func (o *MDLAnimatedQuaternion) GetDoubleQuaternionArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedQuaternion) GetFloatQuaternionArrayMaxCount

func (o *MDLAnimatedQuaternion) GetFloatQuaternionArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedQuaternion) ResetWithDoubleQuaternionArrayAtTimesCount

func (o *MDLAnimatedQuaternion) ResetWithDoubleQuaternionArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedQuaternion) ResetWithFloatQuaternionArrayAtTimesCount

func (o *MDLAnimatedQuaternion) ResetWithFloatQuaternionArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedQuaternion) SetDoubleQuaternionAtTime

func (o *MDLAnimatedQuaternion) SetDoubleQuaternionAtTime(value unsafe.Pointer, time_ float64)

func (*MDLAnimatedQuaternion) SetFloatQuaternionAtTime

func (o *MDLAnimatedQuaternion) SetFloatQuaternionAtTime(value unsafe.Pointer, time_ float64)

type MDLAnimatedQuaternionArray

type MDLAnimatedQuaternionArray struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedquaternionarray

func MDLAnimatedQuaternionArrayFromID

func MDLAnimatedQuaternionArrayFromID(id objc.ID) *MDLAnimatedQuaternionArray

func (*MDLAnimatedQuaternionArray) ElementCount

func (o *MDLAnimatedQuaternionArray) ElementCount() uint

func (*MDLAnimatedQuaternionArray) GetDoubleQuaternionArrayMaxCount

func (o *MDLAnimatedQuaternionArray) GetDoubleQuaternionArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedQuaternionArray) GetDoubleQuaternionArrayMaxCountAtTime

func (o *MDLAnimatedQuaternionArray) GetDoubleQuaternionArrayMaxCountAtTime(array unsafe.Pointer, maxCount uint, time_ float64) uint

func (*MDLAnimatedQuaternionArray) GetFloatQuaternionArrayMaxCount

func (o *MDLAnimatedQuaternionArray) GetFloatQuaternionArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedQuaternionArray) GetFloatQuaternionArrayMaxCountAtTime

func (o *MDLAnimatedQuaternionArray) GetFloatQuaternionArrayMaxCountAtTime(array unsafe.Pointer, maxCount uint, time_ float64) uint

func (*MDLAnimatedQuaternionArray) InitWithElementCount

func (o *MDLAnimatedQuaternionArray) InitWithElementCount(arrayElementCount uint) objc.ID

func (*MDLAnimatedQuaternionArray) ResetWithDoubleQuaternionArrayCountAtTimesCount

func (o *MDLAnimatedQuaternionArray) ResetWithDoubleQuaternionArrayCountAtTimesCount(valuesArray unsafe.Pointer, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedQuaternionArray) ResetWithFloatQuaternionArrayCountAtTimesCount

func (o *MDLAnimatedQuaternionArray) ResetWithFloatQuaternionArrayCountAtTimesCount(valuesArray unsafe.Pointer, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedQuaternionArray) SetDoubleQuaternionArrayCountAtTime

func (o *MDLAnimatedQuaternionArray) SetDoubleQuaternionArrayCountAtTime(array unsafe.Pointer, count uint, time_ float64)

func (*MDLAnimatedQuaternionArray) SetFloatQuaternionArrayCountAtTime

func (o *MDLAnimatedQuaternionArray) SetFloatQuaternionArrayCountAtTime(array unsafe.Pointer, count uint, time_ float64)

type MDLAnimatedScalar

type MDLAnimatedScalar struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedscalar

func MDLAnimatedScalarFromID

func MDLAnimatedScalarFromID(id objc.ID) *MDLAnimatedScalar

func (*MDLAnimatedScalar) DoubleAtTime

func (o *MDLAnimatedScalar) DoubleAtTime(time_ float64) float64

func (*MDLAnimatedScalar) FloatAtTime

func (o *MDLAnimatedScalar) FloatAtTime(time_ float64) float32

func (*MDLAnimatedScalar) GetDoubleArrayMaxCount

func (o *MDLAnimatedScalar) GetDoubleArrayMaxCount(valuesArray *float64, maxCount uint) uint

func (*MDLAnimatedScalar) GetFloatArrayMaxCount

func (o *MDLAnimatedScalar) GetFloatArrayMaxCount(valuesArray *float32, maxCount uint) uint

func (*MDLAnimatedScalar) ResetWithDoubleArrayAtTimesCount

func (o *MDLAnimatedScalar) ResetWithDoubleArrayAtTimesCount(valuesArray *float64, timesArray *float64, count uint)

func (*MDLAnimatedScalar) ResetWithFloatArrayAtTimesCount

func (o *MDLAnimatedScalar) ResetWithFloatArrayAtTimesCount(valuesArray *float32, timesArray *float64, count uint)

func (*MDLAnimatedScalar) SetDoubleAtTime

func (o *MDLAnimatedScalar) SetDoubleAtTime(value float64, time_ float64)

func (*MDLAnimatedScalar) SetFloatAtTime

func (o *MDLAnimatedScalar) SetFloatAtTime(value float32, time_ float64)

type MDLAnimatedScalarArray

type MDLAnimatedScalarArray struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedscalararray

func MDLAnimatedScalarArrayFromID

func MDLAnimatedScalarArrayFromID(id objc.ID) *MDLAnimatedScalarArray

func (*MDLAnimatedScalarArray) ElementCount

func (o *MDLAnimatedScalarArray) ElementCount() uint

func (*MDLAnimatedScalarArray) GetDoubleArrayMaxCount

func (o *MDLAnimatedScalarArray) GetDoubleArrayMaxCount(valuesArray *float64, maxCount uint) uint

func (*MDLAnimatedScalarArray) GetDoubleArrayMaxCountAtTime

func (o *MDLAnimatedScalarArray) GetDoubleArrayMaxCountAtTime(array *float64, maxCount uint, time_ float64) uint

func (*MDLAnimatedScalarArray) GetFloatArrayMaxCount

func (o *MDLAnimatedScalarArray) GetFloatArrayMaxCount(valuesArray *float32, maxCount uint) uint

func (*MDLAnimatedScalarArray) GetFloatArrayMaxCountAtTime

func (o *MDLAnimatedScalarArray) GetFloatArrayMaxCountAtTime(array *float32, maxCount uint, time_ float64) uint

func (*MDLAnimatedScalarArray) InitWithElementCount

func (o *MDLAnimatedScalarArray) InitWithElementCount(arrayElementCount uint) objc.ID

func (*MDLAnimatedScalarArray) ResetWithDoubleArrayCountAtTimesCount

func (o *MDLAnimatedScalarArray) ResetWithDoubleArrayCountAtTimesCount(valuesArray *float64, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedScalarArray) ResetWithFloatArrayCountAtTimesCount

func (o *MDLAnimatedScalarArray) ResetWithFloatArrayCountAtTimesCount(valuesArray *float32, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedScalarArray) SetDoubleArrayCountAtTime

func (o *MDLAnimatedScalarArray) SetDoubleArrayCountAtTime(array *float64, count uint, time_ float64)

func (*MDLAnimatedScalarArray) SetFloatArrayCountAtTime

func (o *MDLAnimatedScalarArray) SetFloatArrayCountAtTime(array *float32, count uint, time_ float64)

type MDLAnimatedValue

type MDLAnimatedValue struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedvalue

func MDLAnimatedValueFromID

func MDLAnimatedValueFromID(id objc.ID) *MDLAnimatedValue

func (*MDLAnimatedValue) Clear

func (o *MDLAnimatedValue) Clear()

func (*MDLAnimatedValue) GetTimesMaxCount

func (o *MDLAnimatedValue) GetTimesMaxCount(timesArray *float64, maxCount uint) uint

func (*MDLAnimatedValue) Interpolation

func (*MDLAnimatedValue) IsAnimated

func (o *MDLAnimatedValue) IsAnimated() bool

func (*MDLAnimatedValue) KeyTimes

func (*MDLAnimatedValue) MaximumTime

func (o *MDLAnimatedValue) MaximumTime() float64

func (*MDLAnimatedValue) MinimumTime

func (o *MDLAnimatedValue) MinimumTime() float64

func (*MDLAnimatedValue) Precision

func (o *MDLAnimatedValue) Precision() MDLDataPrecision

func (*MDLAnimatedValue) SetInterpolation

func (o *MDLAnimatedValue) SetInterpolation(interpolation MDLAnimatedValueInterpolation)

func (*MDLAnimatedValue) TimeSampleCount

func (o *MDLAnimatedValue) TimeSampleCount() uint

type MDLAnimatedValueInterpolation

type MDLAnimatedValueInterpolation uint64
const (
	MDLAnimatedValueInterpolationConstant MDLAnimatedValueInterpolation = 0
	MDLAnimatedValueInterpolationLinear   MDLAnimatedValueInterpolation = 1
)

func (MDLAnimatedValueInterpolation) String

type MDLAnimatedVector2

type MDLAnimatedVector2 struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedvector2

func MDLAnimatedVector2FromID

func MDLAnimatedVector2FromID(id objc.ID) *MDLAnimatedVector2

func (*MDLAnimatedVector2) Double2AtTime

func (o *MDLAnimatedVector2) Double2AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector2) Float2AtTime

func (o *MDLAnimatedVector2) Float2AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector2) GetDouble2ArrayMaxCount

func (o *MDLAnimatedVector2) GetDouble2ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector2) GetFloat2ArrayMaxCount

func (o *MDLAnimatedVector2) GetFloat2ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector2) ResetWithDouble2ArrayAtTimesCount

func (o *MDLAnimatedVector2) ResetWithDouble2ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector2) ResetWithFloat2ArrayAtTimesCount

func (o *MDLAnimatedVector2) ResetWithFloat2ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector2) SetDouble2AtTime

func (o *MDLAnimatedVector2) SetDouble2AtTime(value unsafe.Pointer, time_ float64)

func (*MDLAnimatedVector2) SetFloat2AtTime

func (o *MDLAnimatedVector2) SetFloat2AtTime(value unsafe.Pointer, time_ float64)

type MDLAnimatedVector3

type MDLAnimatedVector3 struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedvector3

func MDLAnimatedVector3FromID

func MDLAnimatedVector3FromID(id objc.ID) *MDLAnimatedVector3

func (*MDLAnimatedVector3) Double3AtTime

func (o *MDLAnimatedVector3) Double3AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector3) Float3AtTime

func (o *MDLAnimatedVector3) Float3AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector3) GetDouble3ArrayMaxCount

func (o *MDLAnimatedVector3) GetDouble3ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector3) GetFloat3ArrayMaxCount

func (o *MDLAnimatedVector3) GetFloat3ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector3) ResetWithDouble3ArrayAtTimesCount

func (o *MDLAnimatedVector3) ResetWithDouble3ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector3) ResetWithFloat3ArrayAtTimesCount

func (o *MDLAnimatedVector3) ResetWithFloat3ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector3) SetDouble3AtTime

func (o *MDLAnimatedVector3) SetDouble3AtTime(value unsafe.Pointer, time_ float64)

func (*MDLAnimatedVector3) SetFloat3AtTime

func (o *MDLAnimatedVector3) SetFloat3AtTime(value unsafe.Pointer, time_ float64)

type MDLAnimatedVector3Array

type MDLAnimatedVector3Array struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedvector3array

func MDLAnimatedVector3ArrayFromID

func MDLAnimatedVector3ArrayFromID(id objc.ID) *MDLAnimatedVector3Array

func (*MDLAnimatedVector3Array) ElementCount

func (o *MDLAnimatedVector3Array) ElementCount() uint

func (*MDLAnimatedVector3Array) GetDouble3ArrayMaxCount

func (o *MDLAnimatedVector3Array) GetDouble3ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector3Array) GetDouble3ArrayMaxCountAtTime

func (o *MDLAnimatedVector3Array) GetDouble3ArrayMaxCountAtTime(array unsafe.Pointer, maxCount uint, time_ float64) uint

func (*MDLAnimatedVector3Array) GetFloat3ArrayMaxCount

func (o *MDLAnimatedVector3Array) GetFloat3ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector3Array) GetFloat3ArrayMaxCountAtTime

func (o *MDLAnimatedVector3Array) GetFloat3ArrayMaxCountAtTime(array unsafe.Pointer, maxCount uint, time_ float64) uint

func (*MDLAnimatedVector3Array) InitWithElementCount

func (o *MDLAnimatedVector3Array) InitWithElementCount(arrayElementCount uint) objc.ID

func (*MDLAnimatedVector3Array) ResetWithDouble3ArrayCountAtTimesCount

func (o *MDLAnimatedVector3Array) ResetWithDouble3ArrayCountAtTimesCount(valuesArray unsafe.Pointer, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedVector3Array) ResetWithFloat3ArrayCountAtTimesCount

func (o *MDLAnimatedVector3Array) ResetWithFloat3ArrayCountAtTimesCount(valuesArray unsafe.Pointer, valuesCount uint, timesArray *float64, timesCount uint)

func (*MDLAnimatedVector3Array) SetDouble3ArrayCountAtTime

func (o *MDLAnimatedVector3Array) SetDouble3ArrayCountAtTime(array unsafe.Pointer, count uint, time_ float64)

func (*MDLAnimatedVector3Array) SetFloat3ArrayCountAtTime

func (o *MDLAnimatedVector3Array) SetFloat3ArrayCountAtTime(array unsafe.Pointer, count uint, time_ float64)

type MDLAnimatedVector4

type MDLAnimatedVector4 struct {
	MDLAnimatedValue
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimatedvector4

func MDLAnimatedVector4FromID

func MDLAnimatedVector4FromID(id objc.ID) *MDLAnimatedVector4

func (*MDLAnimatedVector4) Double4AtTime

func (o *MDLAnimatedVector4) Double4AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector4) Float4AtTime

func (o *MDLAnimatedVector4) Float4AtTime(time_ float64) unsafe.Pointer

func (*MDLAnimatedVector4) GetDouble4ArrayMaxCount

func (o *MDLAnimatedVector4) GetDouble4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector4) GetFloat4ArrayMaxCount

func (o *MDLAnimatedVector4) GetFloat4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLAnimatedVector4) ResetWithDouble4ArrayAtTimesCount

func (o *MDLAnimatedVector4) ResetWithDouble4ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector4) ResetWithFloat4ArrayAtTimesCount

func (o *MDLAnimatedVector4) ResetWithFloat4ArrayAtTimesCount(valuesArray unsafe.Pointer, timesArray *float64, count uint)

func (*MDLAnimatedVector4) SetDouble4AtTime

func (o *MDLAnimatedVector4) SetDouble4AtTime(value unsafe.Pointer, time_ float64)

func (*MDLAnimatedVector4) SetFloat4AtTime

func (o *MDLAnimatedVector4) SetFloat4AtTime(value unsafe.Pointer, time_ float64)

type MDLAnimationBindComponent

type MDLAnimationBindComponent struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlanimationbindcomponent

func MDLAnimationBindComponentFromID

func MDLAnimationBindComponentFromID(id objc.ID) *MDLAnimationBindComponent

func (*MDLAnimationBindComponent) GeometryBindTransform

func (o *MDLAnimationBindComponent) GeometryBindTransform() unsafe.Pointer

func (*MDLAnimationBindComponent) JointAnimation

func (o *MDLAnimationBindComponent) JointAnimation() MDLJointAnimation

func (*MDLAnimationBindComponent) JointPaths

func (*MDLAnimationBindComponent) SetGeometryBindTransform

func (o *MDLAnimationBindComponent) SetGeometryBindTransform(geometryBindTransform unsafe.Pointer)

func (*MDLAnimationBindComponent) SetJointAnimation

func (o *MDLAnimationBindComponent) SetJointAnimation(jointAnimation MDLJointAnimation)

func (*MDLAnimationBindComponent) SetJointPaths

func (o *MDLAnimationBindComponent) SetJointPaths(jointPaths *foundation.NSArray[*foundation.NSString])

func (*MDLAnimationBindComponent) SetSkeleton

func (o *MDLAnimationBindComponent) SetSkeleton(skeleton *MDLSkeleton)

func (*MDLAnimationBindComponent) Skeleton

func (o *MDLAnimationBindComponent) Skeleton() *MDLSkeleton

type MDLAreaLight

type MDLAreaLight struct {
	MDLPhysicallyPlausibleLight
}

A light source that illuminates a 3D scene from an area with a specific shape.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlarealight

func MDLAreaLightFromID

func MDLAreaLightFromID(id objc.ID) *MDLAreaLight

func (*MDLAreaLight) AreaRadius

func (o *MDLAreaLight) AreaRadius() float32

func (*MDLAreaLight) Aspect

func (o *MDLAreaLight) Aspect() float32

func (*MDLAreaLight) SetAreaRadius

func (o *MDLAreaLight) SetAreaRadius(areaRadius float32)

func (*MDLAreaLight) SetAspect

func (o *MDLAreaLight) SetAspect(aspect float32)

func (*MDLAreaLight) SetSuperEllipticPower

func (o *MDLAreaLight) SetSuperEllipticPower(superEllipticPower unsafe.Pointer)

func (*MDLAreaLight) SuperEllipticPower

func (o *MDLAreaLight) SuperEllipticPower() unsafe.Pointer

type MDLAsset

type MDLAsset struct {
	foundation.NSObject
}

An indexed container for 3D objects and associated information, such as transform hierarchies, meshes, cameras, and lights.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlasset

func MDLAssetFromID

func MDLAssetFromID(id objc.ID) *MDLAsset

func (*MDLAsset) AddObject

func (o *MDLAsset) AddObject(object *MDLObject)

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

func (*MDLAsset) Animations

func (o *MDLAsset) Animations() MDLObjectContainerComponent

@property animations @abstract Animations that can be bound to MDLObjects (@see MDLAnimationBindComponent) @see MDLObjectContainerComponent

func (*MDLAsset) BoundingBox

func (o *MDLAsset) BoundingBox() MDLAxisAlignedBoundingBox

@property boundingBox @abstract The bounds of the MDLAsset at the earliest time sample

func (*MDLAsset) BoundingBoxAtTime

func (o *MDLAsset) BoundingBoxAtTime(time_ float64) MDLAxisAlignedBoundingBox

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

func (*MDLAsset) BufferAllocator

func (o *MDLAsset) BufferAllocator() MDLMeshBufferAllocator

@property bufferAllocator @abstract Allocator used to create vertex and index buffers

func (*MDLAsset) ChildObjectsOfClass

func (o *MDLAsset) ChildObjectsOfClass(objectClass objc.Class) *foundation.NSArray[*MDLObject]

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

func (*MDLAsset) Count

func (o *MDLAsset) Count() uint

@property count @abstract The number of top level objects

func (*MDLAsset) EndTime

func (o *MDLAsset) EndTime() float64

@property endTime @abstract End time bracket of animation data @discussion If no animation data was specified by resource or resource incapable of specifying animation data, this value defaults to 0. If the endTime was set explicitly, then the value of endTime will be the greater of the set value and the animated values.

func (*MDLAsset) ExportAssetToURL

func (o *MDLAsset) ExportAssetToURL(url *foundation.NSURL) bool

Writes asset data to a file at the specified URL.

func (*MDLAsset) ExportAssetToURLError

func (o *MDLAsset) ExportAssetToURLError(url *foundation.NSURL) (bool, error)

Writes asset data to a file at the specified URL and reports errors that occur during export.

func (*MDLAsset) FrameInterval

func (o *MDLAsset) FrameInterval() float64

@property frameInterval @abstract Inherent frame rate of an asset @discussion If no framerate was specified by resource or resource uncapable of specifying framerate, this value defaults to 0

func (*MDLAsset) InitWithBufferAllocator

func (o *MDLAsset) InitWithBufferAllocator(bufferAllocator MDLMeshBufferAllocator) *MDLAsset

Initializes an empty asset, using the specified buffer allocator.

func (*MDLAsset) InitWithURL

func (o *MDLAsset) InitWithURL(url *foundation.NSURL) *MDLAsset

Initializes an asset from the file at the specified URL.

func (*MDLAsset) InitWithURLVertexDescriptorBufferAllocator

func (o *MDLAsset) InitWithURLVertexDescriptorBufferAllocator(url *foundation.NSURL, vertexDescriptor *MDLVertexDescriptor, bufferAllocator MDLMeshBufferAllocator) *MDLAsset

Initializes an asset from the file at the specified URL, using the specified vertex descriptor and buffer allocator.

func (*MDLAsset) InitWithURLVertexDescriptorBufferAllocatorPreserveTopologyError

func (o *MDLAsset) InitWithURLVertexDescriptorBufferAllocatorPreserveTopologyError(url *foundation.NSURL, vertexDescriptor *MDLVertexDescriptor, bufferAllocator MDLMeshBufferAllocator, preserveTopology bool) (*MDLAsset, error)

Initializes an asset from the file at the specified URL, using the specified options for allocating and transforming data during import.

func (*MDLAsset) LoadTextures

func (o *MDLAsset) LoadTextures()

@method loadTextures @abstract Iterates over all material properties on all materials. If they are string values or NSURL values, and can be resolved as textures, then the string and NSURL values will be replaced by MDLTextureSampler values.

func (*MDLAsset) Masters deprecated

Deprecated: since macOS 12.0.

func (*MDLAsset) ObjectAtIndex

func (o *MDLAsset) ObjectAtIndex(index uint) *MDLObject

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

func (*MDLAsset) ObjectAtIndexedSubscript

func (o *MDLAsset) ObjectAtIndexedSubscript(index uint) *MDLObject

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

func (*MDLAsset) ObjectAtPath

func (o *MDLAsset) ObjectAtPath(path *foundation.NSString) *MDLObject

@abstract Return the object at the specified path, or nil if none exists there

func (*MDLAsset) Originals

func (o *MDLAsset) Originals() MDLObjectContainerComponent

@property originals @abstract Original objects that can be instanced into the asset's object hierarchy @see MDLObjectContainerComponent

func (*MDLAsset) RemoveObject

func (o *MDLAsset) RemoveObject(object *MDLObject)

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

func (*MDLAsset) Resolver

func (o *MDLAsset) Resolver() MDLAssetResolver

@property AssetResolver @abstract Resolver asset that helps find associated files @discussion The default asset resolver is the RelativeAssetResolver

func (*MDLAsset) SetAnimations

func (o *MDLAsset) SetAnimations(animations MDLObjectContainerComponent)

func (*MDLAsset) SetEndTime

func (o *MDLAsset) SetEndTime(endTime float64)

func (*MDLAsset) SetFrameInterval

func (o *MDLAsset) SetFrameInterval(frameInterval float64)

func (*MDLAsset) SetMasters deprecated

func (o *MDLAsset) SetMasters(masters MDLObjectContainerComponent)

Deprecated: since macOS 12.0.

func (*MDLAsset) SetOriginals

func (o *MDLAsset) SetOriginals(originals MDLObjectContainerComponent)

@property originals @abstract Original objects that can be instanced into the asset's object hierarchy @see MDLObjectContainerComponent

func (*MDLAsset) SetResolver

func (o *MDLAsset) SetResolver(resolver MDLAssetResolver)

func (*MDLAsset) SetStartTime

func (o *MDLAsset) SetStartTime(startTime float64)

func (*MDLAsset) SetUpAxis

func (o *MDLAsset) SetUpAxis(upAxis unsafe.Pointer)

func (*MDLAsset) StartTime

func (o *MDLAsset) StartTime() float64

@property startTime @abstract Start time bracket of animation data @discussion If no animation data was specified by resource or resource incapable of specifying animation data, this value defaults to 0. If startTime was set explicitly, then the value of startTime will be the lesser of the set value and the animated values.

func (*MDLAsset) URL

func (o *MDLAsset) URL() *foundation.NSURL

@property URL @abstract URL used to create the asset @discussion If the asset was not created with a URL, nil will be returned.

func (*MDLAsset) UpAxis

func (o *MDLAsset) UpAxis() unsafe.Pointer

@property upAxis @abstract Scene up axis @discussion Some imported formats specify a scene up axis. By default Y-axis (0, 1, 0) is used but other values are supported.

func (*MDLAsset) VertexDescriptor

func (o *MDLAsset) VertexDescriptor() *MDLVertexDescriptor

@property vertexDescriptor @abstract Vertex descriptor set upon asset initialization @discussion Will be nil if there was no descriptor set

type MDLAssetResolver

type MDLAssetResolver interface {
	CanResolveAssetNamed(name *foundation.NSString) bool
	ResolveAssetNamed(name *foundation.NSString) *foundation.NSURL
}

MDLAssetResolver wraps the ObjC protocol MDLAssetResolver.

type MDLAxisAlignedBoundingBox

type MDLAxisAlignedBoundingBox struct {
	MaxBounds unsafe.Pointer
	MinBounds unsafe.Pointer
}

The minimal volume containing an object, used by the boundingBoxAtTime: method.

type MDLBundleAssetResolver

type MDLBundleAssetResolver struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlbundleassetresolver

func MDLBundleAssetResolverFromID

func MDLBundleAssetResolverFromID(id objc.ID) *MDLBundleAssetResolver

func (*MDLBundleAssetResolver) InitWithBundle

func (*MDLBundleAssetResolver) Path

func (*MDLBundleAssetResolver) SetPath

func (o *MDLBundleAssetResolver) SetPath(path *foundation.NSString)

type MDLCamera

type MDLCamera struct {
	MDLObject
}

A point of view for rendering a 3D scene, along with a set of parameters describing an intended appearance for rendering.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlcamera

func MDLCameraFromID

func MDLCameraFromID(id objc.ID) *MDLCamera

func (*MDLCamera) ApertureBladeCount

func (o *MDLCamera) ApertureBladeCount() uint

Aperture blade count, where zero indicates a circle.

func (*MDLCamera) BarrelDistortion

func (o *MDLCamera) BarrelDistortion() float32

Radial distortion of the lens, second order term

func (*MDLCamera) BokehKernelWithSize

func (o *MDLCamera) BokehKernelWithSize(size unsafe.Pointer) *MDLTexture

Creates and returns a texture, based on the camera’s aperture blade count, to be used in rendering out-of-focus highlights in a scene.

func (*MDLCamera) ChromaticAberration

func (o *MDLCamera) ChromaticAberration() float32

Amount of chromatic abberation, from zero to one.

func (*MDLCamera) Exposure

func (o *MDLCamera) Exposure() unsafe.Pointer

Exposure amount, unit less

func (*MDLCamera) ExposureCompression

func (o *MDLCamera) ExposureCompression() unsafe.Pointer

exposure curve compression where values below the x value are to be passed through, above the y value, values are to be clamped at maximum display brightness, and a function such as a logarithmic ramp is to be applied in between.

func (*MDLCamera) FStop

func (o *MDLCamera) FStop() float32

f-stop, default is 5.6

func (*MDLCamera) FarVisibilityDistance

func (o *MDLCamera) FarVisibilityDistance() float32

func (*MDLCamera) FieldOfView

func (o *MDLCamera) FieldOfView() float32

The field of view, in degrees. @see focalLength

func (*MDLCamera) FisheyeDistortion

func (o *MDLCamera) FisheyeDistortion() float32

Radial distortion of the lens, fourth order term

func (*MDLCamera) Flash

func (o *MDLCamera) Flash() unsafe.Pointer

Flash amount, unit less

func (*MDLCamera) FocalLength

func (o *MDLCamera) FocalLength() float32

Lens focal length in mm. @see fieldOfView

func (*MDLCamera) FocusDistance

func (o *MDLCamera) FocusDistance() float32

Focus distance

func (*MDLCamera) FrameBoundingBoxSetNearAndFar

func (o *MDLCamera) FrameBoundingBoxSetNearAndFar(boundingBox MDLAxisAlignedBoundingBox, setNearAndFar bool)

Moves the camera such that the specified bounding box lies entirely within the camera’s field of view.

func (*MDLCamera) LookAt

func (o *MDLCamera) LookAt(focusPosition unsafe.Pointer)

Orients the camera to face toward the specified point.

func (*MDLCamera) LookAtFrom

func (o *MDLCamera) LookAtFrom(focusPosition unsafe.Pointer, cameraPosition unsafe.Pointer)

Sets the camera’s position and orients the camera to face toward the specified point.

func (*MDLCamera) MaximumCircleOfConfusion

func (o *MDLCamera) MaximumCircleOfConfusion() float32

Maximum circle of confusion size in mm on the image plane

func (*MDLCamera) NearVisibilityDistance

func (o *MDLCamera) NearVisibilityDistance() float32

Bounding distance for visible objects

func (*MDLCamera) OpticalVignetting

func (o *MDLCamera) OpticalVignetting() float32

Amount of optical vignetting, rom zero to one.

func (*MDLCamera) Projection

func (o *MDLCamera) Projection() MDLCameraProjection

func (*MDLCamera) ProjectionMatrix

func (o *MDLCamera) ProjectionMatrix() unsafe.Pointer

The projection matrix is calculated from the near and far visibility distances, and the field of view. @see nearVisibilityDistance, nearVisibilityDistance

func (*MDLCamera) RayToForViewPort

func (o *MDLCamera) RayToForViewPort(pixel unsafe.Pointer, size unsafe.Pointer) unsafe.Pointer

Returns a point, in 3D world coordinates, corresponding to the specified 2D view coordinates.

func (*MDLCamera) SensorAspect

func (o *MDLCamera) SensorAspect() float32

Sensor or film gate aperture aspect ratio, default is 1.5 @see sensorVerticalAperture

func (*MDLCamera) SensorEnlargement

func (o *MDLCamera) SensorEnlargement() unsafe.Pointer

Sensor zoom factor

func (*MDLCamera) SensorShift

func (o *MDLCamera) SensorShift() unsafe.Pointer

Sensor shift factor in mm.

func (*MDLCamera) SensorVerticalAperture

func (o *MDLCamera) SensorVerticalAperture() float32

vertical aperture of the sensor or film gate, default is 24mm @see sensorAspect

func (*MDLCamera) SetApertureBladeCount

func (o *MDLCamera) SetApertureBladeCount(apertureBladeCount uint)

func (*MDLCamera) SetBarrelDistortion

func (o *MDLCamera) SetBarrelDistortion(barrelDistortion float32)

func (*MDLCamera) SetChromaticAberration

func (o *MDLCamera) SetChromaticAberration(chromaticAberration float32)

func (*MDLCamera) SetExposure

func (o *MDLCamera) SetExposure(exposure unsafe.Pointer)

func (*MDLCamera) SetExposureCompression

func (o *MDLCamera) SetExposureCompression(exposureCompression unsafe.Pointer)

func (*MDLCamera) SetFStop

func (o *MDLCamera) SetFStop(fStop float32)

func (*MDLCamera) SetFarVisibilityDistance

func (o *MDLCamera) SetFarVisibilityDistance(farVisibilityDistance float32)

func (*MDLCamera) SetFieldOfView

func (o *MDLCamera) SetFieldOfView(fieldOfView float32)

func (*MDLCamera) SetFisheyeDistortion

func (o *MDLCamera) SetFisheyeDistortion(fisheyeDistortion float32)

func (*MDLCamera) SetFlash

func (o *MDLCamera) SetFlash(flash unsafe.Pointer)

func (*MDLCamera) SetFocalLength

func (o *MDLCamera) SetFocalLength(focalLength float32)

func (*MDLCamera) SetFocusDistance

func (o *MDLCamera) SetFocusDistance(focusDistance float32)

func (*MDLCamera) SetMaximumCircleOfConfusion

func (o *MDLCamera) SetMaximumCircleOfConfusion(maximumCircleOfConfusion float32)

func (*MDLCamera) SetNearVisibilityDistance

func (o *MDLCamera) SetNearVisibilityDistance(nearVisibilityDistance float32)

func (*MDLCamera) SetOpticalVignetting

func (o *MDLCamera) SetOpticalVignetting(opticalVignetting float32)

func (*MDLCamera) SetProjection

func (o *MDLCamera) SetProjection(projection MDLCameraProjection)

func (*MDLCamera) SetSensorAspect

func (o *MDLCamera) SetSensorAspect(sensorAspect float32)

func (*MDLCamera) SetSensorEnlargement

func (o *MDLCamera) SetSensorEnlargement(sensorEnlargement unsafe.Pointer)

func (*MDLCamera) SetSensorShift

func (o *MDLCamera) SetSensorShift(sensorShift unsafe.Pointer)

func (*MDLCamera) SetSensorVerticalAperture

func (o *MDLCamera) SetSensorVerticalAperture(sensorVerticalAperture float32)

func (*MDLCamera) SetShutterOpenInterval

func (o *MDLCamera) SetShutterOpenInterval(shutterOpenInterval float64)

func (*MDLCamera) SetWorldToMetersConversionScale

func (o *MDLCamera) SetWorldToMetersConversionScale(worldToMetersConversionScale float32)

func (*MDLCamera) ShutterOpenInterval

func (o *MDLCamera) ShutterOpenInterval() float64

Shutter open interval, in seconds

func (*MDLCamera) WorldToMetersConversionScale

func (o *MDLCamera) WorldToMetersConversionScale() float32

World to meters conversion scale. Required for certain calculations.

type MDLCameraProjection

type MDLCameraProjection uint64

Options for camera projection styles, used by the projection property.

const (
	// A perspective projection.
	MDLCameraProjectionPerspective MDLCameraProjection = 0
	// An orthographic projection.
	MDLCameraProjectionOrthographic MDLCameraProjection = 1
)

func (MDLCameraProjection) String

func (e MDLCameraProjection) String() string

type MDLCheckerboardTexture

type MDLCheckerboardTexture struct {
	MDLTexture
}

A generator of texel data that creates a checkerboard pattern with two specified colors.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlcheckerboardtexture

func MDLCheckerboardTextureFromID

func MDLCheckerboardTextureFromID(id objc.ID) *MDLCheckerboardTexture

func (*MDLCheckerboardTexture) Color1

func (*MDLCheckerboardTexture) Color2

func (*MDLCheckerboardTexture) Divisions

func (o *MDLCheckerboardTexture) Divisions() float32

func (*MDLCheckerboardTexture) InitWithDivisionsNameDimensionsChannelCountChannelEncodingColor1Color2

func (o *MDLCheckerboardTexture) InitWithDivisionsNameDimensionsChannelCountChannelEncodingColor1Color2(divisions float32, name *foundation.NSString, dimensions unsafe.Pointer, channelCount int, channelEncoding MDLTextureChannelEncoding, color1 unsafe.Pointer, color2 unsafe.Pointer) *MDLCheckerboardTexture

Initializes a checkerboard texture with the specified colors and other properties.

func (*MDLCheckerboardTexture) SetColor1

func (o *MDLCheckerboardTexture) SetColor1(color1 unsafe.Pointer)

func (*MDLCheckerboardTexture) SetColor2

func (o *MDLCheckerboardTexture) SetColor2(color2 unsafe.Pointer)

func (*MDLCheckerboardTexture) SetDivisions

func (o *MDLCheckerboardTexture) SetDivisions(divisions float32)

type MDLColorSwatchTexture

type MDLColorSwatchTexture struct {
	MDLTexture
}

A generator of texel data that creates a gradient between two specified colors.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlcolorswatchtexture

func MDLColorSwatchTextureFromID

func MDLColorSwatchTextureFromID(id objc.ID) *MDLColorSwatchTexture

func (*MDLColorSwatchTexture) InitWithColorGradientFromToColorNameTextureDimensions

func (o *MDLColorSwatchTexture) InitWithColorGradientFromToColorNameTextureDimensions(color1 unsafe.Pointer, color2 unsafe.Pointer, name *foundation.NSString, textureDimensions unsafe.Pointer) *MDLColorSwatchTexture

Initializes a texture that creates a vertical gradient between two colors.

func (*MDLColorSwatchTexture) InitWithColorTemperatureGradientFromToColorTemperatureNameTextureDimensions

func (o *MDLColorSwatchTexture) InitWithColorTemperatureGradientFromToColorTemperatureNameTextureDimensions(colorTemperature1 float32, colorTemperature2 float32, name *foundation.NSString, textureDimensions unsafe.Pointer) *MDLColorSwatchTexture

Initializes a texture that creates a vertical gradient between two color temperatures.

type MDLComponent

type MDLComponent interface {
}

MDLComponent wraps the ObjC protocol MDLComponent.

type MDLDataPrecision

type MDLDataPrecision uint64
const (
	MDLDataPrecisionUndefined MDLDataPrecision = 0
	MDLDataPrecisionFloat     MDLDataPrecision = 1
	MDLDataPrecisionDouble    MDLDataPrecision = 2
)

func (MDLDataPrecision) String

func (e MDLDataPrecision) String() string

type MDLGeometryType

type MDLGeometryType int64

Types of geometric primitives for rendering a submesh, used by the geometryType property.

const (
	// Each index in the submesh refers to a vertex to be rendered as a single point.
	MDLGeometryTypePoints MDLGeometryType = 0
	// Each pair of consecutive indices in the submesh refers to two vertices to be rendered as a line segment.
	MDLGeometryTypeLines MDLGeometryType = 1
	// Each set of three consecutive indices in the submesh refers to three vertices to be rendered as a triangle.
	MDLGeometryTypeTriangles MDLGeometryType = 2
	// The first three consecutive indices in the submesh refer to three vertices to be rendered as a triangle. Each subsequent index refers to another vertex that completes a triangle formed by connecting it to the previous two vertices.
	MDLGeometryTypeTriangleStrips MDLGeometryType = 3
	// Each set of four consecutive indices in the submesh refers to four vertices to be rendered as a quadrilateral.
	MDLGeometryTypeQuads MDLGeometryType = 4
	// The submesh’s index buffer does not contain a uniform set of primitives.
	MDLGeometryTypeVariableTopology MDLGeometryType = 5
)

func (MDLGeometryType) String

func (e MDLGeometryType) String() string

type MDLIndexBitDepth

type MDLIndexBitDepth uint64

Options for the size of integer data in a submesh’s index buffer, used by the indexType property.

const (
	// The submesh has not been initialized or its data type is unknown.
	MDLIndexBitDepthInvalid MDLIndexBitDepth = 0
	// Each index in the submesh’s index buffer is an 8-bit integer.
	MDLIndexBitDepthUInt8 MDLIndexBitDepth = 8
	MDLIndexBitDepthUint8 MDLIndexBitDepth = 8
	// Each index in the submesh’s index buffer is a 16-bit integer.
	MDLIndexBitDepthUInt16 MDLIndexBitDepth = 16
	MDLIndexBitDepthUint16 MDLIndexBitDepth = 16
	// Each index in the submesh’s index buffer is a 32-bit integer.
	MDLIndexBitDepthUInt32 MDLIndexBitDepth = 32
	MDLIndexBitDepthUint32 MDLIndexBitDepth = 32
)

func (MDLIndexBitDepth) String

func (e MDLIndexBitDepth) String() string

type MDLJointAnimation

type MDLJointAnimation interface {
}

MDLJointAnimation wraps the ObjC protocol MDLJointAnimation.

type MDLLight

type MDLLight struct {
	MDLObject
}

The abstract superclass for objects that describe light sources in a scene.

Apple documentation: https://developer.apple.com/documentation/modelio/mdllight

func MDLLightFromID

func MDLLightFromID(id objc.ID) *MDLLight

func (*MDLLight) ColorSpace

func (o *MDLLight) ColorSpace() *foundation.NSString

func (*MDLLight) IrradianceAtPoint

func (o *MDLLight) IrradianceAtPoint(point unsafe.Pointer) unsafe.Pointer

Returns the radiance of the light as received at a specific point in the same scene.

func (*MDLLight) IrradianceAtPointColorSpace

func (o *MDLLight) IrradianceAtPointColorSpace(point unsafe.Pointer, colorSpace unsafe.Pointer) unsafe.Pointer

Returns the radiance of the light as received at a specific point in the same scene, expressed using the specified color space.

func (*MDLLight) LightType

func (o *MDLLight) LightType() MDLLightType

func (*MDLLight) SetColorSpace

func (o *MDLLight) SetColorSpace(colorSpace *foundation.NSString)

func (*MDLLight) SetLightType

func (o *MDLLight) SetLightType(lightType MDLLightType)

type MDLLightProbe

type MDLLightProbe struct {
	MDLLight
}

A light source described in terms of the variations in color and intensity of its illumination in all directions.

Apple documentation: https://developer.apple.com/documentation/modelio/mdllightprobe

func MDLLightProbeFromID

func MDLLightProbeFromID(id objc.ID) *MDLLightProbe

func MDLLightProbeLightProbeWithTextureSizeForLocationLightsToConsiderObjectsToConsiderReflectiveCubemapIrradianceCubemap

func MDLLightProbeLightProbeWithTextureSizeForLocationLightsToConsiderObjectsToConsiderReflectiveCubemapIrradianceCubemap(textureSize int, transform *MDLTransform, lightsToConsider *foundation.NSArray[*MDLLight], objectsToConsider *foundation.NSArray[*MDLObject], reflectiveCubemap *MDLTexture, irradianceCubemap *MDLTexture) *MDLLightProbe

Creates a light probe representing the shading environment at a specific point in a scene.

func (*MDLLightProbe) GenerateSphericalHarmonicsFromIrradiance

func (o *MDLLightProbe) GenerateSphericalHarmonicsFromIrradiance(sphericalHarmonicsLevel uint)

Generates spherical harmonics information based on the light probe’s irradiance texture.

func (*MDLLightProbe) InitWithReflectiveTextureIrradianceTexture

func (o *MDLLightProbe) InitWithReflectiveTextureIrradianceTexture(reflectiveTexture *MDLTexture, irradianceTexture *MDLTexture) *MDLLightProbe

Initializes a light probe with the specified cube map textures.

func (*MDLLightProbe) IrradianceTexture

func (o *MDLLightProbe) IrradianceTexture() *MDLTexture

func (*MDLLightProbe) ReflectiveTexture

func (o *MDLLightProbe) ReflectiveTexture() *MDLTexture

func (*MDLLightProbe) SphericalHarmonicsCoefficients

func (o *MDLLightProbe) SphericalHarmonicsCoefficients() *foundation.NSData

func (*MDLLightProbe) SphericalHarmonicsLevel

func (o *MDLLightProbe) SphericalHarmonicsLevel() uint

type MDLLightProbeIrradianceDataSource

type MDLLightProbeIrradianceDataSource interface {
	BoundingBox() MDLAxisAlignedBoundingBox
	SetBoundingBox(boundingBox MDLAxisAlignedBoundingBox)
	SetSphericalHarmonicsLevel(sphericalHarmonicsLevel uint)
}

MDLLightProbeIrradianceDataSource wraps the ObjC protocol MDLLightProbeIrradianceDataSource.

type MDLLightType

type MDLLightType uint64

Options for the shape and style of illumination provided by a light, used by the lightType property.

const (
	// The type of the light is unknown or has not been initialized.
	MDLLightTypeUnknown MDLLightType = 0
	// The light source should illuminate a scene evenly regardless of position or direction.
	MDLLightTypeAmbient MDLLightType = 1
	// The light source illuminates a scene from a uniform direction regardless of its position.
	MDLLightTypeDirectional MDLLightType = 2
	// The light source illuminates a scene from a specific position and direction.
	MDLLightTypeSpot MDLLightType = 3
	// The light source illuminates a scene in all directions from a specific position.
	MDLLightTypePoint MDLLightType = 4
	// The light source illuminates a scene in all directions from an area in the shape of a line.
	MDLLightTypeLinear MDLLightType = 5
	// The light source illuminates a scene in all directions from an area in the shape of a disc.
	MDLLightTypeDiscArea MDLLightType = 6
	// The light source illuminates a scene in all directions from an area in the shape of a rectangle.
	MDLLightTypeRectangularArea MDLLightType = 7
	// The light source illuminates a scene in all directions from an area in the shape of a superellipse.
	MDLLightTypeSuperElliptical MDLLightType = 8
	// The illumination from the light is determined by a photometric profile.
	MDLLightTypePhotometric MDLLightType = 9
	// The illumination from the light is determined by texture images representing a sample of a scene at a specific point.
	MDLLightTypeProbe MDLLightType = 10
	// The illumination from the light is determined by texture images representing a sample of the surrounding environment for a scene.
	MDLLightTypeEnvironment MDLLightType = 11
)

func (MDLLightType) String

func (e MDLLightType) String() string

type MDLMaterial

type MDLMaterial struct {
	foundation.NSObject
}

A collection of material properties that together describe the intended surface appearance for rendering a 3D object.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmaterial

func MDLMaterialFromID

func MDLMaterialFromID(id objc.ID) *MDLMaterial

func (*MDLMaterial) BaseMaterial

func (o *MDLMaterial) BaseMaterial() *MDLMaterial

func (*MDLMaterial) Count

func (o *MDLMaterial) Count() uint

func (*MDLMaterial) InitWithNameScatteringFunction

func (o *MDLMaterial) InitWithNameScatteringFunction(name *foundation.NSString, scatteringFunction *MDLScatteringFunction) *MDLMaterial

Initializes a material

func (*MDLMaterial) LoadTexturesUsingResolver

func (o *MDLMaterial) LoadTexturesUsingResolver(resolver MDLAssetResolver)

Loads textures using resolver for string paths and NSURLs.

func (*MDLMaterial) MaterialFace

func (o *MDLMaterial) MaterialFace() MDLMaterialFace

func (*MDLMaterial) Name

func (o *MDLMaterial) Name() *foundation.NSString

@see MDLNamed

func (*MDLMaterial) ObjectAtIndexedSubscript

func (o *MDLMaterial) ObjectAtIndexedSubscript(idx uint) *MDLMaterialProperty

Returns the material property at the specified index in the material, for use with subscript syntax.

func (*MDLMaterial) ObjectForKeyedSubscript

func (o *MDLMaterial) ObjectForKeyedSubscript(name *foundation.NSString) *MDLMaterialProperty

Returns the material property with the specified name, for use with subscript syntax.

func (*MDLMaterial) PropertiesWithSemantic

func (o *MDLMaterial) PropertiesWithSemantic(semantic MDLMaterialSemantic) *foundation.NSArray[*MDLMaterialProperty]

Returns the complete list of material properties that match the specified material semantic.

func (*MDLMaterial) PropertyNamed

func (o *MDLMaterial) PropertyNamed(name *foundation.NSString) *MDLMaterialProperty

Returns the material property with the specified name.

func (*MDLMaterial) PropertyWithSemantic

func (o *MDLMaterial) PropertyWithSemantic(semantic MDLMaterialSemantic) *MDLMaterialProperty

Returns the material property for the specified material semantic.

func (*MDLMaterial) RemoveAllProperties

func (o *MDLMaterial) RemoveAllProperties()

Removes all material properties from the material.

func (*MDLMaterial) RemoveProperty

func (o *MDLMaterial) RemoveProperty(property *MDLMaterialProperty)

Removes the specified material property from the material.

func (*MDLMaterial) ResolveTexturesWithResolver

func (o *MDLMaterial) ResolveTexturesWithResolver(resolver MDLAssetResolver)

Resolves all texture string paths as NSURLs with resolver.

func (*MDLMaterial) ScatteringFunction

func (o *MDLMaterial) ScatteringFunction() *MDLScatteringFunction

func (*MDLMaterial) SetBaseMaterial

func (o *MDLMaterial) SetBaseMaterial(baseMaterial *MDLMaterial)

func (*MDLMaterial) SetMaterialFace

func (o *MDLMaterial) SetMaterialFace(materialFace MDLMaterialFace)

func (*MDLMaterial) SetName

func (o *MDLMaterial) SetName(name *foundation.NSString)

func (*MDLMaterial) SetProperty

func (o *MDLMaterial) SetProperty(property *MDLMaterialProperty)

Adds a new material property to or replaces an existing material property in the material.

type MDLMaterialFace

type MDLMaterialFace uint64
const (
	MDLMaterialFaceFront       MDLMaterialFace = 0
	MDLMaterialFaceBack        MDLMaterialFace = 1
	MDLMaterialFaceDoubleSided MDLMaterialFace = 2
)

func (MDLMaterialFace) String

func (e MDLMaterialFace) String() string

type MDLMaterialMipMapFilterMode

type MDLMaterialMipMapFilterMode uint64

Modes for sampling textures at sizes between mipmap levels, used by the mipFilter property.

const (
	// Sampling a texture at a size between mipmap levels should return a texel value from the nearest mipmap level.
	MDLMaterialMipMapFilterModeNearest MDLMaterialMipMapFilterMode = 0
	// Sampling a texture at a size between mipmap levels should linearly interpolate between mipmap levels.
	MDLMaterialMipMapFilterModeLinear MDLMaterialMipMapFilterMode = 1
)

func (MDLMaterialMipMapFilterMode) String

type MDLMaterialProperty

type MDLMaterialProperty struct {
	foundation.NSObject
}

A definition for one specific aspect of the rendering parameters for a material.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmaterialproperty

func MDLMaterialPropertyFromID

func MDLMaterialPropertyFromID(id objc.ID) *MDLMaterialProperty

func (*MDLMaterialProperty) Color

func (o *MDLMaterialProperty) Color() unsafe.Pointer

func (*MDLMaterialProperty) Float2Value

func (o *MDLMaterialProperty) Float2Value() unsafe.Pointer

func (*MDLMaterialProperty) Float3Value

func (o *MDLMaterialProperty) Float3Value() unsafe.Pointer

func (*MDLMaterialProperty) Float4Value

func (o *MDLMaterialProperty) Float4Value() unsafe.Pointer

func (*MDLMaterialProperty) FloatValue

func (o *MDLMaterialProperty) FloatValue() float32

func (*MDLMaterialProperty) InitWithNameSemantic

func (o *MDLMaterialProperty) InitWithNameSemantic(name *foundation.NSString, semantic MDLMaterialSemantic) *MDLMaterialProperty

Initializes a material property without a value.

func (*MDLMaterialProperty) InitWithNameSemanticColor

func (o *MDLMaterialProperty) InitWithNameSemanticColor(name *foundation.NSString, semantic MDLMaterialSemantic, color unsafe.Pointer) *MDLMaterialProperty

Initializes a material property with a color value.

func (*MDLMaterialProperty) InitWithNameSemanticFloat

func (o *MDLMaterialProperty) InitWithNameSemanticFloat(name *foundation.NSString, semantic MDLMaterialSemantic, value float32) *MDLMaterialProperty

Initializes a material property with a scalar value.

func (*MDLMaterialProperty) InitWithNameSemanticFloat2

func (o *MDLMaterialProperty) InitWithNameSemanticFloat2(name *foundation.NSString, semantic MDLMaterialSemantic, value unsafe.Pointer) *MDLMaterialProperty

Initializes a material property with a 2-component vector value.

func (*MDLMaterialProperty) InitWithNameSemanticFloat3

func (o *MDLMaterialProperty) InitWithNameSemanticFloat3(name *foundation.NSString, semantic MDLMaterialSemantic, value unsafe.Pointer) *MDLMaterialProperty

Initializes a material property with a 3-component vector value.

func (*MDLMaterialProperty) InitWithNameSemanticFloat4

func (o *MDLMaterialProperty) InitWithNameSemanticFloat4(name *foundation.NSString, semantic MDLMaterialSemantic, value unsafe.Pointer) *MDLMaterialProperty

Initializes a material property with a 4-component vector value.

func (*MDLMaterialProperty) InitWithNameSemanticMatrix4x4

func (o *MDLMaterialProperty) InitWithNameSemanticMatrix4x4(name *foundation.NSString, semantic MDLMaterialSemantic, value unsafe.Pointer) *MDLMaterialProperty

Initializes a material property with a 4 x 4 matrix value.

func (*MDLMaterialProperty) InitWithNameSemanticString

func (o *MDLMaterialProperty) InitWithNameSemanticString(name *foundation.NSString, semantic MDLMaterialSemantic, string_ *foundation.NSString) *MDLMaterialProperty

Initializes a material property with a string value.

func (*MDLMaterialProperty) InitWithNameSemanticTextureSampler

func (o *MDLMaterialProperty) InitWithNameSemanticTextureSampler(name *foundation.NSString, semantic MDLMaterialSemantic, textureSampler *MDLTextureSampler) *MDLMaterialProperty

Initializes a material property with a texture sampler object.

func (*MDLMaterialProperty) InitWithNameSemanticURL

func (o *MDLMaterialProperty) InitWithNameSemanticURL(name *foundation.NSString, semantic MDLMaterialSemantic, url *foundation.NSURL) *MDLMaterialProperty

Initializes a material property with a URL value.

func (*MDLMaterialProperty) Luminance

func (o *MDLMaterialProperty) Luminance() float32

func (*MDLMaterialProperty) Matrix4x4

func (o *MDLMaterialProperty) Matrix4x4() unsafe.Pointer

func (*MDLMaterialProperty) Name

@see MDLNamed

func (*MDLMaterialProperty) Semantic

func (*MDLMaterialProperty) SetColor

func (o *MDLMaterialProperty) SetColor(color unsafe.Pointer)

func (*MDLMaterialProperty) SetFloat2Value

func (o *MDLMaterialProperty) SetFloat2Value(float2Value unsafe.Pointer)

func (*MDLMaterialProperty) SetFloat3Value

func (o *MDLMaterialProperty) SetFloat3Value(float3Value unsafe.Pointer)

func (*MDLMaterialProperty) SetFloat4Value

func (o *MDLMaterialProperty) SetFloat4Value(float4Value unsafe.Pointer)

func (*MDLMaterialProperty) SetFloatValue

func (o *MDLMaterialProperty) SetFloatValue(floatValue float32)

func (*MDLMaterialProperty) SetLuminance

func (o *MDLMaterialProperty) SetLuminance(luminance float32)

func (*MDLMaterialProperty) SetMatrix4x4

func (o *MDLMaterialProperty) SetMatrix4x4(matrix4x4 unsafe.Pointer)

func (*MDLMaterialProperty) SetName

func (o *MDLMaterialProperty) SetName(name *foundation.NSString)

func (*MDLMaterialProperty) SetProperties

func (o *MDLMaterialProperty) SetProperties(property *MDLMaterialProperty)

Sets the material property’s attributes to those of the specified material property.

func (*MDLMaterialProperty) SetSemantic

func (o *MDLMaterialProperty) SetSemantic(semantic MDLMaterialSemantic)

func (*MDLMaterialProperty) SetStringValue

func (o *MDLMaterialProperty) SetStringValue(stringValue *foundation.NSString)

func (*MDLMaterialProperty) SetTextureSamplerValue

func (o *MDLMaterialProperty) SetTextureSamplerValue(textureSamplerValue *MDLTextureSampler)

func (*MDLMaterialProperty) SetType

func (o *MDLMaterialProperty) SetType(type_ MDLMaterialPropertyType)

func (*MDLMaterialProperty) SetURLValue

func (o *MDLMaterialProperty) SetURLValue(urlValue *foundation.NSURL)

func (*MDLMaterialProperty) StringValue

func (o *MDLMaterialProperty) StringValue() *foundation.NSString

func (*MDLMaterialProperty) TextureSamplerValue

func (o *MDLMaterialProperty) TextureSamplerValue() *MDLTextureSampler

func (*MDLMaterialProperty) Type

func (*MDLMaterialProperty) URLValue

func (o *MDLMaterialProperty) URLValue() *foundation.NSURL

type MDLMaterialPropertyConnection

type MDLMaterialPropertyConnection struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmaterialpropertyconnection

func MDLMaterialPropertyConnectionFromID

func MDLMaterialPropertyConnectionFromID(id objc.ID) *MDLMaterialPropertyConnection

func (*MDLMaterialPropertyConnection) InitWithOutputInput

Connects the output to the input

func (*MDLMaterialPropertyConnection) Input

func (*MDLMaterialPropertyConnection) Output

type MDLMaterialPropertyGraph

type MDLMaterialPropertyGraph struct {
	MDLMaterialPropertyNode
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmaterialpropertygraph

func MDLMaterialPropertyGraphFromID

func MDLMaterialPropertyGraphFromID(id objc.ID) *MDLMaterialPropertyGraph

func (*MDLMaterialPropertyGraph) Connections

func (*MDLMaterialPropertyGraph) Evaluate

func (o *MDLMaterialPropertyGraph) Evaluate()

func (*MDLMaterialPropertyGraph) Nodes

type MDLMaterialPropertyNode

type MDLMaterialPropertyNode struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmaterialpropertynode

func MDLMaterialPropertyNodeFromID

func MDLMaterialPropertyNodeFromID(id objc.ID) *MDLMaterialPropertyNode

func (*MDLMaterialPropertyNode) EvaluationFunction

func (o *MDLMaterialPropertyNode) EvaluationFunction() objc.Block

func (*MDLMaterialPropertyNode) InitWithInputsOutputsEvaluationFunction

func (o *MDLMaterialPropertyNode) InitWithInputsOutputsEvaluationFunction(inputs *foundation.NSArray[*MDLMaterialProperty], outputs *foundation.NSArray[*MDLMaterialProperty], function func(*MDLMaterialPropertyNode)) *MDLMaterialPropertyNode

func (*MDLMaterialPropertyNode) Inputs

func (*MDLMaterialPropertyNode) Outputs

func (*MDLMaterialPropertyNode) SetEvaluationFunction

func (o *MDLMaterialPropertyNode) SetEvaluationFunction(evaluationFunction func(*MDLMaterialPropertyNode))

type MDLMaterialPropertyType

type MDLMaterialPropertyType uint64

Options for the data type of a material property, used by the type property.

const (
	// The material property’s value has not been initialized.
	MDLMaterialPropertyTypeNone MDLMaterialPropertyType = 0
	// The material’s value is a string.
	MDLMaterialPropertyTypeString MDLMaterialPropertyType = 1
	// The material property’s value is a URL—typically, a URL referencing a texture image.
	MDLMaterialPropertyTypeURL MDLMaterialPropertyType = 2
	// The material property’s value is a MDLTextureSampler object that provides both a texture image and texture rendering parameters.
	MDLMaterialPropertyTypeTexture MDLMaterialPropertyType = 3
	// The material property’s value is a uniform color.
	MDLMaterialPropertyTypeColor MDLMaterialPropertyType = 4
	// The material property’s value is a floating-point scalar.
	MDLMaterialPropertyTypeFloat MDLMaterialPropertyType = 5
	// The material property’s value is a 2-component floating-point vector.
	MDLMaterialPropertyTypeFloat2 MDLMaterialPropertyType = 6
	// The material property’s value is a 3-component floating-point vector.
	MDLMaterialPropertyTypeFloat3 MDLMaterialPropertyType = 7
	// The material property’s value is a 4-component floating-point vector.
	MDLMaterialPropertyTypeFloat4 MDLMaterialPropertyType = 8
	// The material property’s value is a 4 x 4 floating-point matrix.
	MDLMaterialPropertyTypeMatrix44 MDLMaterialPropertyType = 9
	MDLMaterialPropertyTypeBuffer   MDLMaterialPropertyType = 10
)

func (MDLMaterialPropertyType) String

func (e MDLMaterialPropertyType) String() string

type MDLMaterialSemantic

type MDLMaterialSemantic uint64

Options for the semantic use of a material property’s value in rendering a particular surface appearance; used by the semantic property.

const (
	// The inherent color of a surface, to be used as a modulator during shading.
	MDLMaterialSemanticBaseColor MDLMaterialSemantic = 0
	// The degree to which light scatters under the surface of a material.
	MDLMaterialSemanticSubsurface MDLMaterialSemantic = 1
	// The degree to which a material appears as a dielectric surface (lower values) or as a metal (higher values).
	MDLMaterialSemanticMetallic MDLMaterialSemantic = 2
	// The intensity of specular highlights that appear on the material’s surface.
	MDLMaterialSemanticSpecular MDLMaterialSemantic = 3
	// The exponent to be used in Blinn-Phong approximation of the material’s specular response.
	MDLMaterialSemanticSpecularExponent MDLMaterialSemantic = 4
	// The balance of color for specular highlights, between the light color (lower values) and the material’s base color (at higher values).
	MDLMaterialSemanticSpecularTint MDLMaterialSemantic = 5
	// The degree to which a material appears smooth, affecting both diffuse and specular response.
	MDLMaterialSemanticRoughness MDLMaterialSemantic = 6
	// The degree to which specular highlights elongate in the direction of the local tangent basis.
	MDLMaterialSemanticAnisotropic MDLMaterialSemantic = 7
	// The angle at which anisotropic effects are rotated relative to the local tangent basis.
	MDLMaterialSemanticAnisotropicRotation MDLMaterialSemantic = 8
	// The intensity of highlights that appear only at glancing angles on a material’s surface.
	MDLMaterialSemanticSheen MDLMaterialSemantic = 9
	// The balance of color for highlights that appear only at glancing angles, between the light color (lower values) and the material’s base color (at higher values).
	MDLMaterialSemanticSheenTint MDLMaterialSemantic = 10
	// The intensity of a second specular highlight, similar to the gloss that results from a clear coat on an automotive finish.
	MDLMaterialSemanticClearcoat MDLMaterialSemantic = 11
	// The spread of a second specular highlight, similar to the gloss that results from a clear coat on an automotive finish.
	MDLMaterialSemanticClearcoatGloss MDLMaterialSemantic = 12
	// The color emitted as radiance from a material’s surface.
	MDLMaterialSemanticEmission MDLMaterialSemantic = 13
	// The degree of perturbation in a material’s surface.
	MDLMaterialSemanticBump MDLMaterialSemantic = 14
	// The opacity of a material’s surface.
	MDLMaterialSemanticOpacity MDLMaterialSemantic = 15
	// The index of refraction for the medium surrounding a material.
	MDLMaterialSemanticInterfaceIndexOfRefraction MDLMaterialSemantic = 16
	// The index of refraction for a material itself.
	MDLMaterialSemanticMaterialIndexOfRefraction MDLMaterialSemantic = 17
	// The variation in the surface normal vectors in a material, relative to model coordinate space.
	MDLMaterialSemanticObjectSpaceNormal MDLMaterialSemantic = 18
	// The variation in the surface normal vectors in a material, relative to surface tangent coordinate space.
	MDLMaterialSemanticTangentSpaceNormal MDLMaterialSemantic = 19
	// The displacement of a material’s surface relative to the surface normal.
	MDLMaterialSemanticDisplacement MDLMaterialSemantic = 20
	// The scaling factor for displacement of a material’s surface.
	MDLMaterialSemanticDisplacementScale MDLMaterialSemantic = 21
	// The attenuation of ambient light due to local geometry variations on a surface.
	MDLMaterialSemanticAmbientOcclusion MDLMaterialSemantic = 22
	// The scaling factor for ambient occlusion shading.
	MDLMaterialSemanticAmbientOcclusionScale MDLMaterialSemantic = 23
	// The material property’s semantic property has not been initialized.
	MDLMaterialSemanticNone MDLMaterialSemantic = 32768
	// The meaning of the material property’s value is not one of the standard semantic uses recognized by Model I/O.
	MDLMaterialSemanticUserDefined MDLMaterialSemantic = 32769
)

func (MDLMaterialSemantic) String

func (e MDLMaterialSemantic) String() string

type MDLMaterialTextureFilterMode

type MDLMaterialTextureFilterMode uint64

Modes for sampling textures at coordinates between texels, used by the minFilter and magFilter properties.

const (
	// Sampling at texture coordinates between texels should return the value of the nearest texel.
	MDLMaterialTextureFilterModeNearest MDLMaterialTextureFilterMode = 0
	// Sampling at texture coordinates between texels should linearly interpolate between texel values.
	MDLMaterialTextureFilterModeLinear MDLMaterialTextureFilterMode = 1
)

func (MDLMaterialTextureFilterMode) String

type MDLMaterialTextureWrapMode

type MDLMaterialTextureWrapMode uint64

Modes for sampling textures at coordinates outside the texture bounds, used by the sWrapMode, tWrapMode, and rWrapMode properties.

const (
	// Sampling at any texture coordinate outside the 0.0 to 1.0 range returns the texel color from the nearest edge.
	MDLMaterialTextureWrapModeClamp MDLMaterialTextureWrapMode = 0
	// Sampling at texture coordinates outside the 0.0 to 1.0 range results in a repeated tiling effect.
	MDLMaterialTextureWrapModeRepeat MDLMaterialTextureWrapMode = 1
	// Sampling at texture coordinates outside the 0.0 to 1.0 range results in a mirrored tiling effect.
	MDLMaterialTextureWrapModeMirror MDLMaterialTextureWrapMode = 2
)

func (MDLMaterialTextureWrapMode) String

type MDLMatrix4x4Array

type MDLMatrix4x4Array struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmatrix4x4array

func MDLMatrix4x4ArrayFromID

func MDLMatrix4x4ArrayFromID(id objc.ID) *MDLMatrix4x4Array

func (*MDLMatrix4x4Array) Clear

func (o *MDLMatrix4x4Array) Clear()

func (*MDLMatrix4x4Array) ElementCount

func (o *MDLMatrix4x4Array) ElementCount() uint

func (*MDLMatrix4x4Array) GetDouble4x4ArrayMaxCount

func (o *MDLMatrix4x4Array) GetDouble4x4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLMatrix4x4Array) GetFloat4x4ArrayMaxCount

func (o *MDLMatrix4x4Array) GetFloat4x4ArrayMaxCount(valuesArray unsafe.Pointer, maxCount uint) uint

func (*MDLMatrix4x4Array) InitWithElementCount

func (o *MDLMatrix4x4Array) InitWithElementCount(arrayElementCount uint) *MDLMatrix4x4Array

func (*MDLMatrix4x4Array) Precision

func (o *MDLMatrix4x4Array) Precision() MDLDataPrecision

func (*MDLMatrix4x4Array) SetDouble4x4ArrayCount

func (o *MDLMatrix4x4Array) SetDouble4x4ArrayCount(valuesArray unsafe.Pointer, count uint)

func (*MDLMatrix4x4Array) SetFloat4x4ArrayCount

func (o *MDLMatrix4x4Array) SetFloat4x4ArrayCount(valuesArray unsafe.Pointer, count uint)

type MDLMesh

type MDLMesh struct {
	MDLObject
}

A container for vertex buffer data to be used in rendering a 3D object.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmesh

func MDLMeshFromID

func MDLMeshFromID(id objc.ID) *MDLMesh

func MDLMeshNewBoxWithDimensionsSegmentsGeometryTypeInwardNormalsAllocator

func MDLMeshNewBoxWithDimensionsSegmentsGeometryTypeInwardNormalsAllocator(dimensions unsafe.Pointer, segments unsafe.Pointer, geometryType MDLGeometryType, inwardNormals bool, allocator MDLMeshBufferAllocator) *MDLMesh

Creates a mesh in the shape of a rectangular box or cube.

func MDLMeshNewCapsuleWithHeightRadiiRadialSegmentsVerticalSegmentsHemisphereSegmentsGeometryTypeInwardNormalsAllocator

func MDLMeshNewCapsuleWithHeightRadiiRadialSegmentsVerticalSegmentsHemisphereSegmentsGeometryTypeInwardNormalsAllocator(height float32, radii unsafe.Pointer, radialSegments uint, verticalSegments uint, hemisphereSegments uint, geometryType MDLGeometryType, inwardNormals bool, allocator MDLMeshBufferAllocator) *MDLMesh

func MDLMeshNewCylinderWithHeightRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsAllocator

func MDLMeshNewCylinderWithHeightRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsAllocator(height float32, radii unsafe.Pointer, radialSegments uint, verticalSegments uint, geometryType MDLGeometryType, inwardNormals bool, allocator MDLMeshBufferAllocator) *MDLMesh

Generates a mesh in the shape of a right circular or elliptical cylinder.

func MDLMeshNewEllipsoidWithRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsHemisphereAllocator

func MDLMeshNewEllipsoidWithRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsHemisphereAllocator(radii unsafe.Pointer, radialSegments uint, verticalSegments uint, geometryType MDLGeometryType, inwardNormals bool, hemisphere bool, allocator MDLMeshBufferAllocator) *MDLMesh

Creates a mesh in the shape of an ellipsoid or sphere.

func MDLMeshNewEllipticalConeWithHeightRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsAllocator

func MDLMeshNewEllipticalConeWithHeightRadiiRadialSegmentsVerticalSegmentsGeometryTypeInwardNormalsAllocator(height float32, radii unsafe.Pointer, radialSegments uint, verticalSegments uint, geometryType MDLGeometryType, inwardNormals bool, allocator MDLMeshBufferAllocator) *MDLMesh

Generates a mesh in the shape of an elliptical or circular cone.

func MDLMeshNewIcosahedronWithRadiusInwardNormalsAllocator

func MDLMeshNewIcosahedronWithRadiusInwardNormalsAllocator(radius float32, inwardNormals bool, allocator MDLMeshBufferAllocator) *MDLMesh

Generates a mesh in the shape of a regular 20-sided polyhedron with triangular faces.

func MDLMeshNewIcosahedronWithRadiusInwardNormalsGeometryTypeAllocator

func MDLMeshNewIcosahedronWithRadiusInwardNormalsGeometryTypeAllocator(radius float32, inwardNormals bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

func MDLMeshNewPlaneWithDimensionsSegmentsGeometryTypeAllocator

func MDLMeshNewPlaneWithDimensionsSegmentsGeometryTypeAllocator(dimensions unsafe.Pointer, segments unsafe.Pointer, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

Generates a mesh in the shape of a rectangular plane.

func MDLMeshNewSubdividedMeshSubmeshIndexSubdivisionLevels

func MDLMeshNewSubdividedMeshSubmeshIndexSubdivisionLevels(mesh *MDLMesh, submeshIndex uint, subdivisionLevels uint) *MDLMesh

Creates a new mesh by subdividing the specified mesh.

func (*MDLMesh) AddAttributeWithNameFormat

func (o *MDLMesh) AddAttributeWithNameFormat(name *foundation.NSString, format MDLVertexFormat)

Adds a vertex attribute to the mesh and creates a new, empty corresponding vertex buffer.

func (*MDLMesh) AddAttributeWithNameFormatTypeDataStride

func (o *MDLMesh) AddAttributeWithNameFormatTypeDataStride(name *foundation.NSString, format MDLVertexFormat, type_ *foundation.NSString, data *foundation.NSData, stride int)

@method addAttributeWithName:format:type:data:stride @abstract Create a new vertex attribute including an associated buffer with a copy of the supplied data, and update the vertex descriptor accordingly @param name The name the attribute can be found by @param format Format of the data, such as MDLVertexFormatFloat3 @param type The usage of the attribute, such as MDLVertexAttributePosition @param data Object containing the data to be used in the new vertex buffer @param stride The increment in bytes from the start of one data entry to the next.

func (*MDLMesh) AddAttributeWithNameFormatTypeDataStrideTime

func (o *MDLMesh) AddAttributeWithNameFormatTypeDataStrideTime(name *foundation.NSString, format MDLVertexFormat, type_ *foundation.NSString, data *foundation.NSData, stride int, time_ float64)

@method addAttributeWithName:format:type:data:stride:time @abstract Create a new vertex attribute including an associated buffer with a copy of the supplied data, and update the vertex descriptor accordingly @param name The name the attribute can be found by @param format Format of the data, such as MDLVertexFormatFloat3 @param type The usage of the attribute, such as MDLVertexAttributePosition @param data Object containing the data to be used in the new vertex buffer @param stride The increment in bytes from the start of one data entry to the next. @param time The time the attribute is to be invoked at. @discussion Adding an attribute, such as position data, at multiple times will result in attributes being created for each of those times. Attributes corresponding to multiple times can be retrieved from the vertex descriptor.

func (*MDLMesh) AddNormalsWithAttributeNamedCreaseThreshold

func (o *MDLMesh) AddNormalsWithAttributeNamedCreaseThreshold(attributeName *foundation.NSString, creaseThreshold float32)

Generates surface normal data for the mesh based on its vertex position data.

func (*MDLMesh) AddOrthTanBasisForTextureCoordinateAttributeNamedNormalAttributeNamedTangentAttributeNamed

func (o *MDLMesh) AddOrthTanBasisForTextureCoordinateAttributeNamedNormalAttributeNamedTangentAttributeNamed(textureCoordinateAttributeName *foundation.NSString, normalAttributeName *foundation.NSString, tangentAttributeName *foundation.NSString)

func (*MDLMesh) AddTangentBasisForTextureCoordinateAttributeNamedNormalAttributeNamedTangentAttributeNamed

func (o *MDLMesh) AddTangentBasisForTextureCoordinateAttributeNamedNormalAttributeNamedTangentAttributeNamed(textureCoordinateAttributeName *foundation.NSString, normalAttributeName *foundation.NSString, tangentAttributeName *foundation.NSString)

Generates surface tangent data for the mesh based on its vertex position, surface normal, and texture coordinate data.

func (*MDLMesh) AddTangentBasisForTextureCoordinateAttributeNamedTangentAttributeNamedBitangentAttributeNamed

func (o *MDLMesh) AddTangentBasisForTextureCoordinateAttributeNamedTangentAttributeNamedBitangentAttributeNamed(textureCoordinateAttributeName *foundation.NSString, tangentAttributeName *foundation.NSString, bitangentAttributeName *foundation.NSString)

Generates surface tangent and bitangent data for the mesh based on its vertex position and texture coordinate data.

func (*MDLMesh) AddUnwrappedTextureCoordinatesForAttributeNamed

func (o *MDLMesh) AddUnwrappedTextureCoordinatesForAttributeNamed(textureCoordinateAttributeName *foundation.NSString)

@method addTextureCoordinatesForAttributeNamed:textureCoordinateAttributeName @abstract Creates texture coordinates by unwrapping the mesh @param textureCoordinateAttributeName texture coordinates to modify or create @discussion Uses the attribute named MDLVertexAttributePosition and if available, the attribute named MDLVertexAttributeNormal to calculate texture coordinates

func (*MDLMesh) Allocator

func (o *MDLMesh) Allocator() MDLMeshBufferAllocator

@property allocator @abstract allocator used to allocate contained mesh buffers

func (*MDLMesh) BoundingBox

func (o *MDLMesh) BoundingBox() MDLAxisAlignedBoundingBox

@property boundingBox @abstract Bounding box encompassing the mesh @discussion Calculated by iterating through MDLVertexAttributePosition to find min and max bounds. If no attribute is named MDLVertexAttributePosition this will be a invalid bounds where maxBounds is less than minBounds.

func (*MDLMesh) FlipTextureCoordinatesInAttributeNamed

func (o *MDLMesh) FlipTextureCoordinatesInAttributeNamed(textureCoordinateAttributeName *foundation.NSString)

@method flipTextureCoordinatesInAttributeNamed: @abstract Flips texture coordinates by performing the operation (u,v) = (u, 1-v) @param textureCoordinateAttributeName texture coordinates to modify @discussion Many application generate model files with texture coordinate mapping assuming a bottom left bitmap origin. It can be more convenient to have texture coordinates corresponding to an upper left bitmap origin. This selector will perform the flip operation if the requested texture coordinate attribute exists on the mesh. An exception will be raised if the attribute cannot be found

func (*MDLMesh) GenerateAmbientOcclusionTextureWithQualityAttenuationFactorObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed

func (o *MDLMesh) GenerateAmbientOcclusionTextureWithQualityAttenuationFactorObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed(bakeQuality float32, attenuationFactor float32, objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString, materialPropertyName *foundation.NSString) bool

Calculates ambient occlusion (AO) information for the mesh and saves it in the mesh as a material property texture.

func (*MDLMesh) GenerateAmbientOcclusionTextureWithSizeRaysPerSampleAttenuationFactorObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed

func (o *MDLMesh) GenerateAmbientOcclusionTextureWithSizeRaysPerSampleAttenuationFactorObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed(textureSize unsafe.Pointer, raysPerSample int, attenuationFactor float32, objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString, materialPropertyName *foundation.NSString) bool

Calculates ambient occlusion (AO) information for the mesh and saves it in the mesh as a material property texture of the specified size.

func (*MDLMesh) GenerateAmbientOcclusionVertexColorsWithQualityAttenuationFactorObjectsToConsiderVertexAttributeNamed

func (o *MDLMesh) GenerateAmbientOcclusionVertexColorsWithQualityAttenuationFactorObjectsToConsiderVertexAttributeNamed(bakeQuality float32, attenuationFactor float32, objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString) bool

Calculates ambient occlusion (AO) information for the mesh and saves it in the mesh as a vertex color attribute.

func (*MDLMesh) GenerateAmbientOcclusionVertexColorsWithRaysPerSampleAttenuationFactorObjectsToConsiderVertexAttributeNamed

func (o *MDLMesh) GenerateAmbientOcclusionVertexColorsWithRaysPerSampleAttenuationFactorObjectsToConsiderVertexAttributeNamed(raysPerSample int, attenuationFactor float32, objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString) bool

Calculates ambient occlusion (AO) information for the mesh, using the specified number of rays per sample, and saves it in the mesh as a vertex color attribute.

func (*MDLMesh) GenerateLightMapTextureWithQualityLightsToConsiderObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed

func (o *MDLMesh) GenerateLightMapTextureWithQualityLightsToConsiderObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed(bakeQuality float32, lightsToConsider *foundation.NSArray[*MDLLight], objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString, materialPropertyName *foundation.NSString) bool

Calculates static lighting information for the mesh and saves it in the mesh as a material property texture.

func (*MDLMesh) GenerateLightMapTextureWithTextureSizeLightsToConsiderObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed

func (o *MDLMesh) GenerateLightMapTextureWithTextureSizeLightsToConsiderObjectsToConsiderVertexAttributeNamedMaterialPropertyNamed(textureSize unsafe.Pointer, lightsToConsider *foundation.NSArray[*MDLLight], objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString, materialPropertyName *foundation.NSString) bool

Calculates static lighting information for the mesh and saves it in the mesh as a material property texture of the specified size.

func (*MDLMesh) GenerateLightMapVertexColorsWithLightsToConsiderObjectsToConsiderVertexAttributeNamed

func (o *MDLMesh) GenerateLightMapVertexColorsWithLightsToConsiderObjectsToConsiderVertexAttributeNamed(lightsToConsider *foundation.NSArray[*MDLLight], objectsToConsider *foundation.NSArray[*MDLObject], vertexAttributeName *foundation.NSString) bool

Calculates static lighting information for the mesh and saves it in the mesh as a vertex color attribute.

func (*MDLMesh) InitBoxWithExtentSegmentsInwardNormalsGeometryTypeAllocator

func (o *MDLMesh) InitBoxWithExtentSegmentsInwardNormalsGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, inwardNormals bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initBoxMeshWithExtent:segments:inwardNormals:geometryType:allocator: @abstract Factory method for generating a mesh with a cube shape @return MDLMesh box with desired attributes @param extent size of the box in each dimension @param segments Number of slices in each dimension @param inwardNormals Generated Normal point inward @param geometryType Can be MDLGeometryTypeLines, MDLGeometryTypeQuads, or MDLGeometryTypeTriangles @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Assembled with triangle or quad primitives. Specifying inward normals is useful for generating a skybox. The center of the box is at(0, 0, 0). Will raise an exception if an unsupported geometry type is passed in.

func (*MDLMesh) InitCapsuleWithExtentCylinderSegmentsHemisphereSegmentsInwardNormalsGeometryTypeAllocator

func (o *MDLMesh) InitCapsuleWithExtentCylinderSegmentsHemisphereSegmentsInwardNormalsGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, hemisphereSegments int, inwardNormals bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initCapsuleWithExtent:cylinderSegments:hemisphereSegments:inwardNormals:geometryType:allocator @abstract Factory method for generating a mesh with a capsule shape; a cylinder with hemispheres for caps. @return MDLMesh capsule with desired attributes @param extent Dimension of bounding box for capsule. @param hemisphereSegments Number of slices through hemisphere caps along Y axis @param geometryType Must be MDLGeometryTypeTriangles or MDLGeometryTypeLines @param inwardNormals Normals point toward center of cylinder @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Center of capsule at (0, 0, 0) with a top at +Y and bottom at -Y. The height of hemisphere cap is specified by the minimum of X and Z Specifying equal X and Z radii will generate a true capsule. Specifying a height that is less than the twice of min of the X and Z radii or verticalSegments of 0 will generate a sphere. The full height of the capsule will also incorporate the hemisphere caps. Will raise an exception if radialSegments is < 3 or if hemisphereSegments < 1 or if an unsupported geometry type is specified. Generated texture coordinates for top and bottom caps are wrapped in a similar manner as for a sphere, laid out as follows: ___ / \ <- T texcoord = 0.0 Texture for top of cylinder ---> [-----] [ ] <- T texcoord = extent.x/extent.y [ ] Texture for sides of cylinder ---> [ ] [_____] <- T texcoord = 1.0 - extent.x/extent.y Texture for base of cylinder ---> [ ] \___/ <- T texcoord = 1.0

func (*MDLMesh) InitConeWithExtentSegmentsInwardNormalsCapGeometryTypeAllocator

func (o *MDLMesh) InitConeWithExtentSegmentsInwardNormalsCapGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, inwardNormals bool, cap_ bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initConeWithExtent:segments:inwardNormals:cap:geometryType:allocator @abstract Factory method for generating a mesh with an ellipticalCone shape. @return MDLMesh cone with desired attributes @param geometryType Must be MDLGeometryTypeTriangles or MDLGeometryTypeLines @param inwardNormals Normals point toward center of ellipticalCone @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Point of cone at (0, 0, 0) while base of cone is -Y. Will raise an exception if radialSegments is < 3, or verticalSegments is < 1, or if an unsupported geometry type is passed in. Generated texture coordinates are laid out as follows: _____ [ ] <- T texcoord = 0.0 [ ] Texture for sides of cone ---> [ ] [ ] [_____] <- T texcoord = 0.6666 / \ Texture for base of cone ---> [ ] \___/ <- T texcoord = 1.0

func (*MDLMesh) InitCylinderWithExtentSegmentsInwardNormalsTopCapBottomCapGeometryTypeAllocator

func (o *MDLMesh) InitCylinderWithExtentSegmentsInwardNormalsTopCapBottomCapGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, inwardNormals bool, topCap bool, bottomCap bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initCylinderWithExtent:segments:inwardNormals:topCap:bottomCap:geometryType:allocator @abstract Factory method for generating a mesh with a cylindrical shape @return MDLMesh cylinder with desired attributes @param geometryType Must be MDLGeometryTypeTriangles or MDLGeometryTypeLines @param inwardNormals Normals point toward center of cylinder @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Center of cylinder at (0, 0, 0) with a top at +Y and bottom at -Y. Specifying equal X and Z radia will generate a true cylinder. Specifying a height of 0.0 and verticalSegments of 0 will generate a disc. Will raise an exception if radialSegments is < 3 or if an unsupported geometry type is passed in. Generated texture coordinates are laid out as follows: ___ / \ <- T texcoord = 0.0 Texture for top of cylinder ---> [ ] \___/ [ ] <- T texcoord = 0.3333 [ ] Texture for sides of cylinder ---> [ ] [_____] <- T texcoord = 0.6666 / \ Texture for base of cylinder ---> [ ] \___/ <- T texcoord = 1.0

func (*MDLMesh) InitHemisphereWithExtentSegmentsInwardNormalsCapGeometryTypeAllocator

func (o *MDLMesh) InitHemisphereWithExtentSegmentsInwardNormalsCapGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, inwardNormals bool, cap_ bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

func (*MDLMesh) InitIcosahedronWithExtentInwardNormalsGeometryTypeAllocator

func (o *MDLMesh) InitIcosahedronWithExtentInwardNormalsGeometryTypeAllocator(extent unsafe.Pointer, inwardNormals bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initIcosahedronWithExtent:inwardNormals:geometryType:allocator @abstract Factory method for generating a mesh icosahedron @return MDLMesh icosahedron with desired attributes @param inwardNormals Generated normals will face towards the center of the mesh @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Creates an icosahedron with center at (0, 0, 0).

func (*MDLMesh) InitMeshBySubdividingMeshSubmeshIndexSubdivisionLevelsAllocator

func (o *MDLMesh) InitMeshBySubdividingMeshSubmeshIndexSubdivisionLevelsAllocator(mesh *MDLMesh, submeshIndex int, subdivisionLevels uint, allocator MDLMeshBufferAllocator) *MDLMesh

@method initMeshBySubdividingMesh:submeshIndex:subdivisionLevels:allocator @abstract Factory method that generates a subdivided mesh from a source mesh @param mesh Mesh from which to generate a subdivided mesh @param submeshIndex Index of submesh in Mesh's submesh array from which to generate a subdivided mesh @param subdivisionLevels The number of levels to subdivide mesh @discussion Subdivision levels over four are likely to generate more triangles than can be reasonably displayed. Index and vertex data will use the same allocator used for the source mesh. Loading an asset using the topology preservation flag set to YES will result in the best subdivision results. @return Returns a mesh subdivided to index level, unless subdivision is impossible.

func (*MDLMesh) InitPlaneWithExtentSegmentsGeometryTypeAllocator

func (o *MDLMesh) InitPlaneWithExtentSegmentsGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initPlaneWithExtent:segments:geometryType:allocator @abstract Factory method for generating a mesh with an planar shape @return MDLMesh plane with desired attributes @param extent extent of the plane @param segments Number of segements in the X and Y dimensions @param geometryType Can be MDLGeometryTypeLines, MDLGeometryTypeQuads, or MDLGeometryTypeTriangles @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Creates a plane spanning the greatest dimensions of extent. Will raise an exception if an unsupported geometry type is passed in.

func (*MDLMesh) InitSphereWithExtentSegmentsInwardNormalsGeometryTypeAllocator

func (o *MDLMesh) InitSphereWithExtentSegmentsInwardNormalsGeometryTypeAllocator(extent unsafe.Pointer, segments unsafe.Pointer, inwardNormals bool, geometryType MDLGeometryType, allocator MDLMeshBufferAllocator) *MDLMesh

@method initSphereWithExtent:segments:inwardNormals:geometryType:allocator @abstract Factory method for generating a mesh with an ellipsoid shape @return MDLMesh ellipsoid with desired attributes @param geometryType Must be MDLGeometryTypeTriangles or MDLGeometryTypeLines @param inwardNormals If true, generated normals will face inwards. Useful for generating a skydome. Actual number of vertical slices will be half of 'vertical' segments @param allocator A mesh buffer allocator used to allocate memory to back buffers for the returned mesh. If nil, a default allocator will be used @discussion Specifying inward normals and hemisphere is useful for generating a skydome. Specifying equal X, Y, and Z radii will generate a sphere. Specifying a y radius of 0.0 will generate a disc. Will raise an exception if radialSegments is < 3, verticalSegments is < 2, or an unsupported geometry type is passed in.

func (*MDLMesh) InitWithBufferAllocator

func (o *MDLMesh) InitWithBufferAllocator(bufferAllocator MDLMeshBufferAllocator) *MDLMesh

func (*MDLMesh) InitWithVertexBufferVertexCountDescriptorSubmeshes

func (o *MDLMesh) InitWithVertexBufferVertexCountDescriptorSubmeshes(vertexBuffer MDLMeshBuffer, vertexCount uint, descriptor *MDLVertexDescriptor, submeshes *foundation.NSArray[*MDLSubmesh]) *MDLMesh

Creates a mesh from a single vertex buffer with the specified parameters.

func (*MDLMesh) InitWithVertexBuffersVertexCountDescriptorSubmeshes

func (o *MDLMesh) InitWithVertexBuffersVertexCountDescriptorSubmeshes(vertexBuffers *foundation.NSArray[MDLMeshBuffer], vertexCount uint, descriptor *MDLVertexDescriptor, submeshes *foundation.NSArray[*MDLSubmesh]) *MDLMesh

Creates a mesh by unifying vertex data from multiple sources with the specified parameters.

func (*MDLMesh) MakeVerticesUnique

func (o *MDLMesh) MakeVerticesUnique()

Modifies the mesh’s vertex buffers so that no vertices are shared by multiple faces. Deprecated: since macOS 10.13.

func (*MDLMesh) MakeVerticesUniqueAndReturnError

func (o *MDLMesh) MakeVerticesUniqueAndReturnError() (bool, error)

@method makeVerticesUniqueAndReturnError: @abstract Deindexes the vertex array @discussion If any vertices are shared on multiple faces, duplicate those vertices so faces do not share vertices. The vertex buffer and index buffers on submeshes may grow to accommodate any vertices added.

func (*MDLMesh) RemoveAttributeNamed

func (o *MDLMesh) RemoveAttributeNamed(name *foundation.NSString)

@method removeAttributeNamed: @abstract remove an attribute @discussion if the named attribute does not exist, nothing happens.

func (*MDLMesh) ReplaceAttributeNamedWithData

func (o *MDLMesh) ReplaceAttributeNamedWithData(name *foundation.NSString, newData *MDLVertexAttributeData)

@method replaceAttributeNamed:withData @abstract replace existing attribute data with new attribute data retaining the format of the replacement data. @discussion If the specified attribute does not already exist, it will be created.

func (*MDLMesh) SetSubmeshes

func (o *MDLMesh) SetSubmeshes(submeshes *foundation.NSMutableArray[*MDLSubmesh])

func (*MDLMesh) SetVertexBuffers

func (o *MDLMesh) SetVertexBuffers(vertexBuffers *foundation.NSArray[MDLMeshBuffer])

func (*MDLMesh) SetVertexCount

func (o *MDLMesh) SetVertexCount(vertexCount uint)

func (*MDLMesh) SetVertexDescriptor

func (o *MDLMesh) SetVertexDescriptor(vertexDescriptor *MDLVertexDescriptor)

func (*MDLMesh) Submeshes

func (o *MDLMesh) Submeshes() *foundation.NSMutableArray[*MDLSubmesh]

@property submeshes @abstract Array of submeshes containing an indexbuffer referencing the vertex data and material to be applied when the mesh is rendered

func (*MDLMesh) UpdateAttributeNamedWithData

func (o *MDLMesh) UpdateAttributeNamedWithData(name *foundation.NSString, newData *MDLVertexAttributeData)

@method updateAttributeNamed:withData @abstract update existing attribute data with new attribute data retaining the format of the existing data. @discussion If the specified attribute does not already exist, it will be created with the same format as the newData.

func (*MDLMesh) VertexAttributeDataForAttributeNamed

func (o *MDLMesh) VertexAttributeDataForAttributeNamed(name *foundation.NSString) *MDLVertexAttributeData

Returns the vertex data for the specified attribute.

func (*MDLMesh) VertexAttributeDataForAttributeNamedAsFormat

func (o *MDLMesh) VertexAttributeDataForAttributeNamedAsFormat(name *foundation.NSString, format MDLVertexFormat) *MDLVertexAttributeData

@method vertexAttributeDataForAttributeNamed:asFormat @abstract convenience selector to get quick access to vertex attribute data reformatted to the requested format if necessary. @discussion If the desired format has less elements than the source attribute elements, excess elements will be discarded. If the desired format has more elements than the source attribute, then the destination elements will be set to zero. The vertex buffer will remain mapped until the MDLVertexAttributeData is freed.

func (*MDLMesh) VertexBuffers

func (o *MDLMesh) VertexBuffers() *foundation.NSArray[MDLMeshBuffer]

@property vertexBuffers @abstract Array of buffers containing vertex data @discussion The vertex buffers in this array are indexed by the vertex descriptor.

func (*MDLMesh) VertexCount

func (o *MDLMesh) VertexCount() uint

@property vertexCount @abstract Number of vertices in the vertexBuffers @discussion The size of vertex data in each buffer can be computed by multiplying this value with the stride of the buffer in the vertexDescriptor's layout

func (*MDLMesh) VertexDescriptor

func (o *MDLMesh) VertexDescriptor() *MDLVertexDescriptor

@property vertexDescriptor @abstract Immutable vertex descriptor for interpreting data in vertexBuffers @discussion Setting this applies the new layout in 'vertexBuffers' thus is a heavyweight operation as structured copies of almost all vertex buffer data could be made. Additionally, if the new vertexDescriptor does not have an attribute in the original vertexDescriptor, that attribute will be deleted. If the original vertexDescriptor does not have an attribute in the new vertexDescriptor, the data for the added attribute set as the added attribute's initializationValue property. The allocator associated with each original meshbuffer is used to reallocate the corresponding resultant meshbuffer.

type MDLMeshBuffer

type MDLMeshBuffer interface {
	foundation.NSCopying
	FillDataOffset(data *foundation.NSData, offset uint)
	Map() *MDLMeshBufferMap
	Length() uint
	Allocator() MDLMeshBufferAllocator
	Zone() MDLMeshBufferZone
	Type() MDLMeshBufferType
}

MDLMeshBuffer wraps the ObjC protocol MDLMeshBuffer.

type MDLMeshBufferAllocator

type MDLMeshBufferAllocator interface {
	NewZone(capacity uint) MDLMeshBufferZone
	NewZoneForBuffersWithSizeAndType(sizes *foundation.NSArray[*foundation.NSNumber], types *foundation.NSArray[*foundation.NSNumber]) MDLMeshBufferZone
	NewBufferType(length uint, type_ MDLMeshBufferType) MDLMeshBuffer
	NewBufferWithDataType(data *foundation.NSData, type_ MDLMeshBufferType) MDLMeshBuffer
	NewBufferFromZoneLengthType(zone MDLMeshBufferZone, length uint, type_ MDLMeshBufferType) MDLMeshBuffer
	NewBufferFromZoneDataType(zone MDLMeshBufferZone, data *foundation.NSData, type_ MDLMeshBufferType) MDLMeshBuffer
}

MDLMeshBufferAllocator wraps the ObjC protocol MDLMeshBufferAllocator.

type MDLMeshBufferData

type MDLMeshBufferData struct {
	foundation.NSObject
}

A memory buffer that stores vertex or index data for a Model I/O mesh.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmeshbufferdata

func MDLMeshBufferDataFromID

func MDLMeshBufferDataFromID(id objc.ID) *MDLMeshBufferData

func (*MDLMeshBufferData) Data

func (o *MDLMeshBufferData) Data() *foundation.NSData

func (*MDLMeshBufferData) InitWithTypeData

func (o *MDLMeshBufferData) InitWithTypeData(type_ MDLMeshBufferType, data *foundation.NSData) *MDLMeshBufferData

Initializes a buffer containing the specified data.

func (*MDLMeshBufferData) InitWithTypeLength

func (o *MDLMeshBufferData) InitWithTypeLength(type_ MDLMeshBufferType, length uint) *MDLMeshBufferData

Initializes a buffer of the specified length.

type MDLMeshBufferDataAllocator

type MDLMeshBufferDataAllocator struct {
	foundation.NSObject
}

A basic allocator implementation that allocates from main memory using data objects.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmeshbufferdataallocator

func MDLMeshBufferDataAllocatorFromID

func MDLMeshBufferDataAllocatorFromID(id objc.ID) *MDLMeshBufferDataAllocator

type MDLMeshBufferMap

type MDLMeshBufferMap struct {
	foundation.NSObject
}

An object that manages access to a memory buffer used for the data storage of a Model I/O mesh.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmeshbuffermap

func MDLMeshBufferMapFromID

func MDLMeshBufferMapFromID(id objc.ID) *MDLMeshBufferMap

func (*MDLMeshBufferMap) Bytes

func (o *MDLMeshBufferMap) Bytes() unsafe.Pointer

func (*MDLMeshBufferMap) InitWithBytesDeallocator

func (o *MDLMeshBufferMap) InitWithBytesDeallocator(bytes_ unsafe.Pointer, deallocator func()) *MDLMeshBufferMap

Initializes a buffer map object to manage access to the specified memory.

type MDLMeshBufferType

type MDLMeshBufferType uint64

Options for the content of a mesh buffer, used by the type property and by MDLMeshBufferAllocator methods for creating buffers.

const (
	// The buffer contains per-vertex data for one or more vertex attributes of a MDLMesh object.
	MDLMeshBufferTypeVertex MDLMeshBufferType = 1
	// The buffer contains index data for a MDLSubmesh object.
	MDLMeshBufferTypeIndex  MDLMeshBufferType = 2
	MDLMeshBufferTypeCustom MDLMeshBufferType = 3
)

func (MDLMeshBufferType) String

func (e MDLMeshBufferType) String() string

type MDLMeshBufferZone

type MDLMeshBufferZone interface {
	Capacity() uint
	Allocator() MDLMeshBufferAllocator
}

MDLMeshBufferZone wraps the ObjC protocol MDLMeshBufferZone.

type MDLMeshBufferZoneDefault

type MDLMeshBufferZoneDefault struct {
	foundation.NSObject
}

A standard implementation of the MDLMeshBufferZone protocol.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlmeshbufferzonedefault

func MDLMeshBufferZoneDefaultFromID

func MDLMeshBufferZoneDefaultFromID(id objc.ID) *MDLMeshBufferZoneDefault

func (*MDLMeshBufferZoneDefault) Allocator

func (*MDLMeshBufferZoneDefault) Capacity

func (o *MDLMeshBufferZoneDefault) Capacity() uint

type MDLNamed

type MDLNamed interface {
	Name() *foundation.NSString
	SetName(name *foundation.NSString)
}

MDLNamed wraps the ObjC protocol MDLNamed.

type MDLNoiseTexture

type MDLNoiseTexture struct {
	MDLTexture
}

A generator of texel data that creates a field of random noise.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlnoisetexture

func MDLNoiseTextureFromID

func MDLNoiseTextureFromID(id objc.ID) *MDLNoiseTexture

func (*MDLNoiseTexture) InitCellularNoiseWithFrequencyNameTextureDimensionsChannelEncoding

func (o *MDLNoiseTexture) InitCellularNoiseWithFrequencyNameTextureDimensionsChannelEncoding(frequency float32, name *foundation.NSString, textureDimensions unsafe.Pointer, channelEncoding MDLTextureChannelEncoding) *MDLNoiseTexture

Create a texture containing cellular noise. @param frequency How large the cells will be

func (*MDLNoiseTexture) InitScalarNoiseWithSmoothnessNameTextureDimensionsChannelCountChannelEncodingGrayscale

func (o *MDLNoiseTexture) InitScalarNoiseWithSmoothnessNameTextureDimensionsChannelCountChannelEncodingGrayscale(smoothness float32, name *foundation.NSString, textureDimensions unsafe.Pointer, channelCount int, channelEncoding MDLTextureChannelEncoding, grayscale bool) *MDLNoiseTexture

Initializes a noise texture that creates random color noise.

func (*MDLNoiseTexture) InitVectorNoiseWithSmoothnessNameTextureDimensionsChannelEncoding

func (o *MDLNoiseTexture) InitVectorNoiseWithSmoothnessNameTextureDimensionsChannelEncoding(smoothness float32, name *foundation.NSString, textureDimensions unsafe.Pointer, channelEncoding MDLTextureChannelEncoding) *MDLNoiseTexture

Initializes a noise texture that creates random directional noise.

type MDLNormalMapTexture

type MDLNormalMapTexture struct {
	MDLTexture
}

A generator of texel data that computes a normal map from a supplied texture.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlnormalmaptexture

func MDLNormalMapTextureFromID

func MDLNormalMapTextureFromID(id objc.ID) *MDLNormalMapTexture

func (*MDLNormalMapTexture) InitByGeneratingNormalMapWithTextureNameSmoothnessContrast

func (o *MDLNormalMapTexture) InitByGeneratingNormalMapWithTextureNameSmoothnessContrast(sourceTexture *MDLTexture, name *foundation.NSString, smoothness float32, contrast float32) *MDLNormalMapTexture

Initializes a normal map to be generated from the specified texture.

type MDLObject

type MDLObject struct {
	foundation.NSObject
}

The base class for objects that are part of a 3D asset, including meshes, cameras, and lights.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlobject

func MDLObjectFromID

func MDLObjectFromID(id objc.ID) *MDLObject

func (*MDLObject) AddChild

func (o *MDLObject) AddChild(child *MDLObject)

Adds a child object to this object, creating a container for the object’s children if necessary.

func (*MDLObject) BoundingBoxAtTime

func (o *MDLObject) BoundingBoxAtTime(time_ float64) MDLAxisAlignedBoundingBox

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

func (*MDLObject) Children

func (o *MDLObject) Children() MDLObjectContainerComponent

@property children @abstract Short hand property for the MDLObjectContainerComponent. @discussion The default value is an empty MDLObjectContainer @see MDLObjectContainerComponent

func (*MDLObject) ComponentConformingToProtocol

func (o *MDLObject) ComponentConformingToProtocol(protocol unsafe.Pointer) MDLComponent

Returns the object’s component for the specified protocol.

func (*MDLObject) Components

func (o *MDLObject) Components() *foundation.NSArray[MDLComponent]

@property components @abstract Allows applications to introspect the components on the objects.

func (*MDLObject) EnumerateChildObjectsOfClassRootUsingBlockStopPointer

func (o *MDLObject) EnumerateChildObjectsOfClassRootUsingBlockStopPointer(objectClass objc.Class, root *MDLObject, block func(*MDLObject, *bool), stopPointer *bool)

Executes the specified block using each object in this object’s child hierarchy.

func (*MDLObject) Hidden

func (o *MDLObject) Hidden() bool

func (*MDLObject) Instance

func (o *MDLObject) Instance() *MDLObject

@property instance @abstract Instance object @discussion nil, unless this object refers to original data to be instanced. The original data object can be any MDLObject that does not have a parent. If an MDLAsset has been created from a data file, any original objects parsed from that file will be found in the originals property. A typical use of a original and instance might be to have one original chair MDLObject, and instance six chairs around a table. The transform of each chair would be found on the parent MDLObject, but the various items making up the chair would be found in the original object.

func (*MDLObject) ObjectAtPath

func (o *MDLObject) ObjectAtPath(path *foundation.NSString) *MDLObject

Returns the child object at the specified path.

func (*MDLObject) ObjectForKeyedSubscript

func (o *MDLObject) ObjectForKeyedSubscript(key unsafe.Pointer) MDLComponent

@method objectForKeyedSubscript: @abstract Allows shorthand [key] syntax for componentConformingToProtocol:. @param key The protocol that the component conforms to. @see componentConformingToProtocol:

func (*MDLObject) Parent

func (o *MDLObject) Parent() *MDLObject

@property parent @abstract Parent object. Nil if no parent. @discussion Set to nil when you remove this from an object container inside the parent object.

func (*MDLObject) Path

func (o *MDLObject) Path() *foundation.NSString

@property path @abstract a string representing a path to the object @discussion a path is of the form /path/to/object where the path is formed by concatenating the names of the objects up the parent chain. Requesting a path will force any unnamed objects to became uniquely named. Any characters outside of [A-Z][a-z][0-9][:-_.] will be forced to underscore.

func (*MDLObject) SetChildren

func (o *MDLObject) SetChildren(children MDLObjectContainerComponent)

func (*MDLObject) SetComponentForProtocol

func (o *MDLObject) SetComponentForProtocol(component MDLComponent, protocol unsafe.Pointer)

Associates a component with the object for the specified protocol.

func (*MDLObject) SetHidden

func (o *MDLObject) SetHidden(hidden bool)

func (*MDLObject) SetInstance

func (o *MDLObject) SetInstance(instance *MDLObject)

func (*MDLObject) SetObjectForKeyedSubscript

func (o *MDLObject) SetObjectForKeyedSubscript(obj MDLComponent, key unsafe.Pointer)

@method setObject:forKeyedSubscript: @abstract Allows shorthand [key] syntax for setComponent:forProtocol:. @param key The protocol that the component conforms to. @see setComponent:forProtocol:

func (*MDLObject) SetParent

func (o *MDLObject) SetParent(parent *MDLObject)

func (*MDLObject) SetTransform

func (o *MDLObject) SetTransform(transform MDLTransformComponent)

func (*MDLObject) Transform

func (o *MDLObject) Transform() MDLTransformComponent

@property transform @abstract Short hand property for the MDLTransformComponent. @discussion The default value is nil @see MDLTransformComponent

type MDLObjectContainer

type MDLObjectContainer struct {
	foundation.NSObject
}

A default implementation for handling object hierarchy relationships in a 3D asset.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlobjectcontainer

func MDLObjectContainerFromID

func MDLObjectContainerFromID(id objc.ID) *MDLObjectContainer

type MDLObjectContainerComponent

type MDLObjectContainerComponent interface {
	MDLComponent
	foundation.NSFastEnumeration
	AddObject(object *MDLObject)
	RemoveObject(object *MDLObject)
	ObjectAtIndexedSubscript(index uint) *MDLObject
	Count() uint
	Objects() *foundation.NSArray[*MDLObject]
}

MDLObjectContainerComponent wraps the ObjC protocol MDLObjectContainerComponent.

type MDLPackedJointAnimation

type MDLPackedJointAnimation struct {
	MDLObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlpackedjointanimation

func MDLPackedJointAnimationFromID

func MDLPackedJointAnimationFromID(id objc.ID) *MDLPackedJointAnimation

func (*MDLPackedJointAnimation) InitWithNameJointPaths

func (*MDLPackedJointAnimation) JointPaths

func (*MDLPackedJointAnimation) Rotations

func (*MDLPackedJointAnimation) Scales

func (*MDLPackedJointAnimation) Translations

type MDLPathAssetResolver

type MDLPathAssetResolver struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlpathassetresolver

func MDLPathAssetResolverFromID

func MDLPathAssetResolverFromID(id objc.ID) *MDLPathAssetResolver

func (*MDLPathAssetResolver) InitWithPath

func (*MDLPathAssetResolver) Path

func (*MDLPathAssetResolver) SetPath

func (o *MDLPathAssetResolver) SetPath(path *foundation.NSString)

type MDLPhotometricLight

type MDLPhotometricLight struct {
	MDLPhysicallyPlausibleLight
}

A light source whose shape, direction, and intensity of illumination are determined by a photometric profile.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlphotometriclight

func MDLPhotometricLightFromID

func MDLPhotometricLightFromID(id objc.ID) *MDLPhotometricLight

func (*MDLPhotometricLight) GenerateCubemapFromLight

func (o *MDLPhotometricLight) GenerateCubemapFromLight(textureSize uint)

Generates a cube map texture from the light’s photometry data.

func (*MDLPhotometricLight) GenerateSphericalHarmonicsFromLight

func (o *MDLPhotometricLight) GenerateSphericalHarmonicsFromLight(sphericalHarmonicsLevel uint)

Generates spherical harmonics information based on the light’s photometry data.

func (*MDLPhotometricLight) GenerateTexture

func (o *MDLPhotometricLight) GenerateTexture(textureSize uint) *MDLTexture

@method generateTexture @abstract Generate an IES compliant MDLTexture 1D when the number of horizontal angles is one and the innerConeAngle is < 180 2D when the previous statement fails and innerConeAngle < 89 3D in all other cases the parameter textureSize is the size in pixels of the texture image. For a size of N, 1D generates an Nx1 image, 2D generates an NxN image, 3D generates an Nx(N*6) image (i.e. cubemap).

func (*MDLPhotometricLight) InitWithIESProfile

func (o *MDLPhotometricLight) InitWithIESProfile(url *foundation.NSURL) *MDLPhotometricLight

Initializes a light from photometry data in the file at the specified URL.

func (*MDLPhotometricLight) LightCubeMap

func (o *MDLPhotometricLight) LightCubeMap() *MDLTexture

func (*MDLPhotometricLight) SphericalHarmonicsCoefficients

func (o *MDLPhotometricLight) SphericalHarmonicsCoefficients() *foundation.NSData

func (*MDLPhotometricLight) SphericalHarmonicsLevel

func (o *MDLPhotometricLight) SphericalHarmonicsLevel() uint

type MDLPhysicallyPlausibleLight

type MDLPhysicallyPlausibleLight struct {
	MDLLight
}

A light source for use in shading models based on real-world physics.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlphysicallyplausiblelight

func MDLPhysicallyPlausibleLightFromID

func MDLPhysicallyPlausibleLightFromID(id objc.ID) *MDLPhysicallyPlausibleLight

func (*MDLPhysicallyPlausibleLight) AttenuationEndDistance

func (o *MDLPhysicallyPlausibleLight) AttenuationEndDistance() float32

func (*MDLPhysicallyPlausibleLight) AttenuationStartDistance

func (o *MDLPhysicallyPlausibleLight) AttenuationStartDistance() float32

func (*MDLPhysicallyPlausibleLight) Color

func (*MDLPhysicallyPlausibleLight) InnerConeAngle

func (o *MDLPhysicallyPlausibleLight) InnerConeAngle() float32

func (*MDLPhysicallyPlausibleLight) Lumens

func (*MDLPhysicallyPlausibleLight) OuterConeAngle

func (o *MDLPhysicallyPlausibleLight) OuterConeAngle() float32

func (*MDLPhysicallyPlausibleLight) SetAttenuationEndDistance

func (o *MDLPhysicallyPlausibleLight) SetAttenuationEndDistance(attenuationEndDistance float32)

func (*MDLPhysicallyPlausibleLight) SetAttenuationStartDistance

func (o *MDLPhysicallyPlausibleLight) SetAttenuationStartDistance(attenuationStartDistance float32)

func (*MDLPhysicallyPlausibleLight) SetColor

func (o *MDLPhysicallyPlausibleLight) SetColor(color unsafe.Pointer)

func (*MDLPhysicallyPlausibleLight) SetColorByTemperature

func (o *MDLPhysicallyPlausibleLight) SetColorByTemperature(temperature float32)

Sets the light’s color based on a black-body temperature.

func (*MDLPhysicallyPlausibleLight) SetInnerConeAngle

func (o *MDLPhysicallyPlausibleLight) SetInnerConeAngle(innerConeAngle float32)

func (*MDLPhysicallyPlausibleLight) SetLumens

func (o *MDLPhysicallyPlausibleLight) SetLumens(lumens float32)

func (*MDLPhysicallyPlausibleLight) SetOuterConeAngle

func (o *MDLPhysicallyPlausibleLight) SetOuterConeAngle(outerConeAngle float32)

type MDLPhysicallyPlausibleScatteringFunction

type MDLPhysicallyPlausibleScatteringFunction struct {
	MDLScatteringFunction
}

A set of material properties that describes a physically realistic shading model for materials.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlphysicallyplausiblescatteringfunction

func MDLPhysicallyPlausibleScatteringFunctionFromID

func MDLPhysicallyPlausibleScatteringFunctionFromID(id objc.ID) *MDLPhysicallyPlausibleScatteringFunction

func (*MDLPhysicallyPlausibleScatteringFunction) Anisotropic

func (*MDLPhysicallyPlausibleScatteringFunction) AnisotropicRotation

func (*MDLPhysicallyPlausibleScatteringFunction) Clearcoat

func (*MDLPhysicallyPlausibleScatteringFunction) ClearcoatGloss

func (*MDLPhysicallyPlausibleScatteringFunction) Metallic

func (*MDLPhysicallyPlausibleScatteringFunction) Roughness

func (*MDLPhysicallyPlausibleScatteringFunction) Sheen

func (*MDLPhysicallyPlausibleScatteringFunction) SheenTint

func (*MDLPhysicallyPlausibleScatteringFunction) SpecularAmount

func (*MDLPhysicallyPlausibleScatteringFunction) SpecularTint

func (*MDLPhysicallyPlausibleScatteringFunction) Subsurface

type MDLProbePlacement

type MDLProbePlacement int64

Options affecting automatic placement of light probes in a scene, used with the placeLightProbesWithDensity:heuristic:usingIrradianceDataSource: method.

const (
	// An option to place light probes at each unit coordinate in a three-dimensional grid that evenly divides the region being evaluated.
	MDLProbePlacementUniformGrid MDLProbePlacement = 0
	// An option to examine the lighting conditions at various positions in the scene being evaluated, then place light probes only at the locations where each contributes optimally to scene lighting.
	MDLProbePlacementIrradianceDistribution MDLProbePlacement = 1
)

func (MDLProbePlacement) String

func (e MDLProbePlacement) String() string

type MDLRelativeAssetResolver

type MDLRelativeAssetResolver struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlrelativeassetresolver

func MDLRelativeAssetResolverFromID

func MDLRelativeAssetResolverFromID(id objc.ID) *MDLRelativeAssetResolver

func (*MDLRelativeAssetResolver) Asset

func (o *MDLRelativeAssetResolver) Asset() *MDLAsset

func (*MDLRelativeAssetResolver) InitWithAsset

func (*MDLRelativeAssetResolver) SetAsset

func (o *MDLRelativeAssetResolver) SetAsset(asset *MDLAsset)

type MDLScatteringFunction

type MDLScatteringFunction struct {
	foundation.NSObject
}

A set of material properties that describes a basic shading model for materials, and the superclass for more complex shading models.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlscatteringfunction

func MDLScatteringFunctionFromID

func MDLScatteringFunctionFromID(id objc.ID) *MDLScatteringFunction

func (*MDLScatteringFunction) AmbientOcclusion

func (o *MDLScatteringFunction) AmbientOcclusion() *MDLMaterialProperty

func (*MDLScatteringFunction) AmbientOcclusionScale

func (o *MDLScatteringFunction) AmbientOcclusionScale() *MDLMaterialProperty

func (*MDLScatteringFunction) BaseColor

func (*MDLScatteringFunction) Emission

func (*MDLScatteringFunction) InterfaceIndexOfRefraction

func (o *MDLScatteringFunction) InterfaceIndexOfRefraction() *MDLMaterialProperty

func (*MDLScatteringFunction) MaterialIndexOfRefraction

func (o *MDLScatteringFunction) MaterialIndexOfRefraction() *MDLMaterialProperty

func (*MDLScatteringFunction) Name

@see MDLNamed

func (*MDLScatteringFunction) Normal

func (*MDLScatteringFunction) SetName

func (o *MDLScatteringFunction) SetName(name *foundation.NSString)

func (*MDLScatteringFunction) Specular

type MDLSkeleton

type MDLSkeleton struct {
	MDLObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlskeleton

func MDLSkeletonFromID

func MDLSkeletonFromID(id objc.ID) *MDLSkeleton

func (*MDLSkeleton) InitWithNameJointPaths

func (o *MDLSkeleton) InitWithNameJointPaths(name *foundation.NSString, jointPaths *foundation.NSArray[*foundation.NSString]) *MDLSkeleton

func (*MDLSkeleton) JointBindTransforms

func (o *MDLSkeleton) JointBindTransforms() *MDLMatrix4x4Array

func (*MDLSkeleton) JointPaths

func (o *MDLSkeleton) JointPaths() *foundation.NSArray[*foundation.NSString]

func (*MDLSkeleton) JointRestTransforms

func (o *MDLSkeleton) JointRestTransforms() *MDLMatrix4x4Array

type MDLSkyCubeTexture

type MDLSkyCubeTexture struct {
	MDLTexture
}

A generator of texel data that creates cube textures using a physically realistic simulation of the sunlit sky.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlskycubetexture

func MDLSkyCubeTextureFromID

func MDLSkyCubeTextureFromID(id objc.ID) *MDLSkyCubeTexture

func (*MDLSkyCubeTexture) Brightness

func (o *MDLSkyCubeTexture) Brightness() float32

func (*MDLSkyCubeTexture) Contrast

func (o *MDLSkyCubeTexture) Contrast() float32

func (*MDLSkyCubeTexture) Exposure

func (o *MDLSkyCubeTexture) Exposure() float32

func (*MDLSkyCubeTexture) Gamma

func (o *MDLSkyCubeTexture) Gamma() float32

func (*MDLSkyCubeTexture) GroundAlbedo

func (o *MDLSkyCubeTexture) GroundAlbedo() float32

func (*MDLSkyCubeTexture) GroundColor

func (o *MDLSkyCubeTexture) GroundColor() unsafe.Pointer

func (*MDLSkyCubeTexture) HighDynamicRangeCompression

func (o *MDLSkyCubeTexture) HighDynamicRangeCompression() unsafe.Pointer

func (*MDLSkyCubeTexture) HorizonElevation

func (o *MDLSkyCubeTexture) HorizonElevation() float32

func (*MDLSkyCubeTexture) InitWithNameChannelEncodingTextureDimensionsTurbiditySunElevationSunAzimuthUpperAtmosphereScatteringGroundAlbedo

func (o *MDLSkyCubeTexture) InitWithNameChannelEncodingTextureDimensionsTurbiditySunElevationSunAzimuthUpperAtmosphereScatteringGroundAlbedo(name *foundation.NSString, channelEncoding MDLTextureChannelEncoding, textureDimensions unsafe.Pointer, turbidity float32, sunElevation float32, sunAzimuth float32, upperAtmosphereScattering float32, groundAlbedo float32) *MDLSkyCubeTexture

func (*MDLSkyCubeTexture) InitWithNameChannelEncodingTextureDimensionsTurbiditySunElevationUpperAtmosphereScatteringGroundAlbedo

func (o *MDLSkyCubeTexture) InitWithNameChannelEncodingTextureDimensionsTurbiditySunElevationUpperAtmosphereScatteringGroundAlbedo(name *foundation.NSString, channelEncoding MDLTextureChannelEncoding, textureDimensions unsafe.Pointer, turbidity float32, sunElevation float32, upperAtmosphereScattering float32, groundAlbedo float32) *MDLSkyCubeTexture

Initializes a sky cube texture object with the specified parameters.

func (*MDLSkyCubeTexture) Saturation

func (o *MDLSkyCubeTexture) Saturation() float32

func (*MDLSkyCubeTexture) SetBrightness

func (o *MDLSkyCubeTexture) SetBrightness(brightness float32)

func (*MDLSkyCubeTexture) SetContrast

func (o *MDLSkyCubeTexture) SetContrast(contrast float32)

func (*MDLSkyCubeTexture) SetExposure

func (o *MDLSkyCubeTexture) SetExposure(exposure float32)

func (*MDLSkyCubeTexture) SetGamma

func (o *MDLSkyCubeTexture) SetGamma(gamma float32)

func (*MDLSkyCubeTexture) SetGroundAlbedo

func (o *MDLSkyCubeTexture) SetGroundAlbedo(groundAlbedo float32)

func (*MDLSkyCubeTexture) SetGroundColor

func (o *MDLSkyCubeTexture) SetGroundColor(groundColor unsafe.Pointer)

func (*MDLSkyCubeTexture) SetHighDynamicRangeCompression

func (o *MDLSkyCubeTexture) SetHighDynamicRangeCompression(highDynamicRangeCompression unsafe.Pointer)

func (*MDLSkyCubeTexture) SetHorizonElevation

func (o *MDLSkyCubeTexture) SetHorizonElevation(horizonElevation float32)

func (*MDLSkyCubeTexture) SetSaturation

func (o *MDLSkyCubeTexture) SetSaturation(saturation float32)

func (*MDLSkyCubeTexture) SetSunAzimuth

func (o *MDLSkyCubeTexture) SetSunAzimuth(sunAzimuth float32)

func (*MDLSkyCubeTexture) SetSunElevation

func (o *MDLSkyCubeTexture) SetSunElevation(sunElevation float32)

func (*MDLSkyCubeTexture) SetTurbidity

func (o *MDLSkyCubeTexture) SetTurbidity(turbidity float32)

func (*MDLSkyCubeTexture) SetUpperAtmosphereScattering

func (o *MDLSkyCubeTexture) SetUpperAtmosphereScattering(upperAtmosphereScattering float32)

func (*MDLSkyCubeTexture) SunAzimuth

func (o *MDLSkyCubeTexture) SunAzimuth() float32

func (*MDLSkyCubeTexture) SunElevation

func (o *MDLSkyCubeTexture) SunElevation() float32

func (*MDLSkyCubeTexture) Turbidity

func (o *MDLSkyCubeTexture) Turbidity() float32

func (*MDLSkyCubeTexture) UpdateTexture

func (o *MDLSkyCubeTexture) UpdateTexture()

Generates new texel data matching the current sky parameters.

func (*MDLSkyCubeTexture) UpperAtmosphereScattering

func (o *MDLSkyCubeTexture) UpperAtmosphereScattering() float32

type MDLStereoscopicCamera

type MDLStereoscopicCamera struct {
	MDLCamera
}

A point of view for rendering a stereoscopic display of a 3D scene.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlstereoscopiccamera

func MDLStereoscopicCameraFromID

func MDLStereoscopicCameraFromID(id objc.ID) *MDLStereoscopicCamera

func (*MDLStereoscopicCamera) InterPupillaryDistance

func (o *MDLStereoscopicCamera) InterPupillaryDistance() float32

Inter-pupillary distance in mm. Default is 63mm.

func (*MDLStereoscopicCamera) LeftProjectionMatrix

func (o *MDLStereoscopicCamera) LeftProjectionMatrix() unsafe.Pointer

func (*MDLStereoscopicCamera) LeftVergence

func (o *MDLStereoscopicCamera) LeftVergence() float32

func (*MDLStereoscopicCamera) LeftViewMatrix

func (o *MDLStereoscopicCamera) LeftViewMatrix() unsafe.Pointer

Convenience utilities to create view and projection matrices. The view matrix calculations requires that the world to meters conversion scale be set. @see worldToMetersConversionScale

func (*MDLStereoscopicCamera) Overlap

func (o *MDLStereoscopicCamera) Overlap() float32

The amount, as a percentage of image width to offset an image towards the other camera. This value is used in a stereo grade to enhance or reduce the intensity of the stereoscopic effect

func (*MDLStereoscopicCamera) RightProjectionMatrix

func (o *MDLStereoscopicCamera) RightProjectionMatrix() unsafe.Pointer

func (*MDLStereoscopicCamera) RightVergence

func (o *MDLStereoscopicCamera) RightVergence() float32

func (*MDLStereoscopicCamera) RightViewMatrix

func (o *MDLStereoscopicCamera) RightViewMatrix() unsafe.Pointer

func (*MDLStereoscopicCamera) SetInterPupillaryDistance

func (o *MDLStereoscopicCamera) SetInterPupillaryDistance(interPupillaryDistance float32)

func (*MDLStereoscopicCamera) SetLeftVergence

func (o *MDLStereoscopicCamera) SetLeftVergence(leftVergence float32)

func (*MDLStereoscopicCamera) SetOverlap

func (o *MDLStereoscopicCamera) SetOverlap(overlap float32)

func (*MDLStereoscopicCamera) SetRightVergence

func (o *MDLStereoscopicCamera) SetRightVergence(rightVergence float32)

type MDLSubmesh

type MDLSubmesh struct {
	foundation.NSObject
}

A container for index buffer data and material information to be used in rendering all or part of a 3D object.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlsubmesh

func MDLSubmeshFromID

func MDLSubmeshFromID(id objc.ID) *MDLSubmesh

func (*MDLSubmesh) GeometryType

func (o *MDLSubmesh) GeometryType() MDLGeometryType

@property geometryType @abstract Type of primitive that vertices referenced by the indexBuffer are assembled into

func (*MDLSubmesh) IndexBuffer

func (o *MDLSubmesh) IndexBuffer() MDLMeshBuffer

@property indexBuffer @abstract Index data referencing vertex data in parent mesh

func (*MDLSubmesh) IndexBufferAsIndexType

func (o *MDLSubmesh) IndexBufferAsIndexType(indexType MDLIndexBitDepth) MDLMeshBuffer

func (*MDLSubmesh) IndexCount

func (o *MDLSubmesh) IndexCount() uint

@property indexCount @abstract Number of indices in the indexBuffer

func (*MDLSubmesh) IndexType

func (o *MDLSubmesh) IndexType() MDLIndexBitDepth

@property indexType @abstract Data type of indices in indexBuffer @discussion Support 8, 16, and 32 bit unsigned integer values

func (*MDLSubmesh) InitWithIndexBufferIndexCountIndexTypeGeometryTypeMaterial

func (o *MDLSubmesh) InitWithIndexBufferIndexCountIndexTypeGeometryTypeMaterial(indexBuffer MDLMeshBuffer, indexCount uint, indexType MDLIndexBitDepth, geometryType MDLGeometryType, material *MDLMaterial) *MDLSubmesh

Initializes a submesh with an index buffer and the specified properties.

func (*MDLSubmesh) InitWithMDLSubmeshIndexTypeGeometryType

func (o *MDLSubmesh) InitWithMDLSubmeshIndexTypeGeometryType(submesh *MDLSubmesh, indexType MDLIndexBitDepth, geometryType MDLGeometryType) *MDLSubmesh

Initializes a submesh by copying or converting another submesh.

func (*MDLSubmesh) InitWithNameIndexBufferIndexCountIndexTypeGeometryTypeMaterial

func (o *MDLSubmesh) InitWithNameIndexBufferIndexCountIndexTypeGeometryTypeMaterial(name *foundation.NSString, indexBuffer MDLMeshBuffer, indexCount uint, indexType MDLIndexBitDepth, geometryType MDLGeometryType, material *MDLMaterial) *MDLSubmesh

Initializes a named submesh with an index buffer and the specified properties.

func (*MDLSubmesh) InitWithNameIndexBufferIndexCountIndexTypeGeometryTypeMaterialTopology

func (o *MDLSubmesh) InitWithNameIndexBufferIndexCountIndexTypeGeometryTypeMaterialTopology(name *foundation.NSString, indexBuffer MDLMeshBuffer, indexCount uint, indexType MDLIndexBitDepth, geometryType MDLGeometryType, material *MDLMaterial, topology *MDLSubmeshTopology) *MDLSubmesh

Initializes a named submesh with a specific topology.

func (*MDLSubmesh) Material

func (o *MDLSubmesh) Material() *MDLMaterial

@property material @abstract Material to apply when rendering this object

func (*MDLSubmesh) Name

func (o *MDLSubmesh) Name() *foundation.NSString

@property name @abstract Identifying name for this object

func (*MDLSubmesh) SetMaterial

func (o *MDLSubmesh) SetMaterial(material *MDLMaterial)

func (*MDLSubmesh) SetName

func (o *MDLSubmesh) SetName(name *foundation.NSString)

func (*MDLSubmesh) SetTopology

func (o *MDLSubmesh) SetTopology(topology *MDLSubmeshTopology)

func (*MDLSubmesh) Topology

func (o *MDLSubmesh) Topology() *MDLSubmeshTopology

@property topology @abstract Topology data structure for use with MDLGeometryTypeVariableTopology @discussion ignored for geometry types other than MDLGeometryTypeVariableTopology. A submesh of type MDLGeometryTypeVariableTopology with no topology data is an empty submesh.

type MDLSubmeshTopology

type MDLSubmeshTopology struct {
	foundation.NSObject
}

A description of how a submesh’s index buffer data is arranged and how that arrangement should be used to produce the submesh’s intended 3D shape.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlsubmeshtopology

func MDLSubmeshTopologyFromID

func MDLSubmeshTopologyFromID(id objc.ID) *MDLSubmeshTopology

func (*MDLSubmeshTopology) EdgeCreaseCount

func (o *MDLSubmeshTopology) EdgeCreaseCount() uint

@property edgeCreaseCount @abstract The number of edge creases encoded in edgeCreases

func (*MDLSubmeshTopology) EdgeCreaseIndices

func (o *MDLSubmeshTopology) EdgeCreaseIndices() MDLMeshBuffer

A crease value at an edge to be applied during subdivision. Edge creases A zero value is smooth, a one value is peaked. It is intended to be used with an index buffer, where the index buffer entries are edge index pairs. Accordingly, there will be two index entries for each edge sharpness entry, and the sharpness entry corresponds to the edge itself. The corresponding values in the edge sharpness attribute indicate the edge sharpness of those edges. The index buffer is sparse. If a mesh has three sharp edges, then the index buffer will have six entries. Since the number of entries in this vertex buffer is likely to be different than the number of entries in any other vertex buffer, it shouldn't be interleaved with other data.

func (*MDLSubmeshTopology) EdgeCreases

func (o *MDLSubmeshTopology) EdgeCreases() MDLMeshBuffer

func (*MDLSubmeshTopology) FaceCount

func (o *MDLSubmeshTopology) FaceCount() uint

@property faceCount @abstract The number of faces encoded in faceTopologyBuffer

func (*MDLSubmeshTopology) FaceTopology

func (o *MDLSubmeshTopology) FaceTopology() MDLMeshBuffer

@property faceTopologyBuffer @abstract A buffer of 8 bit unsigned integer values, where each entry corresponds to the number of vertices making up a face. @discussion A submesh containing two triangles, a four sided polygon, and a line, would contain the data 3 3 4 2. If geometryType is of a fixed type, such as triangles, the buffer is optional, and will be created on demand if read. Indices to the vertex buffer will be stored in the index buffer correspondingly. In the example above, the indices would be stored in order, three indices for the first triangle, followed by three for the second, followed by four for the polygon, and finally two indices for the line.

func (*MDLSubmeshTopology) HoleCount

func (o *MDLSubmeshTopology) HoleCount() uint

@property holeCount @abstract The number of holes encoded in holes

func (*MDLSubmeshTopology) Holes

func (o *MDLSubmeshTopology) Holes() MDLMeshBuffer

The hole attribute is a vertex attribute of single integer values where each integer is an index of a face that is to be used as a hole. If there are two holes in a mesh, then the vertex buffer will have two entries. Since the number of entries in this vertex buffer is likely to be different than the number of entries in any other vertex buffer, it shouldn't be interleaved with other data.

func (*MDLSubmeshTopology) InitWithSubmesh

func (o *MDLSubmeshTopology) InitWithSubmesh(submesh *MDLSubmesh) *MDLSubmeshTopology

@method initWithSubmesh: @abstract create a topology object corresponding to the topology in the submesh

func (*MDLSubmeshTopology) SetEdgeCreaseCount

func (o *MDLSubmeshTopology) SetEdgeCreaseCount(edgeCreaseCount uint)

func (*MDLSubmeshTopology) SetEdgeCreaseIndices

func (o *MDLSubmeshTopology) SetEdgeCreaseIndices(edgeCreaseIndices MDLMeshBuffer)

func (*MDLSubmeshTopology) SetEdgeCreases

func (o *MDLSubmeshTopology) SetEdgeCreases(edgeCreases MDLMeshBuffer)

func (*MDLSubmeshTopology) SetFaceCount

func (o *MDLSubmeshTopology) SetFaceCount(faceCount uint)

func (*MDLSubmeshTopology) SetFaceTopology

func (o *MDLSubmeshTopology) SetFaceTopology(faceTopology MDLMeshBuffer)

func (*MDLSubmeshTopology) SetHoleCount

func (o *MDLSubmeshTopology) SetHoleCount(holeCount uint)

func (*MDLSubmeshTopology) SetHoles

func (o *MDLSubmeshTopology) SetHoles(holes MDLMeshBuffer)

func (*MDLSubmeshTopology) SetVertexCreaseCount

func (o *MDLSubmeshTopology) SetVertexCreaseCount(vertexCreaseCount uint)

func (*MDLSubmeshTopology) SetVertexCreaseIndices

func (o *MDLSubmeshTopology) SetVertexCreaseIndices(vertexCreaseIndices MDLMeshBuffer)

func (*MDLSubmeshTopology) SetVertexCreases

func (o *MDLSubmeshTopology) SetVertexCreases(vertexCreases MDLMeshBuffer)

func (*MDLSubmeshTopology) VertexCreaseCount

func (o *MDLSubmeshTopology) VertexCreaseCount() uint

@property vertexCreaseCount @abstract The number of vertex creases encoded in vertexCreases

func (*MDLSubmeshTopology) VertexCreaseIndices

func (o *MDLSubmeshTopology) VertexCreaseIndices() MDLMeshBuffer

A crease value at a vertex to be applied during subdivision. Vertex creases A zero value is smooth, a one value is peaked. It is intended to be used with an index buffer, where the index buffer entries are vertex indices. The corresponding values in the corner sharpness attribute indicate the corner sharpness of those vertices. The index buffer is sparse. If a mesh has three sharp vertices, then the index buffer will have three entries. Since the number of entries in this vertex buffer is likely to be different than the number of entries in any other vertex buffer, it shouldn't be interleaved with other data.

func (*MDLSubmeshTopology) VertexCreases

func (o *MDLSubmeshTopology) VertexCreases() MDLMeshBuffer

type MDLTexture

type MDLTexture struct {
	foundation.NSObject
}

A source of texel data to be used in rendering material surface appearances.

Apple documentation: https://developer.apple.com/documentation/modelio/mdltexture

func MDLTextureFromID

func MDLTextureFromID(id objc.ID) *MDLTexture

func MDLTextureIrradianceTextureCubeWithTextureNameDimensions

func MDLTextureIrradianceTextureCubeWithTextureNameDimensions(texture *MDLTexture, name *foundation.NSString, dimensions unsafe.Pointer) *MDLTexture

Generates an irradiance texture from the specified reflectance cube texture.

func MDLTextureIrradianceTextureCubeWithTextureNameDimensionsRoughness

func MDLTextureIrradianceTextureCubeWithTextureNameDimensionsRoughness(texture *MDLTexture, name *foundation.NSString, dimensions unsafe.Pointer, roughness float32) *MDLTexture

Generates an irradiance texture from the specified reflectance cube texture, assuming a surface of the specified roughness.

func MDLTextureTextureCubeWithImagesNamed

func MDLTextureTextureCubeWithImagesNamed(names *foundation.NSArray[*foundation.NSString]) *MDLTexture

Loads a cube texture from the specified image files in the app’s main bundle.

func MDLTextureTextureCubeWithImagesNamedBundle

func MDLTextureTextureCubeWithImagesNamedBundle(names *foundation.NSArray[*foundation.NSString], bundleOrNil *foundation.NSBundle) *MDLTexture

Loads a cube texture from the specified image files in the specified bundle.

func MDLTextureTextureNamed

func MDLTextureTextureNamed(name *foundation.NSString) *MDLTexture

Loads the texture with the specified filename from the app’s main bundle.

func MDLTextureTextureNamedAssetResolver

func MDLTextureTextureNamedAssetResolver(name *foundation.NSString, resolver MDLAssetResolver) *MDLTexture

func MDLTextureTextureNamedBundle

func MDLTextureTextureNamedBundle(name *foundation.NSString, bundleOrNil *foundation.NSBundle) *MDLTexture

Loads the texture with the specified filename from the specified bundle.

func (*MDLTexture) ChannelCount

func (o *MDLTexture) ChannelCount() uint

func (*MDLTexture) ChannelEncoding

func (o *MDLTexture) ChannelEncoding() MDLTextureChannelEncoding

func (*MDLTexture) Dimensions

func (o *MDLTexture) Dimensions() unsafe.Pointer

func (*MDLTexture) HasAlphaValues

func (o *MDLTexture) HasAlphaValues() bool

hasAlphaValues @summary Can be overridden. If not overridden, hasAlpha will be NO if the texture does not have an alpha channel. It wil be YES if the texture has an alpha channel and there is at least one non-opaque texel in it.

func (*MDLTexture) ImageFromTexture

func (o *MDLTexture) ImageFromTexture() unsafe.Pointer

Exports the texture data as a CoreGraphics image.

func (*MDLTexture) ImageFromTextureAtLevel

func (o *MDLTexture) ImageFromTextureAtLevel(level uint) unsafe.Pointer

func (*MDLTexture) Init

func (o *MDLTexture) Init() *MDLTexture

func (*MDLTexture) InitWithDataTopLeftOriginNameDimensionsRowStrideChannelCountChannelEncodingIsCube

func (o *MDLTexture) InitWithDataTopLeftOriginNameDimensionsRowStrideChannelCountChannelEncodingIsCube(pixelData *foundation.NSData, topLeftOrigin bool, name *foundation.NSString, dimensions unsafe.Pointer, rowStride int, channelCount uint, channelEncoding MDLTextureChannelEncoding, isCube bool) *MDLTexture

Initializes a texture object with the specified image data and properties.

func (*MDLTexture) IsCube

func (o *MDLTexture) IsCube() bool

func (*MDLTexture) MipLevelCount

func (o *MDLTexture) MipLevelCount() uint

func (*MDLTexture) RowStride

func (o *MDLTexture) RowStride() int

func (*MDLTexture) SetHasAlphaValues

func (o *MDLTexture) SetHasAlphaValues(hasAlphaValues bool)

func (*MDLTexture) SetIsCube

func (o *MDLTexture) SetIsCube(isCube bool)

func (*MDLTexture) TexelDataWithBottomLeftOrigin

func (o *MDLTexture) TexelDataWithBottomLeftOrigin() *foundation.NSData

Returns the texture’s image data, organized such that its first pixel represents the bottom-left corner of the image.

func (*MDLTexture) TexelDataWithBottomLeftOriginAtMipLevelCreate

func (o *MDLTexture) TexelDataWithBottomLeftOriginAtMipLevelCreate(level int, create bool) *foundation.NSData

Returns the texture’s image data for the specified mipmap level, organized such that its first pixel represents the bottom-left corner of the image.

func (*MDLTexture) TexelDataWithTopLeftOrigin

func (o *MDLTexture) TexelDataWithTopLeftOrigin() *foundation.NSData

Returns the texture’s image data, organized such that its first pixel represents the top-left corner of the image.

func (*MDLTexture) TexelDataWithTopLeftOriginAtMipLevelCreate

func (o *MDLTexture) TexelDataWithTopLeftOriginAtMipLevelCreate(level int, create bool) *foundation.NSData

Returns the texture’s image data for the specified mipmap level, organized such that its first pixel represents the top-left corner of the image.

func (*MDLTexture) WriteToURL

func (o *MDLTexture) WriteToURL(url *foundation.NSURL) bool

Exports the texture data to an image file at the specified URL.

func (*MDLTexture) WriteToURLLevel

func (o *MDLTexture) WriteToURLLevel(url *foundation.NSURL, level uint) bool

write a particular level of a mipped texture to URL, deducing type from path extension

func (*MDLTexture) WriteToURLType

func (o *MDLTexture) WriteToURLType(nsurl *foundation.NSURL, type_ unsafe.Pointer) bool

Exports the texture data to an image file at the specified URL, of the specified type.

func (*MDLTexture) WriteToURLTypeLevel

func (o *MDLTexture) WriteToURLTypeLevel(nsurl *foundation.NSURL, type_ unsafe.Pointer, level uint) bool

write a particular level of a mipped texture to URL, using a specific UT type

type MDLTextureChannelEncoding

type MDLTextureChannelEncoding int64

Options for the data size and type of texel channel values, used by the channelEncoding property.

const (
	// Each channel value per texel is an 8-bit unsigned integer.
	MDLTextureChannelEncodingUInt8 MDLTextureChannelEncoding = 1
	// Each channel value per texel is an 8-bit unsigned integer.
	MDLTextureChannelEncodingUint8 MDLTextureChannelEncoding = 1
	// Each channel value per texel is a 16-bit unsigned integer.
	MDLTextureChannelEncodingUInt16 MDLTextureChannelEncoding = 2
	// Each channel value per texel is a 16-bit unsigned integer.
	MDLTextureChannelEncodingUint16 MDLTextureChannelEncoding = 2
	// Each channel value per texel is a 24-bit unsigned integer.
	MDLTextureChannelEncodingUInt24 MDLTextureChannelEncoding = 3
	// Each channel value per texel is a 24-bit unsigned integer.
	MDLTextureChannelEncodingUint24 MDLTextureChannelEncoding = 3
	// Each channel value per texel is a 32-bit unsigned integer.
	MDLTextureChannelEncodingUInt32 MDLTextureChannelEncoding = 4
	// Each channel value per texel is a 32-bit unsigned integer.
	MDLTextureChannelEncodingUint32 MDLTextureChannelEncoding = 4
	// Each channel value per texel is a 16-bit floating-point value.
	MDLTextureChannelEncodingFloat16   MDLTextureChannelEncoding = 258
	MDLTextureChannelEncodingFloat16SR MDLTextureChannelEncoding = 770
	// Each channel value per texel is a 32-bit floating-point value.
	MDLTextureChannelEncodingFloat32 MDLTextureChannelEncoding = 260
)

func (MDLTextureChannelEncoding) String

func (e MDLTextureChannelEncoding) String() string

type MDLTextureFilter

type MDLTextureFilter struct {
	foundation.NSObject
}

A description of filtering modes for a renderer to use when sampling from a texture.

Apple documentation: https://developer.apple.com/documentation/modelio/mdltexturefilter

func MDLTextureFilterFromID

func MDLTextureFilterFromID(id objc.ID) *MDLTextureFilter

func (*MDLTextureFilter) MagFilter

func (*MDLTextureFilter) MinFilter

func (*MDLTextureFilter) MipFilter

func (*MDLTextureFilter) RWrapMode

func (*MDLTextureFilter) SWrapMode

func (*MDLTextureFilter) SetMagFilter

func (o *MDLTextureFilter) SetMagFilter(magFilter MDLMaterialTextureFilterMode)

func (*MDLTextureFilter) SetMinFilter

func (o *MDLTextureFilter) SetMinFilter(minFilter MDLMaterialTextureFilterMode)

func (*MDLTextureFilter) SetMipFilter

func (o *MDLTextureFilter) SetMipFilter(mipFilter MDLMaterialMipMapFilterMode)

func (*MDLTextureFilter) SetRWrapMode

func (o *MDLTextureFilter) SetRWrapMode(rWrapMode MDLMaterialTextureWrapMode)

func (*MDLTextureFilter) SetSWrapMode

func (o *MDLTextureFilter) SetSWrapMode(sWrapMode MDLMaterialTextureWrapMode)

func (*MDLTextureFilter) SetTWrapMode

func (o *MDLTextureFilter) SetTWrapMode(tWrapMode MDLMaterialTextureWrapMode)

func (*MDLTextureFilter) TWrapMode

type MDLTextureSampler

type MDLTextureSampler struct {
	foundation.NSObject
}

An object that pairs a source of texture data with sampling parameters to be used in rendering the texture.

Apple documentation: https://developer.apple.com/documentation/modelio/mdltexturesampler

func MDLTextureSamplerFromID

func MDLTextureSamplerFromID(id objc.ID) *MDLTextureSampler

func (*MDLTextureSampler) HardwareFilter

func (o *MDLTextureSampler) HardwareFilter() *MDLTextureFilter

func (*MDLTextureSampler) SetHardwareFilter

func (o *MDLTextureSampler) SetHardwareFilter(hardwareFilter *MDLTextureFilter)

func (*MDLTextureSampler) SetTexture

func (o *MDLTextureSampler) SetTexture(texture *MDLTexture)

func (*MDLTextureSampler) SetTransform

func (o *MDLTextureSampler) SetTransform(transform *MDLTransform)

func (*MDLTextureSampler) Texture

func (o *MDLTextureSampler) Texture() *MDLTexture

func (*MDLTextureSampler) Transform

func (o *MDLTextureSampler) Transform() *MDLTransform

type MDLTransform

type MDLTransform struct {
	foundation.NSObject
}

A description of the local coordinate space transformations for a 3D object.

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransform

func MDLTransformFromID

func MDLTransformFromID(id objc.ID) *MDLTransform

func (*MDLTransform) Init

func (o *MDLTransform) Init() *MDLTransform

@method init @discussion Initialize an MDLTransform's matrices with identity

func (*MDLTransform) InitWithIdentity

func (o *MDLTransform) InitWithIdentity() *MDLTransform

Initializes a transform object to the identity transformation. Deprecated: since macOS 10.13.

func (*MDLTransform) InitWithMatrix

func (o *MDLTransform) InitWithMatrix(matrix unsafe.Pointer) *MDLTransform

Initializes a transform object with the specified transform matrix.

func (*MDLTransform) InitWithMatrixResetsTransform

func (o *MDLTransform) InitWithMatrixResetsTransform(matrix unsafe.Pointer, resetsTransform bool) *MDLTransform

func (*MDLTransform) InitWithTransformComponent

func (o *MDLTransform) InitWithTransformComponent(component MDLTransformComponent) *MDLTransform

Initializes a transform object to match the specified transform component. Deprecated: since macOS 10.13.

func (*MDLTransform) InitWithTransformComponentResetsTransform deprecated

func (o *MDLTransform) InitWithTransformComponentResetsTransform(component MDLTransformComponent, resetsTransform bool) *MDLTransform

Deprecated: since macOS 10.13.

func (*MDLTransform) Rotation

func (o *MDLTransform) Rotation() unsafe.Pointer

func (*MDLTransform) RotationAtTime

func (o *MDLTransform) RotationAtTime(time_ float64) unsafe.Pointer

Returns the orientation of the transform relative to its parent coordinate space, as of the specified time sample.

func (*MDLTransform) RotationMatrixAtTime

func (o *MDLTransform) RotationMatrixAtTime(time_ float64) unsafe.Pointer

Returns the orientation of the transform as a rotation matrix, as of the specified time sample.

func (*MDLTransform) Scale

func (o *MDLTransform) Scale() unsafe.Pointer

func (*MDLTransform) ScaleAtTime

func (o *MDLTransform) ScaleAtTime(time_ float64) unsafe.Pointer

Returns the x-, y-, and z-axis scale factors of the transform relative to its parent coordinate space, as of the specified time sample.

func (*MDLTransform) SetIdentity

func (o *MDLTransform) SetIdentity()

Sets all factors of the transform to those of the identity transformation.

func (*MDLTransform) SetMatrixForTime

func (o *MDLTransform) SetMatrixForTime(matrix unsafe.Pointer, time_ float64)

func (*MDLTransform) SetRotation

func (o *MDLTransform) SetRotation(rotation unsafe.Pointer)

func (*MDLTransform) SetRotationForTime

func (o *MDLTransform) SetRotationForTime(rotation unsafe.Pointer, time_ float64)

Sets the orientation of the transform for the specified time sample.

func (*MDLTransform) SetScale

func (o *MDLTransform) SetScale(scale unsafe.Pointer)

func (*MDLTransform) SetScaleForTime

func (o *MDLTransform) SetScaleForTime(scale unsafe.Pointer, time_ float64)

Sets the x-, y-, and z-axis scale factors of the transform for the specified time sample.

func (*MDLTransform) SetShear

func (o *MDLTransform) SetShear(shear unsafe.Pointer)

func (*MDLTransform) SetShearForTime

func (o *MDLTransform) SetShearForTime(shear unsafe.Pointer, time_ float64)

Sets the x-, y-, and z-axis shear factors of the transform for the specified time sample.

func (*MDLTransform) SetTranslation

func (o *MDLTransform) SetTranslation(translation unsafe.Pointer)

func (*MDLTransform) SetTranslationForTime

func (o *MDLTransform) SetTranslationForTime(translation unsafe.Pointer, time_ float64)

Sets the x-, y-, and z-axis offsets of the transform for the specified time sample.

func (*MDLTransform) Shear

func (o *MDLTransform) Shear() unsafe.Pointer

func (*MDLTransform) ShearAtTime

func (o *MDLTransform) ShearAtTime(time_ float64) unsafe.Pointer

Returns the x-, y-, and z-axis shear factors of the transform relative to its parent coordinate space, as of the specified time sample.

func (*MDLTransform) Translation

func (o *MDLTransform) Translation() unsafe.Pointer

If these properties are read and animation data exists the earliest value is returned. Otherwise, if there is no animation data, the value of the property is the same at all times and that value is returned. If written, timing information for said property is removed. To retain or add timing information, use the set:forTime selectors instead.

func (*MDLTransform) TranslationAtTime

func (o *MDLTransform) TranslationAtTime(time_ float64) unsafe.Pointer

Returns the x-, y-, and z-axis offsets of the transform relative to its parent coordinate space, as of the specified time sample.

type MDLTransformComponent

type MDLTransformComponent interface {
	MDLComponent
}

MDLTransformComponent wraps the ObjC protocol MDLTransformComponent.

type MDLTransformMatrixOp

type MDLTransformMatrixOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformmatrixop

func MDLTransformMatrixOpFromID

func MDLTransformMatrixOpFromID(id objc.ID) *MDLTransformMatrixOp

func (*MDLTransformMatrixOp) AnimatedValue

func (o *MDLTransformMatrixOp) AnimatedValue() *MDLAnimatedMatrix4x4

func (*MDLTransformMatrixOp) Name

type MDLTransformOp

type MDLTransformOp interface {
	Float4x4AtTime(time_ float64) unsafe.Pointer
	Double4x4AtTime(time_ float64) unsafe.Pointer
	IsInverseOp() bool
	Name() *foundation.NSString
}

MDLTransformOp wraps the ObjC protocol MDLTransformOp.

type MDLTransformOpRotationOrder

type MDLTransformOpRotationOrder uint64
const (
	MDLTransformOpRotationOrderXYZ MDLTransformOpRotationOrder = 1
	MDLTransformOpRotationOrderXZY MDLTransformOpRotationOrder = 2
	MDLTransformOpRotationOrderYXZ MDLTransformOpRotationOrder = 3
	MDLTransformOpRotationOrderYZX MDLTransformOpRotationOrder = 4
	MDLTransformOpRotationOrderZXY MDLTransformOpRotationOrder = 5
	MDLTransformOpRotationOrderZYX MDLTransformOpRotationOrder = 6
)

func (MDLTransformOpRotationOrder) String

type MDLTransformOrientOp

type MDLTransformOrientOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformorientop

func MDLTransformOrientOpFromID

func MDLTransformOrientOpFromID(id objc.ID) *MDLTransformOrientOp

func (*MDLTransformOrientOp) AnimatedValue

func (o *MDLTransformOrientOp) AnimatedValue() *MDLAnimatedQuaternion

func (*MDLTransformOrientOp) Name

type MDLTransformRotateOp

type MDLTransformRotateOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformrotateop

func MDLTransformRotateOpFromID

func MDLTransformRotateOpFromID(id objc.ID) *MDLTransformRotateOp

func (*MDLTransformRotateOp) AnimatedValue

func (o *MDLTransformRotateOp) AnimatedValue() *MDLAnimatedVector3

func (*MDLTransformRotateOp) Name

type MDLTransformRotateXOp

type MDLTransformRotateXOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformrotatexop

func MDLTransformRotateXOpFromID

func MDLTransformRotateXOpFromID(id objc.ID) *MDLTransformRotateXOp

func (*MDLTransformRotateXOp) AnimatedValue

func (o *MDLTransformRotateXOp) AnimatedValue() *MDLAnimatedScalar

func (*MDLTransformRotateXOp) Name

type MDLTransformRotateYOp

type MDLTransformRotateYOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformrotateyop

func MDLTransformRotateYOpFromID

func MDLTransformRotateYOpFromID(id objc.ID) *MDLTransformRotateYOp

func (*MDLTransformRotateYOp) AnimatedValue

func (o *MDLTransformRotateYOp) AnimatedValue() *MDLAnimatedScalar

func (*MDLTransformRotateYOp) Name

type MDLTransformRotateZOp

type MDLTransformRotateZOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformrotatezop

func MDLTransformRotateZOpFromID

func MDLTransformRotateZOpFromID(id objc.ID) *MDLTransformRotateZOp

func (*MDLTransformRotateZOp) AnimatedValue

func (o *MDLTransformRotateZOp) AnimatedValue() *MDLAnimatedScalar

func (*MDLTransformRotateZOp) Name

type MDLTransformScaleOp

type MDLTransformScaleOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformscaleop

func MDLTransformScaleOpFromID

func MDLTransformScaleOpFromID(id objc.ID) *MDLTransformScaleOp

func (*MDLTransformScaleOp) AnimatedValue

func (o *MDLTransformScaleOp) AnimatedValue() *MDLAnimatedVector3

func (*MDLTransformScaleOp) Name

type MDLTransformStack

type MDLTransformStack struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformstack

func MDLTransformStackFromID

func MDLTransformStackFromID(id objc.ID) *MDLTransformStack

func (*MDLTransformStack) AddMatrixOpInverse

func (o *MDLTransformStack) AddMatrixOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformMatrixOp

func (*MDLTransformStack) AddOrientOpInverse

func (o *MDLTransformStack) AddOrientOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformOrientOp

func (*MDLTransformStack) AddRotateOpOrderInverse

func (o *MDLTransformStack) AddRotateOpOrderInverse(animatedValueName *foundation.NSString, order MDLTransformOpRotationOrder, inverse bool) *MDLTransformRotateOp

func (*MDLTransformStack) AddRotateXOpInverse

func (o *MDLTransformStack) AddRotateXOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformRotateXOp

func (*MDLTransformStack) AddRotateYOpInverse

func (o *MDLTransformStack) AddRotateYOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformRotateYOp

func (*MDLTransformStack) AddRotateZOpInverse

func (o *MDLTransformStack) AddRotateZOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformRotateZOp

func (*MDLTransformStack) AddScaleOpInverse

func (o *MDLTransformStack) AddScaleOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformScaleOp

func (*MDLTransformStack) AddTranslateOpInverse

func (o *MDLTransformStack) AddTranslateOpInverse(animatedValueName *foundation.NSString, inverse bool) *MDLTransformTranslateOp

func (*MDLTransformStack) AnimatedValueWithName

func (o *MDLTransformStack) AnimatedValueWithName(name *foundation.NSString) *MDLAnimatedValue

func (*MDLTransformStack) Count

func (o *MDLTransformStack) Count() uint

func (*MDLTransformStack) Double4x4AtTime

func (o *MDLTransformStack) Double4x4AtTime(time_ float64) unsafe.Pointer

func (*MDLTransformStack) Float4x4AtTime

func (o *MDLTransformStack) Float4x4AtTime(time_ float64) unsafe.Pointer

func (*MDLTransformStack) Init

func (o *MDLTransformStack) Init() objc.ID

func (*MDLTransformStack) KeyTimes

func (*MDLTransformStack) TransformOps

func (o *MDLTransformStack) TransformOps() *foundation.NSArray[MDLTransformOp]

type MDLTransformTranslateOp

type MDLTransformTranslateOp struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdltransformtranslateop

func MDLTransformTranslateOpFromID

func MDLTransformTranslateOpFromID(id objc.ID) *MDLTransformTranslateOp

func (*MDLTransformTranslateOp) AnimatedValue

func (o *MDLTransformTranslateOp) AnimatedValue() *MDLAnimatedVector3

func (*MDLTransformTranslateOp) Name

type MDLURLTexture

type MDLURLTexture struct {
	MDLTexture
}

A lightweight reference to a URL from which to load texture data.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlurltexture

func MDLURLTextureFromID

func MDLURLTextureFromID(id objc.ID) *MDLURLTexture

func (*MDLURLTexture) InitWithURLName

func (o *MDLURLTexture) InitWithURLName(url *foundation.NSURL, name *foundation.NSString) *MDLURLTexture

Initializes a texture that loads its texel data from a file at the specified URL.

func (*MDLURLTexture) SetURL

func (o *MDLURLTexture) SetURL(url *foundation.NSURL)

func (*MDLURLTexture) URL

func (o *MDLURLTexture) URL() *foundation.NSURL

type MDLUtility

type MDLUtility struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/modelio/mdlutility

func MDLUtilityFromID

func MDLUtilityFromID(id objc.ID) *MDLUtility

type MDLVertexAttribute

type MDLVertexAttribute struct {
	foundation.NSObject
}

A description of the format of per-vertex data for a single vertex attribute in a mesh object.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlvertexattribute

func MDLVertexAttributeFromID

func MDLVertexAttributeFromID(id objc.ID) *MDLVertexAttribute

func (*MDLVertexAttribute) BufferIndex

func (o *MDLVertexAttribute) BufferIndex() uint

@property bufferIndex @abstract index of the buffer in mesh's vertexBuffer array in which this attribute resides

func (*MDLVertexAttribute) Format

func (o *MDLVertexAttribute) Format() MDLVertexFormat

@property format @abstract Format (including number of components) of the attribute @discussion If the value is MDLVertexFormatInvalid. Other values of this object will be ignored when setting the MDLVertexDescriptor object in a Mesh. The initial value is MDLVertexFormatInvalid.

func (*MDLVertexAttribute) InitWithNameFormatOffsetBufferIndex

func (o *MDLVertexAttribute) InitWithNameFormatOffsetBufferIndex(name *foundation.NSString, format MDLVertexFormat, offset uint, bufferIndex uint) *MDLVertexAttribute

Initializes a vertex attribute object with the specified property values.

func (*MDLVertexAttribute) InitializationValue

func (o *MDLVertexAttribute) InitializationValue() unsafe.Pointer

@property initializationValue @abstract Value to initialize the attribute to in the vertex buffer if no values @discussion This values of this vector will be set in attribute in the vertex attribute if the attribute did not previously exist in the mesh when setting the MDLVertexDescriptor in the mesh. Components of this vector will also be set in The initial value of initializationValue is (0, 0, 0, 1).

func (*MDLVertexAttribute) Name

@property name @abstract Identifying name of the attribute derived from model file, or one of the predefined MDLVertexAttribute strings

func (*MDLVertexAttribute) Offset

func (o *MDLVertexAttribute) Offset() uint

@property offset @abstract offset in bytes of the attrbute in each element of the vertex buffer

func (*MDLVertexAttribute) SetBufferIndex

func (o *MDLVertexAttribute) SetBufferIndex(bufferIndex uint)

func (*MDLVertexAttribute) SetFormat

func (o *MDLVertexAttribute) SetFormat(format MDLVertexFormat)

func (*MDLVertexAttribute) SetInitializationValue

func (o *MDLVertexAttribute) SetInitializationValue(initializationValue unsafe.Pointer)

func (*MDLVertexAttribute) SetName

func (o *MDLVertexAttribute) SetName(name *foundation.NSString)

func (*MDLVertexAttribute) SetOffset

func (o *MDLVertexAttribute) SetOffset(offset uint)

func (*MDLVertexAttribute) SetTime

func (o *MDLVertexAttribute) SetTime(time_ float64)

func (*MDLVertexAttribute) Time

func (o *MDLVertexAttribute) Time() float64

@property time @abstract the time the attribute is intended for. @discussion morph targets would store their times here

type MDLVertexAttributeData

type MDLVertexAttributeData struct {
	foundation.NSObject
}

An object that provides convenience access to vertex data for a specific vertex attribute of a mesh.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlvertexattributedata

func MDLVertexAttributeDataFromID

func MDLVertexAttributeDataFromID(id objc.ID) *MDLVertexAttributeData

func (*MDLVertexAttributeData) BufferSize

func (o *MDLVertexAttributeData) BufferSize() uint

func (*MDLVertexAttributeData) DataStart

func (o *MDLVertexAttributeData) DataStart() unsafe.Pointer

func (*MDLVertexAttributeData) Format

func (*MDLVertexAttributeData) Map

func (*MDLVertexAttributeData) SetBufferSize

func (o *MDLVertexAttributeData) SetBufferSize(bufferSize uint)

func (*MDLVertexAttributeData) SetDataStart

func (o *MDLVertexAttributeData) SetDataStart(dataStart unsafe.Pointer)

func (*MDLVertexAttributeData) SetFormat

func (o *MDLVertexAttributeData) SetFormat(format MDLVertexFormat)

func (*MDLVertexAttributeData) SetMap

func (o *MDLVertexAttributeData) SetMap(map_ *MDLMeshBufferMap)

func (*MDLVertexAttributeData) SetStride

func (o *MDLVertexAttributeData) SetStride(stride uint)

func (*MDLVertexAttributeData) Stride

func (o *MDLVertexAttributeData) Stride() uint

type MDLVertexBufferLayout

type MDLVertexBufferLayout struct {
	foundation.NSObject
}

A MDLVertexBufferLayout object describes layout information for a vertex buffer in a MDLMesh object. A collection of vertex layer objects, vertex attribute objects, and additional information forms a MDLVertexDescriptor object, which completely describes the layout of vertex buffers for a mesh.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlvertexbufferlayout

func MDLVertexBufferLayoutFromID

func MDLVertexBufferLayoutFromID(id objc.ID) *MDLVertexBufferLayout

func (*MDLVertexBufferLayout) InitWithStride

func (o *MDLVertexBufferLayout) InitWithStride(stride uint) *MDLVertexBufferLayout

func (*MDLVertexBufferLayout) SetStride

func (o *MDLVertexBufferLayout) SetStride(stride uint)

func (*MDLVertexBufferLayout) Stride

func (o *MDLVertexBufferLayout) Stride() uint

type MDLVertexDescriptor

type MDLVertexDescriptor struct {
	foundation.NSObject
}

A description of the structure, format, and layout for vertex data buffers associated with a mesh.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlvertexdescriptor

func MDLVertexDescriptorFromID

func MDLVertexDescriptorFromID(id objc.ID) *MDLVertexDescriptor

func (*MDLVertexDescriptor) AddOrReplaceAttribute

func (o *MDLVertexDescriptor) AddOrReplaceAttribute(attribute *MDLVertexAttribute)

Adds the specified vertex attribute to the vertex descriptor, replacing any existing attribute with the same name.

func (*MDLVertexDescriptor) AttributeNamed

func (o *MDLVertexDescriptor) AttributeNamed(name *foundation.NSString) *MDLVertexAttribute

Returns the vertex attribute with the specified name in the vertex descriptor.

func (*MDLVertexDescriptor) Attributes

@property attributes @abstract An array of MDLVertexAttribute objects @discussion ay describing the current attribute state of vertex buffers in an MDLMesh mesh

func (*MDLVertexDescriptor) InitWithVertexDescriptor

func (o *MDLVertexDescriptor) InitWithVertexDescriptor(vertexDescriptor *MDLVertexDescriptor) *MDLVertexDescriptor

Creates a new vertex descriptor by performing a deep copy of the specified vertex descriptor.

func (*MDLVertexDescriptor) Layouts

@property layouts @abstract An array of MDLVertexBufferLayout @discussion An array describing the current layout state of vertex buffers in an MDLMesh mesh

func (*MDLVertexDescriptor) RemoveAttributeNamed

func (o *MDLVertexDescriptor) RemoveAttributeNamed(name *foundation.NSString)

@method removeAttributeNamed: @abstract Remove the named attribute if it exists

func (*MDLVertexDescriptor) Reset

func (o *MDLVertexDescriptor) Reset()

Resets a vertex descriptor to its default state.

func (*MDLVertexDescriptor) SetAttributes

func (o *MDLVertexDescriptor) SetAttributes(attributes *foundation.NSMutableArray[*MDLVertexAttribute])

func (*MDLVertexDescriptor) SetLayouts

func (*MDLVertexDescriptor) SetPackedOffsets

func (o *MDLVertexDescriptor) SetPackedOffsets()

Sets the offset for each vertex attribute to the minimum value to pack vertex data together in a single buffer.

func (*MDLVertexDescriptor) SetPackedStrides

func (o *MDLVertexDescriptor) SetPackedStrides()

Sets the stride for each vertex layout to the minimum value to pack vertex data together in a single buffer.

type MDLVertexFormat

type MDLVertexFormat uint64

Descriptions of the data size and layout for a vertex attribute, used by the format property.

const (
	// The vertex attribute has just been initialized or its format is unknown.
	MDLVertexFormatInvalid MDLVertexFormat = 0
	// A bit mask for vertex attributes in packed vector formats.
	MDLVertexFormatPackedBit MDLVertexFormat = 4096
	// A bit mask for vertex attributes whose components are in 8-bit unsigned integer format.
	MDLVertexFormatUCharBits MDLVertexFormat = 65536
	// A bit mask for vertex attributes whose components are in 8-bit signed integer format.
	MDLVertexFormatCharBits MDLVertexFormat = 131072
	// A bit mask for vertex attributes whose components are in 8-bit unsigned normalized integer format.
	MDLVertexFormatUCharNormalizedBits MDLVertexFormat = 196608
	// A bit mask for vertex attributes whose components are in 8-bit signed normalized integer format.
	MDLVertexFormatCharNormalizedBits MDLVertexFormat = 262144
	// A bit mask for vertex attributes whose components are in 16-bit unsigned integer format.
	MDLVertexFormatUShortBits MDLVertexFormat = 327680
	// A bit mask for vertex attributes whose components are in 16-bit signed integer format.
	MDLVertexFormatShortBits MDLVertexFormat = 393216
	// A bit mask for vertex attributes whose components are in 16-bit unsigned normalized integer format.
	MDLVertexFormatUShortNormalizedBits MDLVertexFormat = 458752
	// A bit mask for vertex attributes whose components are in 16-bit signed normalized integer format.
	MDLVertexFormatShortNormalizedBits MDLVertexFormat = 524288
	// A bit mask for vertex attributes whose components are in 32-bit unsigned integer format.
	MDLVertexFormatUIntBits MDLVertexFormat = 589824
	// A bit mask for vertex attributes whose components are in 32-bit signed integer format.
	MDLVertexFormatIntBits MDLVertexFormat = 655360
	// A bit mask for vertex attributes whose components are in 16-bit floating-point format.
	MDLVertexFormatHalfBits MDLVertexFormat = 720896
	// A bit mask for vertex attributes whose components are in 32-bit floating-point format.
	MDLVertexFormatFloatBits MDLVertexFormat = 786432
	// The attribute value for each vertex is a scalar of unsigned 8-bit integer type.
	MDLVertexFormatUChar MDLVertexFormat = 65537
	// The attribute value for each vertex is a vector with 2 components, each of unsigned 8-bit integer type.
	MDLVertexFormatUChar2 MDLVertexFormat = 65538
	// The attribute value for each vertex is a vector with 3 components, each of unsigned 8-bit integer type.
	MDLVertexFormatUChar3 MDLVertexFormat = 65539
	// The attribute value for each vertex is a vector with 4 components, each of unsigned 8-bit integer type.
	MDLVertexFormatUChar4 MDLVertexFormat = 65540
	// The attribute value for each vertex is a scalar of signed 8-bit integer type.
	MDLVertexFormatChar MDLVertexFormat = 131073
	// The attribute value for each vertex is a vector with 2 components, each of signed 8-bit integer type.
	MDLVertexFormatChar2 MDLVertexFormat = 131074
	// The attribute value for each vertex is a vector with 3 components, each of signed 8-bit integer type.
	MDLVertexFormatChar3 MDLVertexFormat = 131075
	// The attribute value for each vertex is a vector with 4 components, each of signed 8-bit integer type.
	MDLVertexFormatChar4 MDLVertexFormat = 131076
	// The attribute value for each vertex is a normalized scalar of unsigned 8-bit integer type.
	MDLVertexFormatUCharNormalized MDLVertexFormat = 196609
	// The attribute value for each vertex is a vector with 2 components, each with a normalized value of unsigned 8-bit integer type.
	MDLVertexFormatUChar2Normalized MDLVertexFormat = 196610
	// The attribute value for each vertex is a vector with 3 components, each with a normalized value of unsigned 8-bit integer type.
	MDLVertexFormatUChar3Normalized MDLVertexFormat = 196611
	// The attribute value for each vertex is a vector with 4 components, each with a normalized value of unsigned 8-bit integer type.
	MDLVertexFormatUChar4Normalized MDLVertexFormat = 196612
	// The attribute value for each vertex is a normalized scalar of signed 8-bit integer type.
	MDLVertexFormatCharNormalized MDLVertexFormat = 262145
	// The attribute value for each vertex is a vector with 2 components, each with a normalized value of signed 8-bit integer type.
	MDLVertexFormatChar2Normalized MDLVertexFormat = 262146
	// The attribute value for each vertex is a vector with 3 components, each with a normalized value of signed 8-bit integer type.
	MDLVertexFormatChar3Normalized MDLVertexFormat = 262147
	// The attribute value for each vertex is a vector with 4 components, each with a normalized value of signed 8-bit integer type.
	MDLVertexFormatChar4Normalized MDLVertexFormat = 262148
	// The attribute value for each vertex is a scalar of unsigned 16-bit integer type.
	MDLVertexFormatUShort MDLVertexFormat = 327681
	// The attribute value for each vertex is a vector with 2 components, each of unsigned 16-bit integer type.
	MDLVertexFormatUShort2 MDLVertexFormat = 327682
	// The attribute value for each vertex is a vector with 3 components, each of unsigned 16-bit integer type.
	MDLVertexFormatUShort3 MDLVertexFormat = 327683
	// The attribute value for each vertex is a vector with 4 components, each of unsigned 16-bit integer type.
	MDLVertexFormatUShort4 MDLVertexFormat = 327684
	// The attribute value for each vertex is a scalar of signed 16-bit integer type.
	MDLVertexFormatShort MDLVertexFormat = 393217
	// The attribute value for each vertex is a vector with 2 components, each of signed 16-bit integer type.
	MDLVertexFormatShort2 MDLVertexFormat = 393218
	// The attribute value for each vertex is a vector with 3 components, each of signed 16-bit integer type.
	MDLVertexFormatShort3 MDLVertexFormat = 393219
	// The attribute value for each vertex is a vector with 4 components, each of signed 16-bit integer type.
	MDLVertexFormatShort4 MDLVertexFormat = 393220
	// The attribute value for each vertex is a normalized scalar of unsigned 16-bit integer type.
	MDLVertexFormatUShortNormalized MDLVertexFormat = 458753
	// The attribute value for each vertex is a vector with 2 components, each with a normalized value of unsigned 16-bit integer type.
	MDLVertexFormatUShort2Normalized MDLVertexFormat = 458754
	// The attribute value for each vertex is a vector with 3 components, each with a normalized value of unsigned 16-bit integer type.
	MDLVertexFormatUShort3Normalized MDLVertexFormat = 458755
	// The attribute value for each vertex is a vector with 4 components, each with a normalized value of unsigned 16-bit integer type.
	MDLVertexFormatUShort4Normalized MDLVertexFormat = 458756
	// The attribute value for each vertex is a normalized scalar of signed 16-bit integer type.
	MDLVertexFormatShortNormalized MDLVertexFormat = 524289
	// The attribute value for each vertex is a vector with 2 components, each with a normalized value of signed 16-bit integer type.
	MDLVertexFormatShort2Normalized MDLVertexFormat = 524290
	// The attribute value for each vertex is a vector with 3 components, each with a normalized value of signed 16-bit integer type.
	MDLVertexFormatShort3Normalized MDLVertexFormat = 524291
	// The attribute value for each vertex is a vector with 4 components, each with a normalized value of signed 16-bit integer type.
	MDLVertexFormatShort4Normalized MDLVertexFormat = 524292
	// The attribute value for each vertex is a scalar of unsigned 32-bit integer type.
	MDLVertexFormatUInt MDLVertexFormat = 589825
	// The attribute value for each vertex is a vector with 2 components, each of unsigned 32-bit integer type.
	MDLVertexFormatUInt2 MDLVertexFormat = 589826
	// The attribute value for each vertex is a vector with 3 components, each of unsigned 32-bit integer type.
	MDLVertexFormatUInt3 MDLVertexFormat = 589827
	// The attribute value for each vertex is a vector with 4 components, each of unsigned 32-bit integer type.
	MDLVertexFormatUInt4 MDLVertexFormat = 589828
	// The attribute value for each vertex is a scalar of signed 32-bit integer type.
	MDLVertexFormatInt MDLVertexFormat = 655361
	// The attribute value for each vertex is a vector with 2 components, each of signed 32-bit integer type.
	MDLVertexFormatInt2 MDLVertexFormat = 655362
	// The attribute value for each vertex is a vector with 3 components, each of signed 32-bit integer type.
	MDLVertexFormatInt3 MDLVertexFormat = 655363
	// The attribute value for each vertex is a vector with 4 components, each of signed 32-bit integer type.
	MDLVertexFormatInt4 MDLVertexFormat = 655364
	// The attribute value for each vertex is a scalar of 16-bit floating-point type.
	MDLVertexFormatHalf MDLVertexFormat = 720897
	// The attribute value for each vertex is a vector with 2 components, each of 16-bit floating-point type.
	MDLVertexFormatHalf2 MDLVertexFormat = 720898
	// The attribute value for each vertex is a vector with 3 components, each of 16-bit floating-point type.
	MDLVertexFormatHalf3 MDLVertexFormat = 720899
	// The attribute value for each vertex is a vector with 4 components, each of 16-bit floating-point type.
	MDLVertexFormatHalf4 MDLVertexFormat = 720900
	// The attribute value for each vertex is a scalar of 32-bit floating-point type.
	MDLVertexFormatFloat MDLVertexFormat = 786433
	// The attribute value for each vertex is a vector with 2 components, each of 32-bit floating-point type.
	MDLVertexFormatFloat2 MDLVertexFormat = 786434
	// The attribute value for each vertex is a vector with 3 components, each of 32-bit floating-point type.
	MDLVertexFormatFloat3 MDLVertexFormat = 786435
	// The attribute value for each vertex is a vector with 4 components, each of 32-bit floating-point type.
	MDLVertexFormatFloat4 MDLVertexFormat = 786436
	// The attribute value for each vertex is a packed vector with 4 components of signed integer type. The first three components are 10 bits each, and the fourth component is 2 bits.
	MDLVertexFormatInt1010102Normalized MDLVertexFormat = 659460
	// The attribute value for each vertex is a packed vector with 4 components of unsigned integer type. The first three components are 10 bits each, and the fourth component is 2 bits.
	MDLVertexFormatUInt1010102Normalized MDLVertexFormat = 593924
)

func (MDLVertexFormat) String

func (e MDLVertexFormat) String() string

type MDLVoxelArray

type MDLVoxelArray struct {
	MDLObject
}

A model of a 3D object’s solid volume as a collection of voxels, or cubic units.

Apple documentation: https://developer.apple.com/documentation/modelio/mdlvoxelarray

func MDLVoxelArrayFromID

func MDLVoxelArrayFromID(id objc.ID) *MDLVoxelArray

func (*MDLVoxelArray) BoundingBox

func (o *MDLVoxelArray) BoundingBox() MDLAxisAlignedBoundingBox

The extent of the voxel grid in Cartesian space

func (*MDLVoxelArray) CoarseMesh

func (o *MDLVoxelArray) CoarseMesh() *MDLMesh

Creates a coarse mesh from the voxel grid

func (*MDLVoxelArray) CoarseMeshUsingAllocator

func (o *MDLVoxelArray) CoarseMeshUsingAllocator(allocator MDLMeshBufferAllocator) *MDLMesh

func (*MDLVoxelArray) ConvertToSignedShellField

func (o *MDLVoxelArray) ConvertToSignedShellField()

Converts volume grid into a signed shell field by surrounding the surface voxels, which have shell level values of zero, by an inner layer of voxels with shell level values of negative one and an outer layer of voxels with shell level values of positive one. The volume model must be closed in order to generate a signed shell field.

func (*MDLVoxelArray) Count

func (o *MDLVoxelArray) Count() uint

The number of voxels in the grid

func (*MDLVoxelArray) DifferenceWithVoxels

func (o *MDLVoxelArray) DifferenceWithVoxels(voxels *MDLVoxelArray)

Reduces the voxel array to cover only the portion of its volume not covered by another voxel array.

func (*MDLVoxelArray) IndexOfSpatialLocation

func (o *MDLVoxelArray) IndexOfSpatialLocation(location unsafe.Pointer) unsafe.Pointer

Returns voxel information corresponding to the specified point in the world coordinate space of the asset from which the voxel array was created.

func (*MDLVoxelArray) InitWithAssetDivisionsInteriorNBWidthExteriorNBWidthPatchRadius

func (o *MDLVoxelArray) InitWithAssetDivisionsInteriorNBWidthExteriorNBWidthPatchRadius(asset *MDLAsset, divisions int, interiorNBWidth float32, exteriorNBWidth float32, patchRadius float32) *MDLVoxelArray

Initializes a voxel array that models the volume of 3D objects in the specified asset, creating voxel shells for the specified distances from the object’s surface. Deprecated: since macOS 10.12.

func (*MDLVoxelArray) InitWithAssetDivisionsInteriorShellsExteriorShellsPatchRadius

func (o *MDLVoxelArray) InitWithAssetDivisionsInteriorShellsExteriorShellsPatchRadius(asset *MDLAsset, divisions int, interiorShells int, exteriorShells int, patchRadius float32) *MDLVoxelArray

Initializes a voxel array that models the volume of 3D objects in the specified asset and creates the specified number of voxel shells. Deprecated: since macOS 10.12.

func (*MDLVoxelArray) InitWithAssetDivisionsPatchRadius

func (o *MDLVoxelArray) InitWithAssetDivisionsPatchRadius(asset *MDLAsset, divisions int, patchRadius float32) *MDLVoxelArray

Initialize a voxel grid from an MDLAsset. Attempts to create a closed volume model by applying "patches" of radius patchRadius to any holes found in the orginal mesh. Choose a patch radius that will be large enough to fill in the largest hole in the model.

func (*MDLVoxelArray) InitWithDataBoundingBoxVoxelExtent

func (o *MDLVoxelArray) InitWithDataBoundingBoxVoxelExtent(voxelData *foundation.NSData, boundingBox MDLAxisAlignedBoundingBox, voxelExtent float32) *MDLVoxelArray

Initializes a voxel array with the specified voxel data.

func (*MDLVoxelArray) IntersectWithVoxels

func (o *MDLVoxelArray) IntersectWithVoxels(voxels *MDLVoxelArray)

Reduces the voxel array to cover only the volume within both it and another voxel array.

func (*MDLVoxelArray) IsValidSignedShellField

func (o *MDLVoxelArray) IsValidSignedShellField() bool

Returns whether or not the volume grid is in a valid signed shell field form. This property will be set to YES after calling generateSignedShellField. All other methods that modify the voxel grid will cause this property to be set to NO. Setting shellFieldInteriorThickness and shellFieldExteriorThickness will not affect the value of this property.

func (*MDLVoxelArray) MeshUsingAllocator

func (o *MDLVoxelArray) MeshUsingAllocator(allocator MDLMeshBufferAllocator) *MDLMesh

Generates a closed polygon mesh around the volume of space the voxel array describes.

func (*MDLVoxelArray) SetShellFieldExteriorThickness

func (o *MDLVoxelArray) SetShellFieldExteriorThickness(shellFieldExteriorThickness float32)

func (*MDLVoxelArray) SetShellFieldInteriorThickness

func (o *MDLVoxelArray) SetShellFieldInteriorThickness(shellFieldInteriorThickness float32)

func (*MDLVoxelArray) SetVoxelAtIndex

func (o *MDLVoxelArray) SetVoxelAtIndex(index unsafe.Pointer)

Sets voxel characteristics at the specified index in the array.

func (*MDLVoxelArray) SetVoxelsForMeshDivisionsInteriorNBWidthExteriorNBWidthPatchRadius

func (o *MDLVoxelArray) SetVoxelsForMeshDivisionsInteriorNBWidthExteriorNBWidthPatchRadius(mesh *MDLMesh, divisions int, interiorNBWidth float32, exteriorNBWidth float32, patchRadius float32)

Sets voxel values in the array to model the volume of the specified mesh and creates voxel shells for the specified distances from the object’s surface. Deprecated: since macOS 10.12.

func (*MDLVoxelArray) SetVoxelsForMeshDivisionsInteriorShellsExteriorShellsPatchRadius

func (o *MDLVoxelArray) SetVoxelsForMeshDivisionsInteriorShellsExteriorShellsPatchRadius(mesh *MDLMesh, divisions int, interiorShells int, exteriorShells int, patchRadius float32)

Sets voxel values in the array to model the volume of the specified mesh and creates the specified number of voxel shells. Deprecated: since macOS 10.12.

func (*MDLVoxelArray) SetVoxelsForMeshDivisionsPatchRadius

func (o *MDLVoxelArray) SetVoxelsForMeshDivisionsPatchRadius(mesh *MDLMesh, divisions int, patchRadius float32)

Set voxels corresponding to a mesh. Routine will attempt to create a closed volume model by applying "patches" of a given radius to any holes it may find in the mesh.

func (*MDLVoxelArray) ShellFieldExteriorThickness

func (o *MDLVoxelArray) ShellFieldExteriorThickness() float32

If voxel grid is in a valid signed shell field form, sets the exterior thickness to the desired width, as measured from the model surface. If the voxel grid is not in a valid signed shell field form, the value of this property is zero.

func (*MDLVoxelArray) ShellFieldInteriorThickness

func (o *MDLVoxelArray) ShellFieldInteriorThickness() float32

If voxel grid is in a valid signed shell field form, sets the interior thickness to the desired width, as measured from the model surface. If the voxel grid is not in a valid signed shell field form, the value of this property is zero.

func (*MDLVoxelArray) SpatialLocationOfIndex

func (o *MDLVoxelArray) SpatialLocationOfIndex(index unsafe.Pointer) unsafe.Pointer

Returns the location of the specified voxel in world coordinate space.

func (*MDLVoxelArray) UnionWithVoxels

func (o *MDLVoxelArray) UnionWithVoxels(voxels *MDLVoxelArray)

Extends the voxel array to also cover the volume of the specified voxel array.

func (*MDLVoxelArray) VoxelBoundingBoxAtIndex

func (o *MDLVoxelArray) VoxelBoundingBoxAtIndex(index unsafe.Pointer) MDLAxisAlignedBoundingBox

Returns the extent of the specified voxel’s volume in the world coordinate space of the asset from which the voxel array was created.

func (*MDLVoxelArray) VoxelExistsAtIndexAllowAnyXAllowAnyYAllowAnyZAllowAnyShell

func (o *MDLVoxelArray) VoxelExistsAtIndexAllowAnyXAllowAnyYAllowAnyZAllowAnyShell(index unsafe.Pointer, allowAnyX bool, allowAnyY bool, allowAnyZ bool, allowAnyShell bool) bool

Returns a Boolean value indicating whether the voxel array contains voxel data for the specified index.

func (*MDLVoxelArray) VoxelIndexExtent

func (o *MDLVoxelArray) VoxelIndexExtent() MDLVoxelIndexExtent

The extent of the voxel grid in index space

func (*MDLVoxelArray) VoxelIndices

func (o *MDLVoxelArray) VoxelIndices() *foundation.NSData

Returns a data object containing all voxels within the voxel array.

func (*MDLVoxelArray) VoxelsWithinExtent

func (o *MDLVoxelArray) VoxelsWithinExtent(extent MDLVoxelIndexExtent) *foundation.NSData

Returns a data object containing all voxels within the specified volume.

type MDLVoxelIndexExtent

type MDLVoxelIndexExtent struct {
	MinimumExtent unsafe.Pointer
	MaximumExtent unsafe.Pointer
}

The corner voxel indices defining a solid rectangular volume of voxels. Used by the voxelIndexExtent property and voxelsWithinExtent: method.

type MDLabelDomain

type MDLabelDomain int64

@typedef MDLabelDomain @abstract These constants are used to specify a domain to MDLabelCreate().

const (
	KMDLabelUserDomain  MDLabelDomain = 0
	KMDLabelLocalDomain MDLabelDomain = 1
)

func (MDLabelDomain) String

func (e MDLabelDomain) String() string

type MDQueryOptionFlags

type MDQueryOptionFlags int64
const (
	KMDQuerySynchronous        MDQueryOptionFlags = 1
	KMDQueryWantsUpdates       MDQueryOptionFlags = 4
	KMDQueryAllowFSTranslation MDQueryOptionFlags = 8
)

func (MDQueryOptionFlags) String

func (e MDQueryOptionFlags) String() string

type MDQuerySortOptionFlags

type MDQuerySortOptionFlags int64

@enum MDQuerySortOptionFlags @constant kMDQueryReverseSortOrderFlag Sort the attribute in reverse order.

const (
	KMDQueryReverseSortOrderFlag MDQuerySortOptionFlags = 1
)

func (MDQuerySortOptionFlags) String

func (e MDQuerySortOptionFlags) String() string

type Mach_vm_range_flags_t

type Mach_vm_range_flags_t int64
const (
	MACH_VM_RANGE_NONE Mach_vm_range_flags_t = 0
)

func (Mach_vm_range_flags_t) String

func (e Mach_vm_range_flags_t) String() string

type Mach_vm_range_flavor_t

type Mach_vm_range_flavor_t int64
const (
	MACH_VM_RANGE_FLAVOR_INVALID Mach_vm_range_flavor_t = 0
	MACH_VM_RANGE_FLAVOR_V1      Mach_vm_range_flavor_t = 1
)

func (Mach_vm_range_flavor_t) String

func (e Mach_vm_range_flavor_t) String() string

type Mach_vm_range_tag_t

type Mach_vm_range_tag_t int64
const (
	MACH_VM_RANGE_DEFAULT Mach_vm_range_tag_t = 0
	MACH_VM_RANGE_DATA    Mach_vm_range_tag_t = 1
	MACH_VM_RANGE_FIXED   Mach_vm_range_tag_t = 2
)

func (Mach_vm_range_tag_t) String

func (e Mach_vm_range_tag_t) String() string

type Mpo_flags_t

type Mpo_flags_t int64
const (
	MPO_PORT                            Mpo_flags_t = 0
	MPO_SERVICE_PORT                    Mpo_flags_t = 1024
	MPO_CONNECTION_PORT                 Mpo_flags_t = 2048
	MPO_REPLY_PORT                      Mpo_flags_t = 4096
	MPO_WEAK_REPLY_PORT                 Mpo_flags_t = 16384
	MPO_NOTIFICATION_PORT               Mpo_flags_t = 17408
	MPO_EXCEPTION_PORT                  Mpo_flags_t = 32768
	MPO_CONNECTION_PORT_WITH_PORT_ARRAY Mpo_flags_t = 65536
)

func (Mpo_flags_t) String

func (e Mpo_flags_t) String() string

type NXMouseButton

type NXMouseButton int64
const (
	NX_OneButton   NXMouseButton = 0
	NX_LeftButton  NXMouseButton = 1
	NX_RightButton NXMouseButton = 2
)

func (NXMouseButton) String

func (e NXMouseButton) String() string

type Os_clockid_t

type Os_clockid_t int64
const (
	OS_CLOCK_MACH_ABSOLUTE_TIME Os_clockid_t = 32
)

func (Os_clockid_t) String

func (e Os_clockid_t) String() string

type Ptrauth_key

type Ptrauth_key int64
const (
	Ptrauth_key_none                     Ptrauth_key = -1
	Ptrauth_key_asia                     Ptrauth_key = 0
	Ptrauth_key_asib                     Ptrauth_key = 1
	Ptrauth_key_asda                     Ptrauth_key = 2
	Ptrauth_key_asdb                     Ptrauth_key = 3
	Ptrauth_key_process_independent_code Ptrauth_key = 0
	Ptrauth_key_process_dependent_code   Ptrauth_key = 1
	Ptrauth_key_process_independent_data Ptrauth_key = 2
	Ptrauth_key_process_dependent_data   Ptrauth_key = 3
	Ptrauth_key_return_address           Ptrauth_key = 1
	Ptrauth_key_frame_pointer            Ptrauth_key = 3
	Ptrauth_key_function_pointer         Ptrauth_key = 0
	Ptrauth_key_block_function           Ptrauth_key = 0
	Ptrauth_key_cxx_vtable_pointer       Ptrauth_key = 2
	Ptrauth_key_method_list_pointer      Ptrauth_key = 2
	Ptrauth_key_objc_isa_pointer         Ptrauth_key = 2
	Ptrauth_key_objc_super_pointer       Ptrauth_key = 2
	Ptrauth_key_objc_sel_pointer         Ptrauth_key = 3
	Ptrauth_key_objc_class_ro_pointer    Ptrauth_key = 2
	Ptrauth_key_block_descriptor_pointer Ptrauth_key = 2
	Ptrauth_key_init_fini_pointer        Ptrauth_key = 0
)

func (Ptrauth_key) String

func (e Ptrauth_key) String() string

type Qos_class_t

type Qos_class_t uint32
const (
	QOS_CLASS_USER_INTERACTIVE Qos_class_t = 33
	QOS_CLASS_USER_INITIATED   Qos_class_t = 25
	QOS_CLASS_DEFAULT          Qos_class_t = 21
	QOS_CLASS_UTILITY          Qos_class_t = 17
	QOS_CLASS_BACKGROUND       Qos_class_t = 9
	QOS_CLASS_UNSPECIFIED      Qos_class_t = 0
)

func (Qos_class_t) String

func (e Qos_class_t) String() string

type Virtual_memory_guard_exception_code_t

type Virtual_memory_guard_exception_code_t int64
const (
	KGUARD_EXC_DEALLOC_GAP                   Virtual_memory_guard_exception_code_t = 1
	KGUARD_EXC_RECLAIM_COPYIO_FAILURE        Virtual_memory_guard_exception_code_t = 2
	KGUARD_EXC_RECLAIM_INDEX_FAILURE         Virtual_memory_guard_exception_code_t = 4
	KGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE    Virtual_memory_guard_exception_code_t = 8
	KGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE    Virtual_memory_guard_exception_code_t = 9
	KGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE         Virtual_memory_guard_exception_code_t = 10
	KGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE         Virtual_memory_guard_exception_code_t = 11
	KGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION  Virtual_memory_guard_exception_code_t = 12
	KGUARD_EXC_LARGE_ALLOCATION_TELEMETRY    Virtual_memory_guard_exception_code_t = 13
	KGUARD_EXC_SEC_ACCESS_FAULT              Virtual_memory_guard_exception_code_t = 98
	KGUARD_EXC_SEC_ASYNC_ACCESS_FAULT        Virtual_memory_guard_exception_code_t = 99
	KGUARD_EXC_SEC_COPY_DENIED               Virtual_memory_guard_exception_code_t = 100
	KGUARD_EXC_SEC_SHARING_DENIED            Virtual_memory_guard_exception_code_t = 101
	KGUARD_EXC_MTE_SYNC_FAULT                Virtual_memory_guard_exception_code_t = 200
	KGUARD_EXC_MTE_ASYNC_USER_FAULT          Virtual_memory_guard_exception_code_t = 201
	KGUARD_EXC_MTE_ASYNC_KERN_FAULT          Virtual_memory_guard_exception_code_t = 202
	KGUARD_EXC_GUARD_OBJECT_ASYNC_USER_FAULT Virtual_memory_guard_exception_code_t = 203
	KGUARD_EXC_GUARD_OBJECT_ASYNC_KERN_FAULT Virtual_memory_guard_exception_code_t = 204
)

func (Virtual_memory_guard_exception_code_t) String

type Xpc_listener_create_flags_t

type Xpc_listener_create_flags_t int64
const (
	XPC_LISTENER_CREATE_NONE             Xpc_listener_create_flags_t = 0
	XPC_LISTENER_CREATE_INACTIVE         Xpc_listener_create_flags_t = 1
	XPC_LISTENER_CREATE_FORCE_MACH       Xpc_listener_create_flags_t = 2
	XPC_LISTENER_CREATE_FORCE_XPCSERVICE Xpc_listener_create_flags_t = 4
)

func (Xpc_listener_create_flags_t) String

type Xpc_session_create_flags_t

type Xpc_session_create_flags_t int64
const (
	XPC_SESSION_CREATE_NONE            Xpc_session_create_flags_t = 0
	XPC_SESSION_CREATE_INACTIVE        Xpc_session_create_flags_t = 1
	XPC_SESSION_CREATE_MACH_PRIVILEGED Xpc_session_create_flags_t = 2
)

func (Xpc_session_create_flags_t) String

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL