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

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

Разработчик

Кварцевая ссылка платформы ссылка класса QCRenderer

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

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

QCRenderer

A QCRenderer класс разработан для низкоуровневого рендеринга Кварцевых составов Композитора. Если Вы хотите ответить за рендеринг состава к определенному контексту OpenGL — любое использование, это - класс использования NSOpenGLContext класс или a CGLContextObj объект. QCRenderer также позволяет Вам загружать, играть, и управлять составом.

Представлять состав к определенному контексту OpenGL:

  • Создайте экземпляр QCRenderer с помощью одного из методов инициализации, такой как initWithOpenGLContext:pixelFormat:file:.

  • Рендеринг структурирует путем вызова метода renderAtTime:arguments:

  • При использовании двойной буферизации в OpenGL необходимо подкачать буферы OpenGL.

  • Выпустите средство рендеринга, когда Вам больше не будет нужно оно.

Этот фрагмент кода показывает, как реализовать эти задачи:

  • NSOpenGLContext* context = [myNSOpenGLView openGLContext];
  • NSOpenGLPixelFormat* format = [myNSOpenGLView pixelFormat];
  • NSString* path = @”/Users/MyName/MyComposition.qtz;
  • QCRenderer* myRenderer;
  • // Create a Quartz Composer renderer.
  • myRenderer = [[QCRenderer alloc] initWithOpenGLContext:context
  • pixelFormat:format
  • file:path];
  • // Render the first 10 seconds of the composition with steps of 1/25s.
  • for(double t = 0.0; t <= 10.0; t += 1.0/25.0)
  • {
  • [myRenderer renderAtTime:t arguments:nil];
  • [context flushBuffer]; //Required on double-buffered contexts
  • }
  • // Clean up
  • [renderer release];

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


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


Swift

import Quartz

Objective C

@import Quartz;

Доступность


