MyPaint. Обзор и What's new

Это конспект для доклада; Полноценный обзор MyPaint 0.8.0 можно найти здесь

Обзор

Как несложно догадаться из названия, MyPaint (http://mypaint.intilinux.com) - это программа для рисования (дословно - что-то вроде "моя живопись"; исторически, это название - ссылка на программу paint.exe от microsoft). Программ для рисования сейчас довольно много, в том числе и свободных, и под Linux (конечно, в первую очередь на ум приходит Gimp). Особенность MyPaint - это программа в первую очередь именно для рисования, а не для обработки готовых изображений (собственно, MyPaint даже не умеет таких вещей, как "кроп" или "уровни"; за такими функциями добро пожаловать в тот же Gimp). На самом деле, ближайшие конкуренты MyPaint - это Corel Painter и ArtRage.

Главным отличием программ этого класса от программ класса Gimp или Photoshop является максимально полная поддержка соответствующего "рисовального" оборудования (в первую очередь, планшетов) и мощный движок кистей. Например, Corel Painter имеет несколько встроенных алгоритмов расчёта ("акварель", "масло" итп), у каждого из алгоритмов есть некоторое количество параметров (размер кисти, степень размазывания, степень стекания краски итп), и каждый из параметров можно сделать зависимым от любых входных параметров (сила нажатия, направление движения, скорость итд). Каждый из алгоритмов кистей Corel Painter старается максимально полно имитировать физику соответствующего процесса (растекание акварели по бумаге, например). Это требует немалых вычислительных ресурсов, на машине четырёхлетней давности его запускать смысла не имеет.

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

Все кисти, доступные в MyPaint, являются, на самом деле, вариантами одной кисти (так как расчитываются по одному алгоритму), просто с разными настройками. Кисть имеет, на настоящий момент, 35 параметров (размер, степень непрозрачности и мн.др.). Каждый из параметров кисти может зависеть от любого набора из 8 входных параметров (сила нажатия, направление движения, скорость, случайный параметр итп). Причём, зависимость может быть как линейной (например, можно указать, что размер кисти равен 0.9 умножить на силу нажатия), так и нелинейной (можно задать любой график зависимости). Это порождает огромное количество вариантов кистей, которые, на первый взгляд, совершенно непохожи друг на друга. В комплекте MyPaint поставляется порядка двухсот кистей.

Над MyPaint работает довольно мало разработчиков. Начал разработку швейцарец Martin Renold. Сейчас над программой также работают норвежец Jon Norbdy, швейцарец Jonas Wagner и ваш покорный слуга. Кроме того, перевод на французский и китайский языки выполнил француз Oliver Gonduin, ну и т.д., всех уж перечислять не стану. Коллектив, как видим, интернациональный.

Что нового

Я сделаю небольшой обзор изменений, появившихся в дереве разработки MyPaint со времени выхода предыдущей версии - 0.7.1.

Интернационализация

MyPaint теперь может быть переведена на любой язык, с использованием инфраструктуры gettext. Я сделал перевод на русский. Уже есть переводы на французский, норвежский, шведский, немецкий и упрощённый китайский.

Палитра

Эта функциональность основана на работе Jon Norbdy, но я переписал практически весь код. Многие графические программы имеют ту или иную реализацию палитры - возможности запоминать наиболее часто используемые цвета. Однако текущая реализация палитры в MyPaint уникальна. Этот инструмент позволяет не только запоминать цвета, но и создавать новые. Палитра представляет собой прямоугольную таблицу из ячеек, каждая из которых может хранить цвет. Пользователь может "положить цвет" в некоторые из ячеек, а остальные ячейки будут заполнены автоматически, по принципу "растяжки". Например, если положить в одну ячейку красный цвет, в другую - жёлтый, то ячейки между ними будут заполнены плавным переходом от красного через оранжевый к жёлтому. Палитру можно организовывать в виде именованных групп (например, "оранжевые цвета" или "цвета для неба"). Палитра сохраняется между сеансами работы и, кроме того, она автоматически сохраняется в рабочий файл при сохранении в формат по умолчанию - OpenRaster.

Диалог слоёв

MyPaint поддерживает концепцию слоёв, аналогичную реализаци Gimp или Photoshop, начиная с версии 0.5.0. Однако, до сих пор управление слоями было довольно неудобным - например, переключиться на другой слой можно было либо через меню, либо по горячей клавише. Теперь в MyPaint есть диалог слоёв, более-менее похожий на диалог слоёв в Gimp или Photoshop. Можно перетаскивать слои, переименовывать их, устанавливать степень непрозрачности… Режимы слоёв в основном дереве разработки пока не поддерживаются, но работа над ними идёт вовсю.

Группы кистей

Как я уже упоминал, в MyPaint обычным делом являются сотни различных кистей. До сих пор MyPaint имел только один способ упорядочивать их - кисти можно было перетаскивать вверх-вниз в списке. Теперь кисти можно организовывать в группы. Каждая кисть может принадлежать сразу к нескольким группам (таким образом, на самом деле более точным термином здесь является "тег", а не "группа"). Кроме того, диалог выбора кисти теперь показывает несколько кистей, использовавшихся последними.

Поддержка наклона пера

Многие планшеты (хотя и не самые дешёвые) распознают не только силу нажатия, но и угол наклона пера (стилуса) к планшету. Поддержка этой функции позволяет создавать более реалистичные по ощущениям материалы - например, каллиграфические перья или аэрографы.

Подбор цвета

В MyPaint к версии 0.7.1 уже было несколько способов выбрать цвет. Сюда относятся стандартный диалог выбора цвета, предоставляемый Gtk+, "цветовое колесо", и "пипетка", позволяющая взять цвет с холста. Теперь в MyPaint есть ещё один способ выбора цвета, называемый в английской версии Color Sampler. В основе его - цветовой круг для выбора оттенка и квадрат для выбора светлоты и насыщенности. Кроме того, внутри цветового круга показываются 12 ячеек с цветами, отличающимися только оттенком (светлота и насыщенность совпадают с выбранным цветом). Это простой инструмент, подсказывающий простые цветовые гармонии. В настройках инструмента можно попросить подсвечивать самые стандартные из гармоний - например, три цвета, расположенные на цветовом круге в вершинах равностороннего треугольника. Этот же инструмент может добавлять в палитру наборы цветов, основанные на выбранных гармониях.

Использование в Durian

Сейчас Blender Foundation ведёт работу над очередным "свободным мультфильмом" из серии Elephants Dream и Big Buck Bunny. Кодовое название проекта - Durian (напомню, кодовые названия первых двух проектов были Orange и Peach - апельсин и персик; дуриан - это фрукт, произрастающий в юго-восточной азии, выглядит как очень большой колючий огурец, имеет резкий специфический запах и приятный вкус). Известно, что это будет что-то фентезийное, с замками и драконами. Для подготовки концепции (conceptual art) в проекте используется текущая разрабатываемая версия MyPaint.

Version 1.0

Last updated 2009-11-12 22:44:52 YEKST

RSS-материал RSS-материал