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

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

Разработчик

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

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

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

MTLBlitCommandEncoder

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


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

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


Swift

import Metal

Objective C

@import Metal;

Доступность


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

MTLBlitCommandEncoder протокол используется для определения интерфейса для объектов, которые могут закодировать копирующие ресурс команды в кадровый буфер. Используйте эти команды для управления содержанием текстур и буферов.

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

Ваше приложение не определяет классы, реализующие этот протокол. Создать a MTLBlitCommandEncoder объект, сначала вызовите blitCommandEncoder метод MTLCommandBuffer объект, в который Вы хотите закодировать команды копирования битового массива. Затем, обратитесь к методам MTLBlitCommandEncoder объект ставить в очередь команды копирования битового массива. Тогда вызовите endEncoding закончить процесс кодирования.

  • Данные копий между двумя буферными объектами: из источника буферизуют в целевой буфер. (требуемый)

    Объявление

    Swift

    func copyFromBuffer(_ sourceBuffer: MTLBuffer, sourceOffset sourceOffset: Int, toBuffer destinationBuffer: MTLBuffer, destinationOffset destinationOffset: Int, size size: Int)

    Objective C

    - (void)copyFromBuffer:(id<MTLBuffer>)sourceBuffer sourceOffset:(NSUInteger)sourceOffset toBuffer:(id<MTLBuffer>)destinationBuffer destinationOffset:(NSUInteger)destinationOffset size:(NSUInteger)size

    Параметры

    sourceBuffer

    Источник MTLBuffer объект для работы копии. Значение не должно быть nil.

    sourceOffset

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

    destinationBuffer

    Место назначения MTLBufferобъект для работы копии. Значение не должно быть nil.

    destinationOffset

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

    size

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

    Обсуждение

    Использовать sourceOffset начинать копировать данные с где-нибудь в исходном буфере и использовании destinationOffset начинать копировать данные в где-нибудь в целевом буфере.

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

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func copyFromBuffer(_ sourceBuffer: MTLBuffer, sourceOffset sourceOffset: Int, sourceBytesPerRow sourceBytesPerRow: Int, sourceBytesPerImage sourceBytesPerImage: Int, sourceSize sourceSize: MTLSize, toTexture destinationTexture: MTLTexture, destinationSlice destinationSlice: Int, destinationLevel destinationLevel: Int, destinationOrigin destinationOrigin: MTLOrigin)

    Objective C

    - (void)copyFromBuffer:(id<MTLBuffer>)sourceBuffer sourceOffset:(NSUInteger)sourceOffset sourceBytesPerRow:(NSUInteger)sourceBytesPerRow sourceBytesPerImage:(NSUInteger)sourceBytesPerImage sourceSize:(MTLSize)sourceSize toTexture:(id<MTLTexture>)destinationTexture destinationSlice:(NSUInteger)destinationSlice destinationLevel:(NSUInteger)destinationLevel destinationOrigin:(MTLOrigin)destinationOrigin

    Параметры

    sourceBuffer

    Источник MTLBuffer объект, содержащий данные для работы копии. Значение не должно быть nil.

    sourceOffset

    То, где в источнике буферизуют копирование, запускается с в байтах. Расположение должно быть выровненное к размеру формата пикселя целевой текстуры. Значение должно быть кратным числом 64 байты.

    sourceBytesPerRow

    Это указывает шаг в байтах между строками исходной буферной памяти. Значение должно быть кратным числом 64 байты и должны быть, должно быть меньше чем или равно 32 767 умноженным размером одного пикселя целевой текстуры

    sourceBytesPerImage

    Для 3D текстур и 2D текстур массива, шага в байтах между 2D изображениями исходной буферной памяти. Значение должно быть кратным числом 64 байты.

    sourceSize

    Число пикселей, по ширине, высоты, и глубины, для копирования в текстуру. Когда Вы копируете 1D, текстура, высота и глубина должны быть 1. При копировании 2D текстуры глубина должна быть 1.

    destinationTexture

    Место назначения MTLTexture объект для работы копии. Значение не должно быть nil и не должен быть a framebufferOnly текстура, и не должна иметь формата пикселя PVRTC.

    destinationSlice

    Часть целевой текстуры.

    destinationLevel

    Уровень множественного отображения целевой текстуры.

    destinationOrigin

    То, где в месте назначения текстурируют копирование, запускается в байтах.

    Обсуждение

    Использовать destinationSlice и destinationLevel выбрать единственное изображение целевой текстуры.

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

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func copyFromTexture(_ sourceTexture: MTLTexture, sourceSlice sourceSlice: Int, sourceLevel sourceLevel: Int, sourceOrigin sourceOrigin: MTLOrigin, sourceSize sourceSize: MTLSize, toTexture destinationTexture: MTLTexture, destinationSlice destinationSlice: Int, destinationLevel destinationLevel: Int, destinationOrigin destinationOrigin: MTLOrigin)

    Objective C

    - (void)copyFromTexture:(id<MTLTexture>)sourceTexture sourceSlice:(NSUInteger)sourceSlice sourceLevel:(NSUInteger)sourceLevel sourceOrigin:(MTLOrigin)sourceOrigin sourceSize:(MTLSize)sourceSize toTexture:(id<MTLTexture>)destinationTexture destinationSlice:(NSUInteger)destinationSlice destinationLevel:(NSUInteger)destinationLevel destinationOrigin:(MTLOrigin)destinationOrigin

    Параметры

    sourceTexture

    Источник MTLTexture объект для работы копии. Значение не должно быть nil и не должен быть a framebufferOnly текстура.

    sourceSlice

    Часть исходной текстуры.

    sourceLevel

    Уровень множественного отображения исходной текстуры.

    sourceOrigin

    Источник части источника текстурирует для работы копии.

    sourceSize

    Размер части источника текстурирует для работы копии.

    destinationTexture

    Место назначения MTLTexture объект для работы копии. Значение не должно быть nil и не должен быть a framebufferOnly текстура.

    destinationSlice

    Часть целевой текстуры.

    destinationLevel

    Уровень множественного отображения целевой текстуры.

    destinationOrigin

    То, где в месте назначения текстурируют копирование, запускается.

    Обсуждение

    Использовать sourceSlice и sourceLevel вместе выбрать единственное изображение исходной текстуры. Использовать destinationSlice и destinationLevel выбрать единственное изображение целевой текстуры.

    Источник и целевые текстуры должны иметь тот же формат пикселя и то же демонстрационное количество. Для сжатых форматов пикселя область копии должна быть выровненная к размеру блока того формата пикселя. Перекрывающиеся области в единственной текстуре приводят к неопределенным результатам.

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

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func copyFromTexture(_ sourceTexture: MTLTexture, sourceSlice sourceSlice: Int, sourceLevel sourceLevel: Int, sourceOrigin sourceOrigin: MTLOrigin, sourceSize sourceSize: MTLSize, toBuffer destinationBuffer: MTLBuffer, destinationOffset destinationOffset: Int, destinationBytesPerRow destinationBytesPerRow: Int, destinationBytesPerImage destinationBytesPerImage: Int)

    Objective C

    - (void)copyFromTexture:(id<MTLTexture>)sourceTexture sourceSlice:(NSUInteger)sourceSlice sourceLevel:(NSUInteger)sourceLevel sourceOrigin:(MTLOrigin)sourceOrigin sourceSize:(MTLSize)sourceSize toBuffer:(id<MTLBuffer>)destinationBuffer destinationOffset:(NSUInteger)destinationOffset destinationBytesPerRow:(NSUInteger)destinationBytesPerRow destinationBytesPerImage:(NSUInteger)destinationBytesPerImage

    Параметры

    sourceTexture

    Источник MTLTexture объект для работы копии. Значение не должно быть nil и не должен быть a framebufferOnly текстура. Текстура должна иметь демонстрационное количество 1.

    sourceSlice

    Часть исходной текстуры.

    sourceLevel

    Уровень множественного отображения исходной текстуры.

    sourceOrigin

    Источник части источника текстурирует для работы копии.

    sourceSize

    Размер части источника текстурирует для работы копии.

    destinationBuffer

    Целевой буфер для работы копии.

    destinationOffset

    Байтовое смещение в буфер для копирования первой строки в. Значение должно быть кратным числом 64 байты.

    destinationBytesPerRow

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

    destinationBytesPerImage

    Для 3D текстур и 2DArray текстуры, шаг в байтах между 2D изображениями источника текстурирует память. Значение должно быть кратным числом 64 байты. и должно быть меньше чем или равно 32767 умноженный на размер одного пикселя исходной текстуры.

    Обсуждение

    Использовать sourceSlice и sourceLevel выбрать единственное изображение исходной текстуры.

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

    Если исходная текстура имеет формат пикселя PVRTC, этот метод не может использоваться.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func fillBuffer(_ buffer: MTLBuffer, range range: NSRange, value value: UInt8)

    Objective C

    - (void)fillBuffer:(id<MTLBuffer>)buffer range:(NSRange)range value:(uint8_t)value

    Параметры

    buffer

    MTLBuffer возразите для заполнения. Значение не должно быть nil.

    range

    Диапазон байтов для заполнения. Выравнивание и длина диапазона должны оба быть кратным числом 4 байты. Длина диапазона не должна быть 0.

    value

    Значение для записи в каждый байт.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func generateMipmapsForTexture(_ tex: MTLTexture)

    Objective C

    - (void)generateMipmapsForTexture:(id<MTLTexture>)tex

    Параметры

    tex

    MTLTexture объект, для которого можно генерировать, множественно отображается.

    Обсуждение

    Множественные отображения сгенерированы с масштабированными изображениями для всех уровней до максимального уровня. mipmapLevelCount для tex должно быть больше, чем 1. Множественно отобразите работы генерации только для текстур с цветом-renderable и - поддающиеся фильтрованию форматы пикселя.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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