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

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

Разработчик

Ссылка платформы CoreVideo ссылка CVMetalTextureCache

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

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

Ссылка CVMetalTextureCache

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


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

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


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

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


Swift

import CoreVideo

Objective C

@import CoreVideo;

Кэш текстуры Металла CoreVideo создает и управляет CVMetalTextureRef текстуры. Вы используете a CVMetalTextureCache возразите, чтобы непосредственно читать из или записать в основанные на GPU буферы изображения CoreVideo в рендеринге, или GPU вычисляет задачи, использующие Металлическую платформу. Например, можно использовать Металлический кэш текстуры для представления живого вывода от камеры устройства в 3D сцене, представленной с Металлом.

Функции

  • Возвращает Базовый идентификатор типа Основы для кэша текстуры Металла CoreVideo.

    Объявление

    Swift

    func CVMetalTextureCacheGetTypeID() -> CFTypeID

    Objective 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>?>) -> CVReturn

    Objective C

    CVReturn CVMetalTextureCacheCreate ( CFAllocatorRef allocator, CFDictionaryRef cacheAttributes, id< MTLDevice > metalDevice, CFDictionaryRef textureAttributes, CVMetalTextureCacheRef *cacheOut );

    Параметры

    allocator

    CFAllocatorRef использовать для выделения кэша текстуры.

    cacheAttributes

    Указание словаря опции для поведения кэша, или NULL использовать опции по умолчанию. Для применимых ключей и значений, посмотрите Атрибуты Кэша.

    metalDevice

    Металлическое устройство, для которого кэш создаст объекты текстуры.

    textureAttributes

    Указание словаря опции для создания текстур от кэша, или NULL использовать опции по умолчанию.

    cacheOut

    По возврату, содержит недавно создаваемый кэш текстуры.

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

    После успешного создания кэша текстуры, эта функция возвраты kCVReturnSuccess.

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

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

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

  • Создает буфер текстуры Металла CoreVideo из существующего буфера изображения.

    Объявление

    Swift

    func CVMetalTextureCacheCreateTextureFromImage(_ allocator: CFAllocator!, _ textureCache: CVMetalTextureCache!, _ sourceImage: CVImageBuffer!, _ textureAttributes: CFDictionary!, _ pixelFormat: MTLPixelFormat, _ width: Int, _ height: Int, _ planeIndex: Int, _ textureOut: UnsafeMutablePointer<Unmanaged<CVMetalTexture>?>) -> CVReturn

    Objective C

    CVReturn CVMetalTextureCacheCreateTextureFromImage ( CFAllocatorRef allocator, CVMetalTextureCacheRef textureCache, CVImageBufferRef sourceImage, CFDictionaryRef textureAttributes, MTLPixelFormat pixelFormat, size_t width, size_t height, size_t planeIndex, CVMetalTextureRef *textureOut );

    Параметры

    allocator

    CFAllocatorRef использовать для выделения текстуры.

    textureCache

    Объект кэша текстуры, который будет создавать и управлять текстурой.

    sourceImage

    CoreVideo отображают буфер, из которого можно создать Металлическую текстуру.

    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 = CVMetalTextureCache

    Objective C

    typedef struct __CVMetalTextureCache *CVMetalTextureCacheRef;

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

    Objective C

    @import CoreVideo;

    Swift

    import CoreVideo

    Доступность

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

Константы

Константы CVMetalTextureCache

  • Атрибуты, указывающие поведение кэша текстуры, используемое с CVMetalTextureCacheCreate функция.

    Объявление

    Swift

    let kCVMetalTextureCacheMaximumTextureAgeKey: CFString!

    Objective C

    const CFStringRef kCVMetalTextureCacheMaximumTextureAgeKey;

    Константы

    • kCVMetalTextureCacheMaximumTextureAgeKey

      По умолчанию, возраст текстур из кэша после одной секунды. Для отключения механизма возраста полностью установите максимальный возраст текстуры нуля. Можно также использовать CVMetalTextureCacheFlush вручную выселить текстуры кэша.

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