Всего пользователей: 155 Новый пользователь: wizzy
Промежуточная оценка проектов GSoC2010
Не без удовлетворения сообщаем, что на прошлой неделе все три студента объединённой организации GIMP и GEGL прошли промежуточную оценку результатов.
Проект номер один — реализация операторов отображения тонов (tone mapping) и оператора маттинга в GEGL. Дэнни Робсона можно по праву считать самым отличившимся студентом этого года. Для начала он портировал в GEGL три наиболее популярных оператора отображения тонов: fattal02, reinhard05 и mantiuk06. Они автоматически доступны через экспериментальный инструмент Операции GEGL любому, собравшему . Ну и конечно же можно писать композиции на XML.
Стоит предупредить, однако, что mantiuk06 является наиболее ресурсоёмким оператором отображения тонов, к которому без многопоточной обработки лучше и не подступаться. А в GEGL, между тем, многопоточная обработка по умолчанию отключена из-за пока что неисправленной взаимной блокировки процессов.
Кроме того, Дэнни написал простой инструмент объединения вилки экспозиции в HDR и специально по такому случаю реализовал загрузку и сохранение RGBE в GEGL. Скомпилированный двоичный файл инструмента находится в каталоге tools и называется exp_combine. Синтаксис очень прост:
Пока что инструмент очень капризен, и получить правильно собранный HDR-снимок сложновато. Кроме того, он совершенно бесхитростно предполагает, что снимки на входе заведомо выровнены относительно друг друга. Ничего ужасного в этом нет — при наличии основы дополнительный функционал всегда можно дописать, тем более что с задачей выравнивания хорошо справляется align_image_stack из hugin, используемый в (Qtpfsgui).
Сейчас Дэнни работает над третьей частью проекта — оператором маттинга, т.е. извлечения объекта переднего плана из фона. В качестве алгоритма выбран метод . К этой части работы Дэнни приступил совсем недавно, но кое-какой прогресс уже есть.
Проект номер два — общая инфраструктура для рисования параметров инструментов на холсте. Это не совсем удачный проект. Дело в том, что команда переоценила готовность GTK+ и GIMP к нему. Те, кто следит за нашими еженедельными дайджестами, помнят, что в июне Митч Наттерер как раз занимался доработкой кода GIMP и GTK+ специально под этот проект.
В итоге было принято решение, что студентка сначала постарается решить более простую задачу, и уже затем, при наличии времени, перейдёт к более сложной задаче. В качестве более простой задачи выбрано упрощение работы с плавающими выделениями.
Как вы знаете, в GIMP с плавающим выделением можно сделать два действия (не считая удаления): вставить его в уже существующий слой или создать новый слой и автоматически поместить в него плавающее выделение. Первое действие выполняется щелчком по холсту или кнопке в диалоге слоёв. Для второго нужно сходить в диалог слоёв и щёлкнуть кнопку создания нового слоя или нажать Ctrl+Shift+N. Вместо этого планируется сразу после появления плавающего выделения тем или иным способом прямо на холсте нарисовать интерфейс для выбора действия с этим выделением. Пока что студентка больше изучает код GIMP и экспериментирует с отрисовкой элементов интерфейса на холсте.
Проект номер три — реализация инструмента произвольных трансформаций (Cage transform), использующий технологию, в оригинале известную под названием . Оригинальная технология была разработана для выборочной трансформации трёхмерных моделей. Её переложение на 2D позволит во многих случаях заменить как традиционный инструмент трансформаций по сетке, так и новый инструмент Puppet Warp из Photoshop CS5.
Особый интерес этот инструмент представляет ещё и потому, что это первый полноценный инструмент в GIMP, основанный на GEGL. Разработчики решили, что писать новые инструменты на старом ядре уже попросту неприлично, а Мишель Мюре чётко последовал указаниям.
В настоящее время можно рисовать и редактировать многоугольник, по которому выполняется трансформация. Лежащий в основе инструмента оператор GEGL тоже, в целом, готов. Сейчас Мишель озадачен объединением этого оператора с графическим интерфейсом.
Работа над этим проектом ведётся в ветке официального репозитория GIMP. На момент публикации новости для успешной сборки этой ветки необходимо совершенно GEGL.
Напоследок стоит отметить, что в настоящее время ни один из двух последних проектов GSoC не планируется включить в состав версии 2.8. Основным приоритетом для разработчиков является скорейший выпуск новой стабильной версии с тем, чтобы уже можно было спокойно перейти к долгожданной окончательной интеграции GEGL.
Попытка включить результаты проектов GSoC в 2.8 означала бы затягивание выпуска этой версии ещё на несколько месяцев, чего, как вы понимаете, никому не хочется. Так что появление нового инструмента трансформации и отрисовки параметров на холсте стоит ждать в первых же версиях новой нестабильной ветки 2.9, ориентировочно — в начале следующего года. А вот работа Дэнни Робсона по всей очевидности будет доступна в одной из ближайших новых версий GEGL.