Ссылка CVMetalTextureCache
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CoreVideo
Objective C
@import CoreVideo;
Кэш текстуры Металла CoreVideo создает и управляет CVMetalTextureRef текстуры. Вы используете a CVMetalTextureCache возразите, чтобы непосредственно читать из или записать в основанные на GPU буферы изображения CoreVideo в рендеринге, или GPU вычисляет задачи, использующие Металлическую платформу. Например, можно использовать Металлический кэш текстуры для представления живого вывода от камеры устройства в 3D сцене, представленной с Металлом.
-
Возвращает Базовый идентификатор типа Основы для кэша текстуры Металла CoreVideo.
Объявление
Swift
func CVMetalTextureCacheGetTypeID() -> CFTypeIDObjective C
CFTypeID CVMetalTextureCacheGetTypeID ( void );Возвращаемое значение
Базовый идентификатор типа Основы для
CVMetalTextureCacheRefввести.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в iOS 8.0 и позже.
-
Создает новый кэш текстуры.
Объявление
Swift
func CVMetalTextureCacheCreate(_allocator: CFAllocator!, _cacheAttributes: CFDictionary!, _metalDevice: MTLDevice!, _textureAttributes: CFDictionary!, _cacheOut: UnsafeMutablePointer<Unmanaged<CVMetalTextureCache>?>) -> CVReturnObjective C
CVReturn CVMetalTextureCacheCreate ( CFAllocatorRef allocator, CFDictionaryRef cacheAttributes, id< MTLDevice > metalDevice, CFDictionaryRef textureAttributes, CVMetalTextureCacheRef *cacheOut );Параметры
allocatorCFAllocatorRefиспользовать для выделения кэша текстуры.cacheAttributesУказание словаря опции для поведения кэша, или
NULLиспользовать опции по умолчанию. Для применимых ключей и значений, посмотрите Атрибуты Кэша.metalDeviceМеталлическое устройство, для которого кэш создаст объекты текстуры.
textureAttributesУказание словаря опции для создания текстур от кэша, или
NULLиспользовать опции по умолчанию.cacheOutПо возврату, содержит недавно создаваемый кэш текстуры.
Возвращаемое значение
После успешного создания кэша текстуры, эта функция возвраты
kCVReturnSuccess.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в iOS 8.0 и позже.
-
CVMetalTextureCacheCreateTextureFromImage (_: _: _: _: _: _: _: _: _:) CVMetalTextureCacheCreateTextureFromImageСоздает буфер текстуры Металла CoreVideo из существующего буфера изображения.
Объявление
Swift
func CVMetalTextureCacheCreateTextureFromImage(_allocator: CFAllocator!, _textureCache: CVMetalTextureCache!, _sourceImage: CVImageBuffer!, _textureAttributes: CFDictionary!, _pixelFormat: MTLPixelFormat, _width: Int, _height: Int, _planeIndex: Int, _textureOut: UnsafeMutablePointer<Unmanaged<CVMetalTexture>?>) -> CVReturnObjective C
CVReturn CVMetalTextureCacheCreateTextureFromImage ( CFAllocatorRef allocator, CVMetalTextureCacheRef textureCache, CVImageBufferRef sourceImage, CFDictionaryRef textureAttributes, MTLPixelFormat pixelFormat, size_t width, size_t height, size_t planeIndex, CVMetalTextureRef *textureOut );Параметры
allocatorCFAllocatorRefиспользовать для выделения текстуры.textureCacheОбъект кэша текстуры, который будет создавать и управлять текстурой.
sourceImageCoreVideo отображают буфер, из которого можно создать Металлическую текстуру.
textureAttributesУказание словаря опции для создания текстуры от кэша, или
NULLиспользовать опции по умолчанию.pixelFormatМеталлический формат пикселя постоянное описание данных буфера изображения.
widthШирина, в пикселях, изображения текстуры.
heightВысота, в пикселях, изображения текстуры.
planeIndexЕсли буфер изображения является планарным, индекс плоскости, от которой можно отобразить данные текстуры. Проигнорированный для непланарных буферов изображения.
textureOutПо возврату, содержит недавно создаваемый Металлический буфер текстуры.
Возвращаемое значение
После успешного создания текстуры, эта функция возвраты
kCVReturnSuccess.Обсуждение
Эта функция создает или возвращает кэшируемый буфер текстуры Металла CoreVideo, отображенный на буфере изображения согласно указанному, создавая живую привязку между основанным на устройстве буфером изображения и a
MTLTextureобъект.Обратите внимание на то, что CoreVideo явно не объявляет, что любые типы формата пикселя Металлические совместимый. Если Вы указываете YES для
kCVPixelBufferMetalCompatibilityKeyопция при создании или запросе пиксельных буферов CoreVideo, те буферы будут Металлические совместимый. Таким образом это - Ваша ответственность выбрать надлежащий формат пикселя для буферов.Следующий фрагмент кода демонстрирует некоторые отображения в качестве примера:
// Mapping a BGRA buffer:CVMetalTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, MTLPixelFormatBGRA8Unorm, width, height, 0, &outTexture);// Mapping the luma plane of a 420v buffer:CVMetalTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, MTLPixelFormatR8Unorm, width, height, 0, &outTexture);// Mapping the chroma plane of a 420v buffer as a source texture:CVMetalTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, MTLPixelFormatRG8Unorm width/2, height/2, 1, &outTexture);// Mapping a yuvs buffer as a source texture (note: yuvs/f and 2vuy are unpacked and resampled -- not colorspace converted)CVMetalTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, MTLPixelFormatGBGR422, width, height, 1, &outTexture);
Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в iOS 8.0 и позже.
-
Выполняет внутренние операции обслуживания/переработки на кэше текстуры.
Объявление
Swift
func CVMetalTextureCacheFlush(_textureCache: CVMetalTextureCache!, _options: CVOptionFlags)Objective C
void CVMetalTextureCacheFlush ( CVMetalTextureCacheRef textureCache, CVOptionFlags options );Параметры
textureCacheКэш текстуры возражает для сбрасывания.
optionsОпции для работы сброса. Этот параметр в настоящее время не использован и должен быть установлен на
0.Обсуждение
Когда Вы вызываете, кэш текстуры автоматически сбрасывает в настоящее время неиспользованные ресурсы
CVMetalTextureCacheCreateTextureFromImageфункция, но может, можно также сбросить кэш явно путем вызывания этой функции.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в iOS 8.0 и позже.
-
Ссылка на Металл CoreVideo текстурирует кэш.
Объявление
Swift
typealias CVMetalTextureCacheRef = CVMetalTextureCacheObjective C
typedef struct __CVMetalTextureCache *CVMetalTextureCacheRef;Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в iOS 8.0 и позже.
-
Атрибуты, указывающие поведение кэша текстуры, используемое с
CVMetalTextureCacheCreateфункция.Объявление
Swift
let kCVMetalTextureCacheMaximumTextureAgeKey: CFString!Objective C
const CFStringRef kCVMetalTextureCacheMaximumTextureAgeKey;Константы
-
kCVMetalTextureCacheMaximumTextureAgeKeyПо умолчанию, возраст текстур из кэша после одной секунды. Для отключения механизма возраста полностью установите максимальный возраст текстуры нуля. Можно также использовать
CVMetalTextureCacheFlushвручную выселить текстуры кэша.Доступный в iOS 8.0 и позже.
-
