Jump to content

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

Кварцевый композитор
Разработчик(и) Apple Компьютер
Стабильная версия
4.6.2 / 12 декабря 2016 г.
Операционная система Mac OS X Tiger (версия 2.0)
Mac OS X Leopard (версия 3.0)
Mac OS X Leopard + iPhone SDK (версия 3.1)
Mac OS X Snow Leopard (версия 4.0)
macOS Сьерра (версия 4.6.2)
Доступно в Английский
Тип Язык визуального программирования / Инструмент разработки программного обеспечения
Лицензия Собственный
Веб-сайт Apple — Quartz Composer (Руководство пользователя)

Quartz Composer — это система графов узлов , предоставляемая как часть Xcode среды разработки в macOS для обработки и рендеринга графических данных. Он способен создавать сложную анимацию для основных выступлений или презентаций, а также создавать анимированные заставки. [1]

Quartz Composer использует OpenGL (включая GLSL ), OpenCL (только в Mac OS X Snow Leopard и более поздних версиях), OpenAL , Core Image , Core Video , JavaScript и другие технологии для создания API и инструмента разработчика на основе простой парадигмы визуального программирования. Apple глубоко внедрила технологии Quartz в свою операционную систему . Композиции, созданные в Quartz Composer, можно воспроизводить автономно в любом QuickTime . приложении, поддерживающем [2] (хотя только в Mac OS X Tiger и более поздних версиях), в качестве системной заставки , [3] в качестве визуализатора iTunes из приложения Quartz Composer или может быть встроен в приложение Cocoa или Carbon с помощью прилагаемых пользовательского интерфейса виджетов . Хотя Quartz Composer включен в iPhone SDK по состоянию на декабрь 2015 г. невозможно запустить Quartz Compositions на устройствах iOS . Начиная с macOS Catalina, платформа Quartz Composer устарела, хотя она все еще присутствует для совместимости. [4]

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

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

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

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

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

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

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

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

Скрытые опции

[ редактировать ]

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

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

[ редактировать ]

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

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

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

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

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

[ редактировать ]

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

Композиции

[ редактировать ]

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

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

Поддерживаются многие форматы изображений, включая JPEG , JPEG2000 , GIF , PNG , TIFF , TGA , OpenEXR , BMP , ICO , PDF , PICT , ICNS и некоторые типы необработанных цифровых камер. [8] Изображения сохраняются в исходной форме как можно дольше, прежде чем растеризоваться для отображения. Это означает, что Quartz Composer будет сохранять векторные изображения как векторы при обрезке, масштабировании, вращении или перемещении, что позволяет ему работать с очень большими логическими размерами изображений, не потребляя большого количества памяти или времени обработки. Такая функциональность наиболее очевидна при работе с текстовыми изображениями или PDF-файлами.

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

Протоколы состава

[ редактировать ]

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

  • Графическая анимация. У них нет необходимых входов и выходов, но они необходимы для рендеринга на экране. Графическая анимация полезна для анимированного фона в таких приложениях, как Keynote .
  • Фильтр изображений — изменяет изображение с помощью фильтров. Никакие средства рендеринга не допускаются в фильтрах изображений, если только они не находятся внутри среды Render In Image.
  • Графический переход — генерирует переход от исходного изображения к целевому изображению в течение фиксированного интервала времени.
  • Визуализатор RSS — анализирует и отображает RSS- канал.
  • Screen Saver — интегрируется с Finder для создания анимированных заставок.
  • Music Visualizer — интегрируется с iTunes для визуализации звука.

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

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

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

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

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

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

[ редактировать ]

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

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

[ редактировать ]

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

Репозиторий распределен по трем местам файловой системы :

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

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

Сравнение составов

[ редактировать ]

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

[ редактировать ]

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

[ редактировать ]

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

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

[ редактировать ]

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

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

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

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

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

[ редактировать ]

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

[ редактировать ]

Композиции

[ редактировать ]

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

[ редактировать ]

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

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2e6769d331a34fe6ec50db7336292b6d__1721778240
URL1:https://arc.ask3.ru/arc/aa/2e/6d/2e6769d331a34fe6ec50db7336292b6d.html
Заголовок, (Title) документа по адресу, URL1:
Quartz Composer - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)