MTLTexture
Наследование
Не применимый
Оператор импорта
Swift
import Metal
Objective C
@import Metal;
Доступность
Доступный в iOS 8.0 и позже.
MTLTexture
протокол определяет интерфейс для объекта, представляющего выделение отформатированных данных изображения. Текстуры используются в качестве исходных данных для вершинного шейдера, программы построения теней фрагмента или вычислить ядра. Они также используются в качестве присоединения, действующего как место назначения рендеринга.
Не используйте стандартное выделение и методы инициализации для создания a MTLTexture
объект. Следующие методы создают и возвращают a MTLTexture
объект:
newTextureWithDescriptor:
методMTLDevice
класс создает объект текстуры с новым выделением ресурсов хранения для данных изображения текстуры, с помощью aMTLTextureDescriptor
объект описать свойства текстуры.newTextureViewWithPixelFormat:
методMTLTexture
класс создает и возвращает aMTLTexture
возразите, что совместно использует то же выделение ресурсов хранения как вызов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:
для копирования данных изображения с текстуры возражают и хранят скопированные данные в системную память.
-
replaceRegion (_: mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:) - replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:
ТребуемыйКопирует блок пикселей от указателя вызывающей стороны в выделение ресурсов хранения для одной части текстуры. (требуемый)
Объявление
Swift
func replaceRegion(_
region
: MTLRegion, mipmapLevellevel
: Int, sliceslice
: Int, withBytespixelBytes
: UnsafePointer<Void>, bytesPerRowbytesPerRow
: Int, bytesPerImagebytesPerImage
: 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
к aMTLTextureType1D
илиMTLTextureType1DArray
текстура,bytesPerRow
не применимо и должен быть установлен в 0. (ЕслиbytesPerRow
не 0, ошибка происходит, если это меньше, чем ширина текстуры или не является кратным числом размера формата пикселя или сжатого размера блока.)bytesPerImage
Шаг, в байтах, между изображениями в исходных данных.
bytesPerImage
когда Вы копируете, только применимоpixelBytes
к aMTLTextureType3D
введите текстуру. Для обычного или упакованного формата пикселя,bytesPerImage
должно быть кратное число размера формата пикселя. (Сжатый формат пикселя не может использоваться с aMTLTextureType3D
текстура.)Когда это не применимо, набор
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 и позже.
См. также
-
replaceRegion (_: mipmapLevel:withBytes:bytesPerRow:) - replaceRegion:mipmapLevel:withBytes:bytesPerRow:
ТребуемыйКопирует блок пикселей от указателя вызывающей стороны в выделение ресурсов хранения для части 0 из текстуры. (требуемый)
Объявление
Swift
func replaceRegion(_
region
: MTLRegion, mipmapLevellevel
: Int, withBytespixelBytes
: UnsafePointer<Void>, bytesPerRowbytesPerRow
: 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
к aMTLTextureType1D
или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 и позже.
См. также
-
getBytes (_: bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice:) - getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice:
ТребуемыйКопирует блок пикселей от выделения ресурсов хранения части текстуры в системную память в указанном адресе. (требуемый)
Объявление
Swift
func getBytes(_
pixelBytes
: UnsafeMutablePointer<Void>, bytesPerRowbytesPerRow
: Int, bytesPerImagebytesPerImage
: Int, fromRegionregion
: MTLRegion, mipmapLevelmipmapLevel
: Int, sliceslice
: 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 и позже.
-
getBytes (_: bytesPerRow:fromRegion:mipmapLevel:) - getBytes:bytesPerRow:fromRegion:mipmapLevel:
ТребуемыйКопирует блок пикселей от выделения ресурсов хранения части текстуры 0 в системную память в указанном адресе. (требуемый)
Объявление
Swift
func getBytes(_
pixelBytes
: UnsafeMutablePointer<Void>, bytesPerRowbytesPerRow
: Int, fromRegionregion
: MTLRegion, mipmapLevelmipmapLevel
: 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
СвойствоШирина изображения текстуры для основного уровня множественно отображается в пикселях. (требуемый) (только для чтения)
Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
height
СвойствоВысота изображения текстуры для основного уровня множественно отображается в пикселях. (требуемый) (только для чтения)
Обсуждение
Для 1D текстура, значение равняется 1.
Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
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
СвойствоБулево значение, указывающее, ограничивается ли текстура для использования в качестве присоединения. Если
YES
true
, эта текстура может только использоваться в качестве присоединения дляMTLRenderPassDescriptor
и не может быть параметр текстуры заMTLRenderCommandEncoder
,MTLBlitCommandEncoder
, илиMTLComputeCommandEncoder
. (требуемый) (только для чтения)Объявление
Swift
var framebufferOnly: Bool { get }
Objective C
@property(readonly, getter=isFramebufferOnly) BOOL framebufferOnly
Обсуждение
Значение по умолчанию
NO
false
, который указывает, что не ограничивается использование текстуры.Если
YES
true
, ни один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.
Доступный в iOS 8.0 и позже.
-
Type3D
MTLTextureType3D
Трехмерное изображение текстуры.
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-