Ссылка 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>?>) -> CVReturnObjective 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 и позже.
-
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 );
Параметры
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 и позже.
-
Атрибуты, указывающие поведение кэша текстуры, используемое с
CVMetalTextureCacheCreate
функция.Объявление
Swift
let kCVMetalTextureCacheMaximumTextureAgeKey: CFString!
Objective C
const CFStringRef kCVMetalTextureCacheMaximumTextureAgeKey;
Константы
-
kCVMetalTextureCacheMaximumTextureAgeKey
По умолчанию, возраст текстур из кэша после одной секунды. Для отключения механизма возраста полностью установите максимальный возраст текстуры нуля. Можно также использовать
CVMetalTextureCacheFlush
вручную выселить текстуры кэша.Доступный в iOS 8.0 и позже.
-