Кварцевый композитор - Quartz Composer

Кварцевый композитор
Кварцевый композитор
Интерфейс Quartz Composer и интерактивная композиция
Интерфейс Quartz Composer 4.0 и композиция
Разработчики)Компьютер Apple
Стабильный выпуск
4.6.2 / 12 декабря 2016 г.
Операционная системаMac OS X v10.4 (Версия 2.0)

Mac OS X v10.5 (Версия 3.0)
Mac OS X версии 10.5 + SDK для iPhone (Версия 3.1)
Mac OS X v10.6 (Версия 4.0)

Mac OS X версии 10.12 (Версия 4.6.2)
Доступно ванглийский
ТипЯзык визуального программирования /Инструмент разработки программного обеспечения
ЛицензияПроприетарный
Интернет сайтApple - Quartz Composer (Руководство пользователя)

Кварцевый композитор это узел на основе язык визуального программирования предоставляется как часть Xcode среда разработки в macOS для обработки и рендеринг графические данные.

Quartz Composer использует OpenGL (включая GLSL ), OpenCL (только в Mac OS X 10.6 и новее), Основной образ, Основное видео, JavaScript, и другие технологии для создания API и инструмент разработчика, основанный на простой парадигме визуального программирования. Apple внедрила кварцевые технологии глубоко в Операционная система. Композиции, созданные в Quartz Composer, можно воспроизводить автономно в любом QuickTime -осведомленное приложение[1] (хотя только в Mac OS X 10.4 и новее), как система Хранитель экрана,[2] в качестве визуализатора iTunes, из приложения Quartz Composer или может быть встроен в Какао или же Углерод приложение через предоставленный пользовательский интерфейс виджеты. Хотя Quartz Composer включен в iPhone SDK, по состоянию на декабрь 2015 г. нет возможности запускать Quartz Compositions на iOS устройств. Начиная с macOS 10.15 Catalina, фреймворк Quartz Composer устарел, хотя он по-прежнему присутствует для совместимости.[3]

Патчи

Программирование кварца через Quartz Composer работает путем реализации и подключения патчи.[4] Подобно процедурам в традиционных языках программирования, патчи являются базовыми процессорами. Они исполняют и дают результат. Для повышения производительности выполнение патча следует ленивая оценка подход, означающий, что исправления выполняются только тогда, когда требуется их вывод. Есть три типа патчей: патчи потребителей, процессоров и внешнего ввода, которые могут принимать и выводить щелчки мыши, прокрутки и движения; MIDI и аудио; клавиатура; или другие движения. Набор патчей можно объединить в один, называемый макросом. Макросы могут быть вложенными, а их подпрограммы также редактироваться.

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

Некоторые патчи могут иметь подпатчи, что позволяет изменять глобальные параметры только включенных подпатчей. Это полезно для освещения, 3D-трансформации и GLSL шейдеры, среди прочего. Поддержка субпатчей обозначается квадратными углами на патче, а не обычными закругленными углами.

С версией 3.0 стало возможно превращать композиции в виртуальные патчи. Это позволяет пользователю повторно использовать функциональные возможности без необходимости хранить дубликаты копий в каждой композиции. Редактор Quartz Composer Editor позволяет пользователю сохранять «сплющенную» копию (с полностью развернутыми внутри виртуальными патчами) для облегчения распространения. Версия 4.0 расширила эту функциональность еще больше и автоматически включает «сплющенные» копии виртуальных исправлений для использования в качестве запасного варианта, если желаемый виртуальный патч не установлен в хост-системе. Это значительно упрощает распространение композиции.

С выпуском Leopard сетевые функции были значительно улучшены. Стало возможным передавать данные и синхронизировать через сетевой интерфейс, а также добавлена ​​поддержка Открыть управление звуком передача и прием.

Плагины

Интерфейс Quartz Composer 3.0.

Также новым в версии 3.0 была возможность писать собственные плагины патчей, используя Xcode шаблон, а понятие "безопасный режим ", где плагины и другие небезопасные исправления не загружаются. Это предотвращает выполнение вредоносными композициями опасных или небезопасных операций. Пользовательские исправления, использующие шаблон Apple Xcode, всегда считаются небезопасными.

