Основные и усовершенствованные задачи, подсказки и приемы

В этой главе описываются, как использовать редактора, чтобы добавить патчи к рабочей области и соединить их, проверить значения портов ввода и вывода и опубликовать порты. Вы изучите подсказки и ярлыки для получения Кварцевой среды разработки Композитора, предоставленной в OS X v10.5 для поддержки рабочего стиля. Вы будете видеть, как использовать некоторые расширенные функции включая шаблоны и патчи тот код процесса.

Добавление патчей

Существует три способа добавить патч от Создателя Патча:

Для дублирования патча, это уже находится в рабочей области, выберите патч и нажмите Command-D.

Создание соединений между патчами

Соединения между портами ввода и вывода различных патчей устанавливают поток данных в составе. Просто щелкните по выходному порту, затем щелкните по входному порту, который Вы хотите соединить — Вы не должны удерживать кнопку мыши, в то время как Вы перемещаетесь во входной порт. Обратите внимание на то, что можно установить соединение только между портами, имеющими совместимые типы — у них должен быть тот же тип, или преобразование типов должно быть возможным.

Для повреждения соединения между патчами или дважды щелкните по входному порту или перетащите коннектор, и выпустите его. Коннектор исчезает. Рисунок 3-1 показывает некоторые типичные соединения между патчами.

  Соединения Патча рисунка 3-1
Patch connections

Вывод от патча может соединиться с вводом больше чем одного патча. Например, выходной порт Результата патча LFO (рисунок 3-1) обеспечивает ввод для Математического патча и для патча Sprite.

Проверка значений порта

Парение указатель по порту для просмотра краткого описания порта, его типа данных и текущей стоимости. (См. рисунок 3-2.), Если входной порт не является объектным портом, можно отредактировать значение порта путем двойного щелчка по кругу, связанному с портом, ввода нового значения в текстовый редактор, и затем нажатия клавиши Return для проверки значения или Клавиши выхода для отмены. Обратите внимание на то, что входные порты имеют значение по умолчанию, которое всегда является нулем для объектных портов.

Рисунок 3-2  тег справки для входного порта
A help tag for an input port

Можно также проверить и установить значения для входных портов путем открытия инспектора и отображения области Input Parameters или путем нажатия кнопки Patch Parameters в редакторе для переключения входной области параметров.

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

  Порты Image рисунка 3-3 выводят на экран изображение миниатюр
Image ports display a thumbnail image

Обнаружение, что делает патч

При выборе патча в Создателе Патча его описание появляется в области Description. Но если Вы работаете с патчем в рабочей области, можно нависнуть указатель над строкой заголовка патча, чтобы видеть, что справка тегирует, который содержит имя, категорию и описание патча, как показано на рисунке 3-4.

Рисунок 3-4  описание патча появляется в теге справки
The patch description appears in a help tag

Установка предпочтений

Кварцевый Композитор позволяет Вам установить предпочтения редактора, рабочей области и средства просмотра, и управлять клипами. По умолчанию при запуске Кварцевого Композитора, это выводит на экран шаблоны, из которых можно выбрать. Если Вы предпочитаете, можно выключить ту опцию в области General Кварцевых предпочтений Композитора и выбрать из числа вариантов, показавших на рисунке 3-5. Можно также установить, видимы ли редактор и средство просмотра, когда Вы открываете состав и позволяете сохраниться автоматически.

  Область The General рисунка 3-5 Кварцевых предпочтений Композитора
The General pane of Quartz Composer preferences

Предпочтения редактора включают опции, влияющие на появление рабочей области (цвета, тени, сетка) и поведение Создателя Патча.

Можно установить и определить форматные соотношения в области Viewer. Можно также установить опции для отладки, полноэкранного режима и частоты кадров рендеринга.

Область Clips позволяет Вам удалить и отредактировать клипы и представление и отредактировать информацию о клипе.

Сочетания клавиш

Таблица 3-1 суммирует сочетания клавиш для многих действий, доступных в окне редактора.

Табличные 3-1  Ярлыки для общих действий в окне редактора

Действие

Ярлык

Добавьте примечание

Щелчок управления рабочая область

Быстрое увеличение или

Нажмите Command, поскольку Вы используете колесико прокрутки

Просмотрите все временно

Нажмите и содержите = ключ. При отпускании клавиши представление хватает назад. Это - хороший способ получить Ваши подшипники в сложном составе.

Покажите создателю патча

Возврат команды

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

Option-Command-O

Создайте макрос

Shift-Command-M

Покажите браузер иерархии

Команда-B

Покажите входные параметры

Команда-T

Создайте липкого инспектора

Двойной щелчок команды

Покажите инспектору

Команда-I

Информация о редактировании

«Команда Опции я»

Соответствие протокола редактирования

Option-Command-P

Настройте панель инструментов

Щелчок команды панель инструментов и выбрал Customize Toolbar

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

