Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Металлическая ссылка платформы ссылка на протокол MTLTexture

Опции
Развертывание Target:

На этой странице
Язык:

MTLTexture

Наследование


Не применимый

Соответствует


Оператор импорта


Swift

import Metal

Objective C

@import Metal;

Доступность


Доступный в iOS 8.0 и позже.

MTLTexture протокол определяет интерфейс для объекта, представляющего выделение отформатированных данных изображения. Текстуры используются в качестве исходных данных для вершинного шейдера, программы построения теней фрагмента или вычислить ядра. Они также используются в качестве присоединения, действующего как место назначения рендеринга.

Не используйте стандартное выделение и методы инициализации для создания a MTLTexture объект. Следующие методы создают и возвращают a MTLTexture объект:

  • newTextureWithDescriptor: метод MTLDevice класс создает объект текстуры с новым выделением ресурсов хранения для данных изображения текстуры, с помощью a MTLTextureDescriptor объект описать свойства текстуры.

  • newTextureViewWithPixelFormat: метод MTLTexture класс создает и возвращает a MTLTexture возразите, что совместно использует то же выделение ресурсов хранения как вызов MTLTexture. Поскольку они совместно используют то же хранение, любые изменения в пикселях нового объекта текстуры отражаются в объекте текстуры вызова, и наоборот. Для недавно создаваемой текстуры, newTextureViewWithPixelFormat: метод дает иное толкование существующим данным изображения текстуры выделения ресурсов хранения вызова MTLTexture возразите, как будто они были сохранены в указанном формате пикселя. Формат пикселя нового объекта текстуры должен быть совместим с форматом пикселя исходного объекта текстуры.

  • newTextureWithDescriptor:offset:bytesPerRow: метод MTLBuffer протокол создает и возвращает новое MTLTexture возразите, что совместно использует выделение ресурсов хранения вызова MTLBuffer как его данные изображения текстуры. Поскольку они совместно используют то же хранение, любые изменения в пикселях нового объекта текстуры отражаются в объекте текстуры вызова, и наоборот.

textureType свойство идентифицирует, как организованы данные изображения. Данные изображения располагаются в одной или более частях, и каждая часть является синглом MTLTextureType1D, MTLTextureType2D, MTLTextureType2DMultisample, или MTLTextureType3D текстурируйте изображение типа и все его множественные отображения. MTLTextureType1D, MTLTextureType2D, MTLTextureType2DMultisample, и MTLTextureType3D типы текстуры имеют единственную часть. A MTLTextureTypeCube текстура всегда имеет шесть частей, один для каждой поверхности. Поскольку текстура выстраивает объект, такой как MTLTextureType1DArray или MTLTextureType2DArray, каждый элемент матрицы является одной частью.