Можно было разработать собственные плагины для исправлений для версии 2.0, но API был недокументированным и частным и никогда не поддерживался Apple. В конце концов, были выпущены шаблоны, упрощающие эту процедуру.[5]

Скрытые параметры

В редакторе Quartz Composer, удерживая ключ опции при выборе «Предпочтения ...» в меню добавляются 3 дополнительные вкладки с параметрами для настройки пользователем. Эти параметры включают настройки системы, настройки редактора и настройки интеграции QuickTime. Среди заметных опций - расширенные всплывающие подсказки, программный рендеринг и рендеринг без ограничения частоты кадров. Мультисэмпловое сглаживание (MSAA) было добавлено в качестве скрытой опции в версии 4.0, позволяя сглаживание внутри редактора QC, хотя оно работает только на графических процессорах, поддерживающих MSAA.

Собственные типы данных

Данные внутри QC могут быть одного из следующих типов:

  • Булево - логическое значение, 0 или 1
  • Индекс - положительное целое число от 0 до 2147483647
  • Число - а двойная точность число с плавающей запятой
  • Строка - а юникод нить
  • Цвет - ан RGBA или же CMYK квартет, или Оттенки серого ценить
  • Изображение - 2D-изображение произвольных (возможно бесконечных) размеров.
  • Структура - именованный или упорядоченный набор объектов, включая вложенные структуры.
  • Виртуальный - любой из вышеперечисленных

В версии 4.0 были представлены два дополнительных типа:

  • Сетка - набор вершин и нормалей для каждой вершины, координаты текстуры и цвета в 3-х местный
  • Взаимодействие - тип без значений, используемый для связывания пользовательского ввода с интерактивными элементами композиции.

Преобразование типов

Обычно данные можно прозрачно преобразовать в другие типы. В Quartz Composer 3.0 связи между патчами меняют цвет, чтобы указать на происходящие преобразования. Желтые соединения означают, что преобразование не происходит, оранжевый указывает на возможную потерю данных в результате преобразования (число в индекс), а красный означает серьезное преобразование; Изображение в логическое, например.

Композиции

Документы Quartz Composer называются Композиции. Композиции бинарные Списки недвижимости (хотя XML версии также поддерживаются) с расширение имени файла .qtz, а com.apple.quartz-composer-композиция ИМП.[6] Патчи, их соединения и состояния их входных портов сохраняются в файле композиции. Изображения также могут храниться внутри композиции, создавая автономные композиции со встроенной графикой. При перетаскивании файла фильма в редактор Quartz Composer создается ссылка на файл фильма, обеспечивающая изменяющееся изображение, которое можно подключить к модулю визуализации.

Композиции также хранятся метаданные например автор композиции, Авторские права, и описание. При желании пользователь также может добавлять произвольные элементы метаданных.

Поддерживаются многие форматы изображений, в том числе JPEG, JPEG2000, Гифка, PNG, TIFF, TGA, OpenEXR, BMP, ICO, PDF, ИЗОБРАЖЕНИЕ, ICNS, и некоторые типы цифровых камер RAW.[7] Изображения сохраняются в своей исходной форме как можно дольше перед растеризацией для отображения. Это означает, что Quartz Composer будет сохранять векторные изображения в виде векторов при кадрировании, масштабировании, повороте или преобразовании, что позволяет ему работать с очень большими логическими размерами изображения без использования большого количества памяти или времени обработки. Такая функциональность наиболее очевидна при работе с текстовыми изображениями или файлами PDF.

Версия 3.0 добавила возможность добавлять аннотации к областям композиции, называемой Примечания. Эти записи параллельны Комментарии на других языках программирования. Заметки могут быть желтыми, красными, зелеными, синими или серыми и могут перекрывать другие заметки.

Протоколы композиции