Shift-Command-V

Покажите редактору

Shift-Command-E

Таблица 3-2 суммирует сочетания клавиш для действий, доступных в окне средства просмотра.

Табличные 3-2  Ярлыки для общих действий в окне средства просмотра

Действие

Ярлык

Выполните средство просмотра

Команда-R

Прекратите представлять

Команда-.

Сохраните снимок

Shift-Command-C

Включите полноэкранный режим

Команда-F

Режим рендеринга производительности

Shift-Command-R

Режим рендеринга отладки

Shift-Command-D

Режим рендеринга профиля

Shift-Command-L

Настройте панель инструментов

Щелчок управления панель инструментов и выбрал Customize Toolbar

Комментарий состава

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

Можно обеспечить комментарии для программирования патчей непосредственно в патче, вместе с кодом, который Вы обеспечиваете.

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

Существует несколько причин, почему Вы могли бы хотеть сравнить два состава. Самое типичное должно видеть, как отличаются две версии состава. Выбор Файла> Выдерживает сравнение, Составы открывает окно, предоставляющее несколько возможностей сравнения. Можно сравнить соединения патча, параметры и настройки путем щелчка по надлежащим средствам управления по верхнему правому из окна. (См. рисунок 3-7). Можно сравнить представления параметра патча для каждого состава в нижней части окна.

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

  Составы Сравнения рисунка 3-7
Comparing compositions

Проверка совместимости патча и безопасности

Смотря в OS X v10.5, Кварцевый Композитор может предоставить информацию о том, совместим ли патч с OS X v10.4. Можно также узнать, мог ли бы патч поставить под угрозу безопасность. Информация о безопасности важна, если Вы планируете встроить состав в веб-страницу или виджет, или экспортируете ее как фильм в формате QuickTime. Веб-страницы, виджеты и фильмы в формате QuickTime не представят составы, содержащие небезопасные патчи. (Для получения дополнительной информации о встраивании составов в веб-страницах и виджетах, см. Кварцевое Руководство по программированию Композитора.)

Для проверки совместимости патчей в составе выберите Editor> информация Display 10.4 о Совместимости. Патчи, которые не совместимы с OS X v10.4, выводят на экран маленький красный значок с белым «x». Патчи, выводящие на экран желтый значок с восклицательным знаком, идентифицируют патчи, которые не могли бы быть совместимыми, потому что патч был пересмотрен в некотором роде, такой как с дополнительными входными портами или измененными настройками. Если Вы нависаете указатель над маленьким значком, подсказка для патча предоставляет больше информации о совместимости, такой как, что изменяется или что патч является новым.

Чтобы проверить, небезопасны ли какие-либо патчи в составе, выберите Editor> Indicate Unsafe Patches. Патчи, которые не являются безопасным дисплеем маленький значок клавиши.

Рисунок 3-8 показывает множество патчей после выбора совместимости и небезопасных команд патчей. Средство импорта Изображения показывает значок предупреждения, потому что последняя версия имеет дополнительную установку, которая не доступна в OS X v10.4. Область Histogram и патчи Grep является новой в OS X v10.5. Патч Мозаики Параллелограма не выводит на экран значков, потому что это совместимо с OS X v10.4, и это - безопасный патч. Добрый день и патчи Получателя Часов MIDI небезопасные патчи. Обратите внимание на то, что патч Получателя Часов MIDI также имеет значок предупреждения, потому что его настройки изменились начиная с OS X v10.4.

  Совместимость рисунка 3-8 и информация о безопасности
Compatibility and security information

Улучшение производительности рендеринга

Сократить время выполнения и улучшить производительность рендеринга:

Добавление клипа создателю патча

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

Выполните эти шаги, чтобы добавить клип к Создателю Патча:

  1. В окне редактора Вашего состава выберите набор патчей, из которых Вы хотите создать клип.

  2. Выберите Editor> Create Clip.

  3. Введите имя клипа в лист, появляющийся, вместе с информацией об авторском праве и описанием.

  4. Нажмите Done.

Ваш новый клип теперь доступен в Создателе Патча. Имя, которое Вы ввели на шаге 3, показывает в списке Имени Патча, и описание показывает в поле Description.

Используя шаблоны

Шаблон является удобным способом запуститься с предварительно сконфигурированного состава.

Для предоставления доступа к составу доступным как допускающий повторное использование шаблон из Кварцевого Композитора скопируйте файл состава в этот каталог:

Для использования шаблона позже выберите File> New From Template.

Кварцевый Композитор обеспечивает много шаблонов, соответствующих протоколам (см. Репозиторий Состава). Шаблоны, которые Вы создаете, не требуются, чтобы соответствовать протоколу, если Вы не хотите, чтобы составы, создаваемые с Вашим шаблоном, находились в репозитории состава.

Используя программирование патчей