После создания текстуры можно вызвать replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage: или replaceRegion:mipmapLevel:withBytes:bytesPerRow: для заполнения выделения ресурсов хранения текстуры возражают с данными изображения от системной памяти. Вызвать getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice: или getBytes:bytesPerRow:fromRegion:mipmapLevel: для копирования данных изображения с текстуры возражают и хранят скопированные данные в системную память.

  • Копирует блок пикселей от указателя вызывающей стороны в выделение ресурсов хранения для одной части текстуры. (требуемый)

    Объявление

    Swift

    func replaceRegion(_ region: MTLRegion, mipmapLevel level: Int, slice slice: Int, withBytes pixelBytes: UnsafePointer<Void>, bytesPerRow bytesPerRow: Int, bytesPerImage bytesPerImage: Int)

    Objective C

    - (void)replaceRegion:(MTLRegion)region mipmapLevel:(NSUInteger)level slice:(NSUInteger)slice withBytes:(const void *)pixelBytes bytesPerRow:(NSUInteger)bytesPerRow bytesPerImage:(NSUInteger)bytesPerImage

    Параметры

    region

    Расположение блока пикселей в части текстуры. Область должна быть в размерностях части.

    level

    Для текстуры со штабелем множественного отображения, имеющим больше чем одно изображение, основанное на нуле значение, указывающее, которые множественно отображают уровень, является местом назначения.

    slice

    Основанное на нуле значение, идентифицирующее, какая часть текстуры является местом назначения для работы копии. Для кубической текстуры, slice значение между 0 и 5, включительно, который определяет, какая поверхность куба является местом назначения. Для текстуры массива, slice индекс для элемента матрицы. Если тип текстуры не является ни массивом, ни кубом, то slice 0.

    pixelBytes

    Блок пикселей, которые будут скопированы в выделение ресурсов хранения для объекта текстуры.

    bytesPerRow

    Для обычного или упакованного формата пикселя, шага, в байтах, между строками исходных данных. Для сжатого формата пикселя, bytesPerRow число байтов с начала одной строки блоков к началу следующего.

    bytesPerRow когда Вы копируете, применимо pixelBytes текстурировать типы кроме MTLTextureType1D или MTLTextureType1DArray. Если применимо, bytesPerRow должно быть больше, чем или равным ширина одной строки (в действительности, размер одного пикселя, в байтах, умноженных на пиксельную ширину одной строки), и меньше чем или равным 32 767 умноженным размером одного пикселя. Для обычного или упакованного формата пикселя, bytesPerRow должно быть кратное число размера формата пикселя. Для сжатого формата пикселя, bytesPerRow должно быть кратное число сжатого размера блока.

    Когда Вы копируете pixelBytes к a MTLTextureType1D или MTLTextureType1DArray текстура, bytesPerRow не применимо и должен быть установлен в 0. (Если bytesPerRow не 0, ошибка происходит, если это меньше, чем ширина текстуры или не является кратным числом размера формата пикселя или сжатого размера блока.)

    bytesPerImage

    Шаг, в байтах, между изображениями в исходных данных. bytesPerImage когда Вы копируете, только применимо pixelBytes к a MTLTextureType3D введите текстуру. Для обычного или упакованного формата пикселя, bytesPerImage должно быть кратное число размера формата пикселя. (Сжатый формат пикселя не может использоваться с a MTLTextureType3D текстура.)

    Когда это не применимо, набор bytesPerImage к 0. Если bytesPerImage не 0, ошибка происходит, если это не кратное число размера формата пикселя или сжатого размера блока.

    Обсуждение

    Этот метод сразу копирует пиксельные данные в текстуру с помощью CPU. Это не синхронизируется против никаких доступов GPU к этой текстуре.

    Если изображение текстуры имеет сжатый формат пикселя, то только выровненные блоком области могут быть записаны. Если размер размерности region не кратное число размера блока, тогда bytesPerRow в системной памяти должен включать полный граничный блок, и размер той размерности должен быть зафиксирован к размерностям текстуры.

    Если Вы копируете во всю текстуру с форматом пикселя PVRTC, этот метод поддерживается; когда, bytesPerRow и bytesPerImage должен оба быть установлен в 0. Этот метод не поддерживается для копирования к подобласти текстуры, имеющей формат пикселя PVRTC.

    Для всех других форматов пикселя, сжатых или несжатых, bytesPerRow и bytesPerImage может быть установлен в 0, если они являются ненужными.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

    См. также

    MTLPixelFormat

  • Копирует блок пикселей от указателя вызывающей стороны в выделение ресурсов хранения для части 0 из текстуры. (требуемый)

    Объявление

    Swift

    func replaceRegion(_ region: MTLRegion, mipmapLevel level: Int, withBytes pixelBytes: UnsafePointer<Void>, bytesPerRow bytesPerRow: Int)

    Objective C

    - (void)replaceRegion:(MTLRegion)region mipmapLevel:(NSUInteger)level withBytes:(const void *)pixelBytes bytesPerRow:(NSUInteger)bytesPerRow

    Параметры

    region

    Расположение блока пикселей в части текстуры.

    level

    Для текстуры со штабелем множественного отображения, имеющим больше чем одно изображение, основанное на нуле значение, указывающее, которые множественно отображают уровень, является местом назначения.

    pixelBytes

    Блок пикселей, которые будут скопированы в выделение ресурсов хранения для объекта текстуры.

    bytesPerRow

    Для обычного или упакованного формата пикселя, шага, в байтах, между строками исходных данных. Для сжатого формата пикселя, bytesPerRow число байтов с начала одной строки блоков к началу следующего.

    bytesPerRow когда Вы копируете, применимо pixelBytes текстурировать типы кроме MTLTextureType1D или MTLTextureType1DArray. Если применимо, bytesPerRow должно быть больше, чем или равным ширина одной строки (в действительности, размер одного пикселя, в байтах, умноженных на пиксельную ширину одной строки), и меньше чем или равным 32 767 умноженным размером одного пикселя. Для обычного или упакованного формата пикселя, bytesPerRow должно быть кратное число размера формата пикселя. Для сжатого формата пикселя, bytesPerRow должно быть кратное число сжатого размера блока.

    Когда Вы копируете pixelBytes к a MTLTextureType1D или MTLTextureType1DArray текстура, bytesPerRow не применимо и должен быть установлен в 0. (Если bytesPerRow не 0, ошибка происходит, если это меньше, чем ширина текстуры или не является кратным числом размера формата пикселя или сжатого размера блока.)

    Обсуждение

    Этот метод сразу копирует пиксельные данные в текстуру с помощью CPU. Это не синхронизируется против никаких доступов GPU к этой текстуре.

    Если изображение текстуры имеет сжатый формат пикселя, то только выровненные блоком области могут быть записаны. Если размер размерности region не кратное число размера блока, тогда bytesPerRow в системной памяти должен включать полный граничный блок, и размер той размерности должен быть зафиксирован к размерностям текстуры.

    Если Вы копируете во всю текстуру с форматом пикселя PVRTC, этот метод поддерживается; когда, bytesPerRow должен быть установлен в 0. Этот метод не поддерживается для копирования к подобласти текстуры, имеющей формат пикселя PVRTC.

    Для всех других форматов пикселя, сжатых или несжатых, bytesPerRow может быть установлен в 0, если это является ненужным.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

    См. также

    MTLPixelFormat

  • Копирует блок пикселей от выделения ресурсов хранения части текстуры в системную память в указанном адресе. (требуемый)

    Объявление

    Swift

    func getBytes(_ pixelBytes: UnsafeMutablePointer<Void>, bytesPerRow bytesPerRow: Int, bytesPerImage bytesPerImage: Int, fromRegion region: MTLRegion, mipmapLevel mipmapLevel: Int, slice slice: Int)

    Objective C

    - (void)getBytes:(void *)pixelBytes bytesPerRow:(NSUInteger)bytesPerRow bytesPerImage:(NSUInteger)bytesPerImage fromRegion:(MTLRegion)region mipmapLevel:(NSUInteger)mipmapLevel slice:(NSUInteger)slice

    Параметры

    pixelBytes

    Расположение в системной памяти, получающей копию блока пикселей от выделения ресурсов хранения текстуры.

    bytesPerRow

    Шаг, в байтах, между строками данных текстуры. Когда Вы копируете блок пикселей к a MTLTextureType1D или MTLTextureType1DArray текстура, bytesPerRow не релевантно и должен быть 0.

    Для обычного или упакованного формата пикселя, bytesPerRow шаг, в байтах, между строками данных текстуры. Для сжатого формата пикселя, bytesPerRow число байтов с начала одной строки блоков к началу следующего.

    bytesPerRow применимо при копировании с выделения ресурсов хранения для типов текстуры кроме MTLTextureType1D или MTLTextureType1DArray. Если применимо, bytesPerRow должно быть больше, чем или равным ширина одной строки (в действительности, размер одного пикселя, в байтах, умноженных на пиксельную ширину одной строки), и меньше чем или равным 32 767 умноженным размером одного пикселя. Для обычного или упакованного формата пикселя, bytesPerRow должно быть кратное число размера формата пикселя. Для сжатого формата пикселя, bytesPerRow должно быть кратное число сжатого размера блока.

    Когда Вы копируете блок пикселей к a MTLTextureType1D или MTLTextureType1DArray текстура, bytesPerRow не применимо и должен быть установлен в 0. (Если bytesPerRow не 0, ошибка происходит, если это меньше, чем ширина текстуры или не является кратным числом размера формата пикселя или сжатого размера блока.)

    bytesPerImage

    bytesPerImage шаг, в байтах, между изображениями в данных текстуры.

    region

    Расположение блока пикселей в части текстуры.

    mipmapLevel

    Для текстуры со штабелем множественного отображения, имеющим больше чем одно изображение, основанное на нуле значение, указывающее, которые множественно отображают уровень, является источником. Если текстура не множественно отображается, то mipmapLevel 0.

    slice

    Основанное на нуле значение, идентифицирующее, какая часть текстуры является источником для работы копии. Для кубической текстуры, slice значение между 0 и 5, включительно, который определяет, какая поверхность куба является источником. Для текстуры массива, slice индекс для элемента матрицы. Если тип текстуры не является ни массивом, ни кубом, то slice 0.

    Обсуждение

    Если текстура является мультидемонстрационной текстурой, каждая выборка в пикселе расположена последовательно в памяти и все обрабатывается как часть одной строки.

    Если Вы копируете со всей текстуры с форматом пикселя PVRTC, этот метод поддерживается. Этот метод не поддерживается для копирования с подобласти текстуры, имеющей формат пикселя PVRTC.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Копирует блок пикселей от выделения ресурсов хранения части текстуры 0 в системную память в указанном адресе. (требуемый)

    Объявление

    Swift

    func getBytes(_ pixelBytes: UnsafeMutablePointer<Void>, bytesPerRow bytesPerRow: Int, fromRegion region: MTLRegion, mipmapLevel mipmapLevel: Int)

    Objective C

    - (void)getBytes:(void *)pixelBytes bytesPerRow:(NSUInteger)bytesPerRow fromRegion:(MTLRegion)region mipmapLevel:(NSUInteger)mipmapLevel

    Параметры

    pixelBytes

    Расположение в системной памяти, получающей копию блока пикселей от выделения ресурсов хранения текстуры.

    bytesPerRow

    Шаг, в байтах, между строками данных текстуры. Когда Вы копируете блок пикселей к a MTLTextureType1D или MTLTextureType1DArray текстура, bytesPerRow не релевантно и должен быть 0.

    Для обычного или упакованного формата пикселя, bytesPerRow шаг, в байтах, между строками данных текстуры. Для сжатого формата пикселя, bytesPerRow число байтов с начала одной строки блоков к началу следующего.

    bytesPerRow когда Вы копируете с выделения ресурсов хранения для типов текстуры кроме, применимо MTLTextureType1D или MTLTextureType1DArray. Если применимо, bytesPerRow должно быть больше, чем или равным ширина одной строки (в действительности, размер одного пикселя, в байтах, умноженных на пиксельную ширину одной строки), и меньше чем или равным 32 767 умноженным размером одного пикселя. Для обычного или упакованного формата пикселя, bytesPerRow должно быть кратное число размера формата пикселя. Для сжатого формата пикселя, bytesPerRow должно быть кратное число сжатого размера блока.

    Когда Вы копируете блок пикселей к a MTLTextureType1D или MTLTextureType1DArray текстура, bytesPerRow не применимо и должен быть установлен в 0. (Если bytesPerRow не 0, ошибка происходит, если это меньше, чем ширина текстуры или не является кратным числом размера формата пикселя или сжатого размера блока.)

    region

    Расположение блока пикселей в части текстуры.

    mipmapLevel

    Для текстуры со штабелем множественного отображения, имеющим больше чем одно изображение, mipmapLevel основанное на нуле значение, указывающее, которые множественно отображаются, уровень является источником. Если текстура не множественно отображается, то mipmapLevel 0.

    Обсуждение

    Если текстура является мультидемонстрационной текстурой, каждая выборка в пикселе расположена последовательно в памяти, и пиксели все обрабатываются как часть одной строки.

    Если Вы копируете со всей текстуры с форматом пикселя PVRTC, этот метод поддерживается. Этот метод не поддерживается для копирования с подобласти текстуры, имеющей формат пикселя PVRTC.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Создает объект текстуры, совместно использующий то же выделение ресурсов хранения как исходный объект текстуры, давая иное толкование данным текстуры в различном формате пикселя. (требуемый)

    Объявление

    Swift

    func newTextureViewWithPixelFormat(_ pixelFormat: MTLPixelFormat) -> MTLTexture?

    Objective C

    - (id<MTLTexture>)newTextureViewWithPixelFormat:(MTLPixelFormat)pixelFormat

    Параметры

    pixelFormat

    Новый формат пикселя, который должен быть совместим с исходным форматом пикселя текстуры вызова.

    Возвращаемое значение

    Новая текстура возражает, что совместно использует выделение ресурсов хранения.

    Обсуждение

    Не все форматы пикселя совместимы друг с другом. Вы не можете использовать этот метод между цветными форматами пикселя различных размеров. Реинтерпретация данных изображения между форматами пикселя поддерживается в следующих группах:

    • Среди всех 8-разрядных цветных форматов.

    • Среди всех 16-разрядных цветных форматов, за исключением форматов глубины.

    • Среди всех 32-разрядных цветных форматов, кроме форматов глубины и глубины/шаблона.

    • Среди всех 64-разрядных цветных форматов, кроме форматов глубины/шаблона.

    • Среди всех 128-разрядных цветных форматов.

    Этот метод не поддерживает реинтерпретацию данных текстуры со сжатыми форматами. Этот метод может дать иное толкование данным изображения между:

    • Две текстуры с обычным (ни упакованный, ни сжатый) форматы пикселя того же размера.

    • Две текстуры с упакованными форматами пикселя того же размера.

    • Текстура с обычным форматом пикселя и текстура с упакованным форматом пикселя, если оба формата пикселя являются тем же размером. (Преобразование поддерживается к и от любого формата пикселя.)

    Этот метод не изменяет исходные данные изображения текстуры всегда, но это может решительно измениться, как интерпретируются данные. Например, учитывая текстуру с MTLPixelFormatRG16Uint формат пикселя содержит данные изображения для Красного 0xFFFE и Грина 0x0001, этот метод дал бы иное толкование тем данным в MTLPixelFormatR32Uint отформатируйте как Красный 0x0001FFFE.

    Некоторые реинтерпретации формата поддерживаются, но могут не быть полезными. Например, этот метод рассматривает 32-разрядные упакованные цветные форматы MTLPixelFormatA2BGR10Uint и MTLPixelFormatB10GR11Float чтобы быть совместимым, но маловероятно, что те же данные могут быть интерпретированы обоими форматами значимым способом.

    После создания, rootResource свойство возвращенной текстуры имеет объект ресурса с выделением исходной системы хранения.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • textureType Свойство

    Размерность и расположение (например, отдельно, как массив, или как куб) данных изображения текстуры. (требуемый) (только для чтения)

    Объявление

    Swift

    var textureType: MTLTextureType { get }

    Objective C

    @property(readonly) MTLTextureType textureType

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • pixelFormat Свойство

    Формат, определяющий, как пиксель записан в, сохранен как и читается из выделения ресурсов хранения текстуры. (требуемый) (только для чтения)

    Объявление

    Swift

    var pixelFormat: MTLPixelFormat { get }

    Objective C

    @property(readonly) MTLPixelFormat pixelFormat

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • width Свойство

    Ширина изображения текстуры для основного уровня множественно отображается в пикселях. (требуемый) (только для чтения)

    Объявление

    Swift

    var width: Int { get }

    Objective C

    @property(readonly) NSUInteger width

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • height Свойство

    Высота изображения текстуры для основного уровня множественно отображается в пикселях. (требуемый) (только для чтения)

    Объявление

    Swift

    var height: Int { get }

    Objective C

    @property(readonly) NSUInteger height

    Обсуждение

    Для 1D текстура, значение равняется 1.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • depth Свойство

    Глубина изображения текстуры для основного уровня множественно отображается в пикселях. (требуемый) (только для чтения)

    Объявление

    Swift

    var depth: Int { get }

    Objective C

    @property(readonly) NSUInteger depth

    Обсуждение

    Для 1D, 2D, и кубические текстуры, значение равняется 1.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • mipmapLevelCount Свойство

    Число уровней множественного отображения для этой текстуры. (требуемый) (только для чтения)

    Объявление

    Swift

    var mipmapLevelCount: Int { get }

    Objective C

    @property(readonly) NSUInteger mipmapLevelCount

    Обсуждение

    Для поддержанной буфером или мультидемонстрационной текстуры значение равняется 1.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • arrayLength Свойство

    Число элементов матрицы для a MTLTextureType1DArray или MTLTextureType2DArray введите объект текстуры. (требуемый) (только для чтения)

    Объявление

    Swift

    var arrayLength: Int { get }

    Objective C

    @property(readonly) NSUInteger arrayLength

    Обсуждение

    Значение между 1 и 2048, включительно. Если текстура имеет нетип массива, значение равняется 1.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • sampleCount Свойство

    Число выборок в каждом пикселе. (требуемый) (только для чтения)

    Объявление

    Swift

    var sampleCount: Int { get }

    Objective C

    @property(readonly) NSUInteger sampleCount

    Обсуждение

    Если textureType не MTLTextureType2DMultisample, значение равняется 1.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • framebufferOnly Свойство

    Булево значение, указывающее, ограничивается ли текстура для использования в качестве присоединения. Если YEStrue, эта текстура может только использоваться в качестве присоединения для MTLRenderPassDescriptor и не может быть параметр текстуры за MTLRenderCommandEncoder, MTLBlitCommandEncoder, или MTLComputeCommandEncoder. (требуемый) (только для чтения)

    Объявление

    Swift

    var framebufferOnly: Bool { get }

    Objective C

    @property(readonly, getter=isFramebufferOnly) BOOL framebufferOnly

    Обсуждение

    Значение по умолчанию NOfalse, который указывает, что не ограничивается использование текстуры.

    Если YEStrue, ни один replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage: ни getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice: может использоваться с этой текстурой.

    Текстуры получены из a CAMetalDrawable объект может только быть применимым как присоединения, в зависимости от значения framebufferOnly переданный их родителю CAMetalLayer объект. Текстуры, создаваемые непосредственно приложением, не имеют таких ограничений.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • rootResource Свойство

    Значение, указывающее хранение в a MTLResource объект (текстура или буфер) был снова использован как данные изображения для этой текстуры. Если значение nil, тогда это изображение текстуры не снова использует данные изображения другого MTLResource объект. (требуемый) (только для чтения)

    Объявление

    Swift

    var rootResource: MTLResource? { get }

    Objective C

    @property(readonly) id< MTLResource > rootResource

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Размерность каждого изображения, включая то, располагаются ли повторные изображения в массив или куб.

    Объявление

    Swift

    enum MTLTextureType : UInt { case Type1D case Type1DArray case Type2D case Type2DArray case Type2DMultisample case TypeCube case Type3D }

    Objective C

    typedef enum : NSUInteger { MTLTextureType1D = 0, MTLTextureType1DArray = 1, MTLTextureType2D = 2, MTLTextureType2DArray = 3, MTLTextureType2DMultisample = 4, MTLTextureTypeCube = 5, MTLTextureType3D = 7 } MTLTextureType;

    Константы

    • Type1D

      MTLTextureType1D

      Одномерное изображение текстуры.

      Доступный в iOS 8.0 и позже.

    • Type1DArray

      MTLTextureType1DArray

      Массив одномерных изображений текстуры.

      Доступный в iOS 8.0 и позже.

    • Type2D

      MTLTextureType2D

      Двумерное изображение текстуры.

      Доступный в iOS 8.0 и позже.

    • Type2DArray

      MTLTextureType2DArray

      Массив двумерных изображений текстуры.

      Доступный в iOS 8.0 и позже.

    • Type2DMultisample

      MTLTextureType2DMultisample

      Двумерное изображение текстуры, использующее больше чем одну выборку для каждого пикселя.

      Доступный в iOS 8.0 и позже.

    • TypeCube

      MTLTextureTypeCube

      Кубическая текстура с шестью двухмерными изображениями.

      Для a MTLTextureTypeCube текстура, значения свойств описывают одну часть, которая является любой из ее шести сторон. Например, mipmapLevelCount число уровней множественного отображения для одной части, не итоговая сумма уровней множественного отображения в шести частях. По определению, width и height из кубической текстуры то же значение.

      Каждая часть кубической текстуры отображается на сторону с определенной ориентацией, как детализировано в Таблице 1.

      Табличные 1Cube отображения ориентации части

      Индекс части

      Ориентация части

      0

      +X

      1

      - X

      2

      +Y

      3

      - Y

      4

      +Z

      5

      - Z

      Доступный в iOS 8.0 и позже.

    • Type3D

      MTLTextureType3D

      Трехмерное изображение текстуры.

      Доступный в iOS 8.0 и позже.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.