В версии 3.0 была представлена ​​концепция протоколов композиции. Протоколы предоставляют шаблон необходимых и дополнительных входов и выходов для квалификации соответствующих композиций для различных целей. По умолчанию доступны следующие протоколы:

  • Графическая анимация - у них нет необходимых входов или выходов, но они необходимы для рендеринга на экране. Графическая анимация полезна для анимированных фонов в таких приложениях, как Основной доклад.
  • Фильтр изображения - изменяет изображение с помощью фильтров. В фильтрах изображений нельзя использовать средства визуализации, если они не находятся внутри среды визуализации в изображении.
  • Графический переход - генерирует переход от исходного изображения к конечному изображению в течение фиксированного интервала времени.
  • RSS Visualizer - анализирует и отображает RSS Подача.
  • Хранитель экрана - интегрируется с Finder для анимированных хранителей экрана.
  • Музыкальный визуализатор - интегрируется с iTunes для аудиовизуализации.

Есть дополнительный протокол, который Apple использует в своем частном API:

  • Photo Visualizer - получает список изображений, предоставляет информацию об общем количестве изображений и текущем отображаемом изображении.

В версии 4.0 был добавлен один новый протокол:

  • Mesh Filter - деформирует входную сетку.

Официально поддерживаемого способа добавления дополнительных протоколов в Quartz Composer нет. Однако есть некоторые недокументированные методы, которые могут сделать это возможным в будущем.[8]

Время выполнения композиции

Помимо протоколов, композиции также могут соответствовать разным временам выполнения, в которых доступен Quartz Composer. В Leopard есть среда выполнения для Tiger (32-разрядная версия), а также 32-разрядная и 64-разрядная версии среды выполнения Leopard Quartz Composer. Редактор также может указывать использованные исправления, которые небезопасны или недоступны в Tiger, чтобы помочь в создании совместимых композиций.

Репозиторий композиции

Общесистемный репозиторий композиции доступен начиная с версии 3.0.[9] Это позволяет приложениям делиться и использовать общие композиции для эффектов и обработки. Кроме того, приложения могут запрашивать в репозитории композиции, соответствующие определенным критериям, например соответствие протоколу.

Репозиторий распространяется на 3 файловая система локации:

  • / System / Library / Compositions - основные системные композиции (пользователь обычно не изменяет их)
  • / Библиотека / Композиции - композиции доступны для всех пользователей
  • / Users / username / Library / Compositions - композиции доступны только этому пользователю

Добавить композиции в репозиторий так же просто, как добавить файл композиции в одно из этих мест.

Сравнение композиций

В Quartz Composer 3.0 стало возможно сравнивать композиции. Эта функция позволяет пользователю сравнивать входные данные, визуализированный результат и внешний вид графика любых двух композиций.

Связанное программное обеспечение

Кварцевый композитор-визуализатор

Инструмент разработчика под названием Quartz Composer Visualizer был выпущен вместе с Quartz Composer 3.0, который позволяет рендерить композиции на нескольких экранах на одной машине или даже на нескольких машинах и дисплеях.

Поддержка автоматов

Поддержка некоторых действий Automator была добавлена ​​с выпуском Leopard.

  • Применить фильтр композиции кварца к файлам изображений
  • Преобразование кварцевых композиций в фильмы QuickTime
  • Рендеринг кварцевых композиций в файлы изображений

История

Пьер-Оливье Латур первоначально разработал предшественника Quartz Composer под названием PixelShox Studio.[10]

Рекомендации

  1. ^ Руководство пользователя Quartz Composer В архиве 4 марта 2009 г. Wayback Machine
  2. ^ Руководство пользователя Quartz Composer - Создание заставки В архиве 4 марта 2009 г. Wayback Machine
  3. ^ Примечания к выпуску Xcode 11
  4. ^ Руководство пользователя Quartz Composer - Патчи[постоянная мертвая ссылка ]
  5. ^ fdiv.net: Шаблон Xcode для пользовательских патчей Quartz Composer
  6. ^ Обзор универсальных идентификаторов типов
  7. ^ Использование ImageIO Framework
  8. ^ Создание собственных протоколов
  9. ^ Руководство пользователя Quartz Composer: Репозиторий композиций[постоянная мертвая ссылка ]
  10. ^ «Технология PixelShox». Архивировано из оригинал 29 января 2017 г.. Получено 8 марта, 2009.

внешняя ссылка

Книги

Учебники и документация

Список рассылки

Композиции

Пользовательские патчи / плагины

Изображения и видео