Несмотря на то, что можно использовать Кварцевого Композитора для создания мощной анимационной графики без любого кода, возможность записать, что код в программировании патчей обеспечивает дополнительную гибкость для Базового Изображения, JavaScript и программистов OpenGL.

Базовый патч фильтра изображения

Базовый патч программирования Фильтра Изображения чрезвычайно полезен для создания пользовательского изображения, обрабатывающего фильтры. Для использования этого патча эффективно необходимо понять Базовые фильтры Изображения и быть знакомы с Базовым языком ядра Изображения, который является расширением Языка Штриховки OpenGL. Два хороших источника информации о записи Базовых фильтров Изображения являются Базовым Руководством по программированию Изображения и Базовой Ссылкой Языка Ядра Изображения. Учебное руководство по Модулю изображения предоставляет дополнительную подробную информацию о записи подпрограмм ядра и содержит несколько примеров ядра.

Рисунок 3-9 показывает окно Settings для Базового патча программирования Фильтра Изображения. Вы вводите код для ядра непосредственно в это окно. Можно обеспечить больше чем одну подпрограмму ядра, если Вам нравится, но она должна быть записана с помощью Базового Языка Ядра Изображения.

  Окно The Settings рисунка 3-9 для Базового патча Фильтра Изображения
The Settings window for the Core Image Filter patch

Кварцевый Композитор автоматически создает входные порты для патча на основе прототипа функции ядра, которую Вы предоставляете в этом окне. Ядро ввело параметры, тип которых float,vec2, vec3, и vec4 станьте входными портами числа. A __color тип данных становится цветным входным портом. A sampler тип данных становится портом изображения. Если Вы измените имя параметра функции ядра, то Вы повредите соединения со связанным входным портом. Патч имеет единственное выходное изображение, представляющее результат, приведенный ядром.

Выбор Show Advanced Input Sampler Options добавляет два входных порта к патчу — один для указания переносящегося режима (прозрачный или зажим) и другой для указания, использовать ли линейную или самую близкую соседнюю выборку.

При выборе Edit Filter Function текстовое поле появляется у основания области Settings, как показано на рисунке 3-10. Можно использовать это для определения функции ROI (если Вы необходимы), и основная функция. Вы используете JavaScript для кода в этом окне и функциях обертки, предоставленных Кварцевым Композитором. Основная функция должна возвратить изображение (__image) и должен следовать за этой формой:

function __image main([arg_type_0] arg_0, [arg_type_1] arg_1, ...)

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

__image, __vec2, __vec3, __vec4, __color, __number, __index

Рисунок 3-10  окно редактирования фильтра
The filter editing window

Этот патч поддерживает Базовые фильтры Изображения переменной сложности, включая:

  • Единственное ядро, единственные полосовые фильтры, для которых совпадают область интереса (ROI) и домен определения (DOD). Для этого типа фильтра необходимо только обеспечить функцию ядра в главном окне, такой как multiplyEffect ядро, показанное на рисунке 3-10.

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

  • Многопроходные фильтры. Вы используете основную функцию в нижнем окне для применения многократных ядер или Базовых фильтров Изображения. Можно применить любую из функций ядра, которые Вы определяете в главном окне, а также любом Базовом фильтре Изображения. Кварцевый Композитор предоставляет обертки для CIFilterShape и NSAffineTransform. См. перечисление 3-1.

Перечисление 3-1  многопроходный фильтр, использующий Базовые фильтры Изображения

// Assume myKernel is a routine defined in the top window.
// This code is the main function defined in the bottom window.
function __image main (__image image, __vec4 color){
    var image1, image2;
    var transform;
 
    // Apply the kernel that's defined in the top window.
    image1 = myKernel.apply(image.extent, null, image);
    // Apply the Core Image Sepia filter.
    image2 = Filter.sepiaTone(image1, 1.0);
    // Set up and apply a transform
    transform = new AffineTransform().scale(0.5);
    return Filter.affineTransform(image2,transform);
}

Патч GLSL

Патч GLSL (см. рисунок 3-11) использует вершину и программы построения теней фрагмента, которые Вы обеспечиваете для рендеринга результата. Необходимо использовать Язык Штриховки OpenGL для записи программ построения теней.

Можно найти несколько примеров составов, использующих патч GLSL в:

/Developer/Examples/Quartz Composer Compositions/GLSL

Рисунок 3-11  GLSL, программирующий патч
The GLSL programming patch

Патч JavaScript

Патч JavaScript (см. рисунок 3-12) реализует функцию, которую Вы обеспечиваете в области Settings патча. Кварцевый Композитор автоматически создает порты ввода и вывода для патча на основе прототипа функции. Необходимо использовать эти ключевые слова для определения ключей ввода и вывода для функции JavaScript: __number, __index, __string, __image, __structure, и __boolean.

Рисунок 3-12  патч программирования JavaScript
The JavaScript programming patch