Доступный в OS X v10.4 и позже.
  • Создает объект средства рендеринга с объектом состава и цветовым пространством.

    Объявление

    Swift

    init!(composition composition: QCComposition!, colorSpace colorSpace: CGColorSpace!)

    Objective C

    - (id)initWithComposition:(QCComposition *)composition colorSpace:(CGColorSpaceRef)colorSpace

    Параметры

    composition

    A QCComposition объект. Состав не должен содержать потребительские патчи. Т.е. состав может получить данные, обработать их и произвести выходные значения, но они не могут выполнить рендеринг.

    colorSpace

    Кварцевый объект цветового пространства. Это должно быть цветовым пространством RGB. Передача NULL использовать цветовое пространство RGB по умолчанию. Цветовое пространство используется только для изображений, произведенных выходными портами изображения состава. Для получения дополнительной информации о Кварцевых цветовых пространствах посмотрите Кварц 2D Руководство по программированию.

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

    Инициализированный QCRenderer объект или nil если инициализация не успешна.

    Обсуждение

    Обратите внимание на то, что snapshotImage и createSnapshotImageOfType: всегда возвраты nil на таком QCRenderer экземпляры.

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

    Objective C

    @import Quartz;

    Swift

    import Quartz

    Доступность

    Доступный в OS X v10.5 и позже.

  • Создает объект средства рендеринга с NSOpenGLContext возразите и файл состава.

    Объявление

    Swift

    init!(openGLContext context: NSOpenGLContext!, pixelFormat format: NSOpenGLPixelFormat!, file path: String!)

    Objective C

    - (id)initWithOpenGLContext:(NSOpenGLContext *)context pixelFormat:(NSOpenGLPixelFormat *)format file:(NSString *)path

    Параметры

    context

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

    format

    NSOpenGLPixelFormat объект.

    path

    Строка, указывающая расположение состава (.qtz) файл.

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

    Инициализированный QCRenderer объект или nil если инициализация не успешна.

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

    Objective C

    @import Quartz;

    Swift

    import Quartz

    Доступность

    Доступный в OS X v10.4 и позже.

  • Создает объект средства рендеринга с a CGLContextObj объект, формат пикселя, цветовое пространство и объект состава.

    Объявление

    Swift

    init!(CGLContext context: CGLContextObj, pixelFormat format: CGLPixelFormatObj, colorSpace colorSpace: CGColorSpace!, composition composition: QCComposition!)

    Objective C

    - (id)initWithCGLContext:(CGLContextObj)context pixelFormat:(CGLPixelFormatObj)format colorSpace:(CGColorSpaceRef)colorSpace composition:(QCComposition *)composition

    Параметры

    context

    A CGLContextObj объект. Объект, который Вы предоставляете, должен иметь и цвет и буфер глубины.

    format

    A CGLPixelFormatObj объект.

    colorSpace

    Кварцевый объект цветового пространства. Это должно быть цветовым пространством RGB. Передача NULL использовать цветовое пространство RGB по умолчанию. Для получения дополнительной информации о Кварцевых цветовых пространствах посмотрите Кварц 2D Руководство по программированию.

    composition

    A QCComposition объект.

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

    Инициализированный QCRenderer объект или nil если инициализация не успешна.

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

    Objective C

    @import Quartz;

    Swift

    import Quartz

    Доступность

    Доступный в OS X v10.5 и позже.

  • Создает внеэкранное средство рендеринга данного размера с предоставленным цветовым пространством и объектом состава.

    Объявление

    Swift

    init!(offScreenWithSize size: NSSize, colorSpace colorSpace: CGColorSpace!, composition composition: QCComposition!)

    Objective C

    - (id)initOffScreenWithSize:(NSSize)size colorSpace:(CGColorSpaceRef)colorSpace composition:(QCComposition *)composition

    Параметры

    size

    Размер внеэкранного средства рендеринга.

    colorSpace

    Кварцевый объект цветового пространства. Это должно быть цветовым пространством RGB. Передача NULL использовать цветовое пространство RGB по умолчанию. Для получения дополнительной информации о Кварцевых цветовых пространствах посмотрите Кварц 2D Руководство по программированию.

    composition

    A QCComposition объект.

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

    Инициализированный QCRenderer объект или nil если инициализация не успешна.

    Обсуждение

    Этот метод создает внутренний контекст OpenGL и пиксельный буфер. Поскольку внеэкранный рендеринг выполняется на GPU, максимальный размер рендеринга ограничивается способностью GPU. На типичных аппаратных средствах предел, по крайней мере, 2048 к 2048, но часто 4096 4 096. Доступный VRAM влияет на производительность.

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

    Objective C

    @import Quartz;

    Swift

    import Quartz

    Доступность

    Доступный в OS X v10.5 и позже.

  • Представляет кадр состава в требуемое время.

    Объявление

    Swift

    func renderAtTime(_ time: NSTimeInterval, arguments arguments: [NSObject : AnyObject]!) -> Bool

    Objective C

    - (BOOL)renderAtTime:(NSTimeInterval)time arguments:(NSDictionary *)arguments

    Параметры

    time

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

    arguments

    Дополнительный словарь, который может иметь любую из записей, определенных в “Rendering Arguments”.

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

    YEStrue в случае успеха.

    Обсуждение

    Необходимо вызвать этот метод каждый раз, когда Вы хотите представить кадр состава.

    Все состояния OpenGL сохраняются кроме следующего:

    • Состояния, определенные GL_CURRENT_BIT

    • Текстуры на каждом модуле и режиме среды

    • Матричный режим

    Если Вы используете двойные буферы, имеете в виду что renderAtTime:arguments: метод не подкачивает буферы передней и задней части контекста OpenGL. Необходимо выполнить подкачку сами путем вызова команды OpenGL flushBuffer на контексте, связанном со средством рендеринга.

    При чередовании кода OpenGL с рендерингом состава удостоверьтесь, что контекст OpenGL является текущим. Если Вы используете NSOpenGLContext класс, вызовите makeCurrentContext метод до рендеринга. Если Вы используете API CGL, вызываете функцию CGLSetCurrentContext.

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

    Objective C

    @import Quartz;

    Swift

    import Quartz

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает объект состава, связанный со средством рендеринга.

    Объявление

    Swift

    func composition() -> QCComposition!

    Objective C

    - (QCComposition *)composition

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

    Объект состава.

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

    Objective C

    @import Quartz;

    Swift

    import Quartz

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвраты NSImage объект текущего изображения в контексте OpenGL связался со средством рендеринга.

    Объявление

    Swift

    func snapshotImage() -> NSImage!

    Objective C

    - (NSImage *)snapshotImage

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

    Изображение снимка.

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

    Objective C

    @import Quartz;

    Swift

    import Quartz

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает текущее изображение в контексте OpenGL, связанном со средством рендеринга, как объект изображения предоставленного типа изображения.

    Объявление

    Swift

    func createSnapshotImageOfType(_ type: String!) -> AnyObject!

    Objective C

    - (id)createSnapshotImageOfType:(NSString *)type

    Параметры

    type

    Строка, указывающая любой из следующих типов изображения: NSBitmapImageRep, NSImage, CIImage, CGImage, CVOpenGLBuffer, CVPixelBuffer.

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

    Изображение снимка в предоставленном типе изображения. Вы ответственны за выпуск этого объекта, когда Вам больше не нужен он.

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

    Objective C

    @import Quartz;

    Swift

    import Quartz

    Доступность

    Доступный в OS X v10.5 и позже.

  • Параметры, что можно передать renderAtTime:arguments: метод.

    Объявление

    Swift

    let QCRendererEventKey: NSString! let QCRendererMouseLocationKey: NSString!

    Objective C

    extern NSString* const QCRendererEventKey; extern NSString* const QCRendererMouseLocationKey;

    Константы

    • QCRendererEventKey

      QCRendererEventKey

      Ключ для события средства рендеринга. Присваиваемое значение NSEvent объект.

      Доступный в OS X v10.4 и позже.

    • QCRendererMouseLocationKey

      QCRendererMouseLocationKey

      Ключ для расположения мыши. Присваиваемое значение NSPoint объект, хранивший в NSValue объект. Расположение мыши находится в нормализованных координатах относительно области просмотра контекста OpenGL ([0,1]x[0,1] с источником (0,0) в нижнем левом углу).

      Доступный в OS X v10.4 и позже.