Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Сейчас на сайте
Гостей: 4

Пользователей: 0

Всего пользователей: 155
Новый пользователь: wizzy

Промежуточная оценка проектов GSoC2010

РазработкаНе без удовлетворения сообщаем, что на прошлой неделе все три студента объединённой организации GIMP и GEGL прошли промежуточную оценку результатов.

Проект номер один — реализация операторов отображения тонов (tone mapping) и оператора маттинга в GEGL. Дэнни Робсона можно по праву считать самым отличившимся студентом этого года. Для начала он портировал в GEGL три наиболее популярных оператора отображения тонов: fattal02, reinhard05 и mantiuk06. Они автоматически доступны через экспериментальный инструмент Операции GEGL любому, собравшему эту ветку разработки. Ну и конечно же можно писать композиции на XML.

mantiuk06.png

Стоит предупредить, однако, что mantiuk06 является наиболее ресурсоёмким оператором отображения тонов, к которому без многопоточной обработки лучше и не подступаться. А в GEGL, между тем, многопоточная обработка по умолчанию отключена из-за пока что неисправленной взаимной блокировки процессов.

Кроме того, Дэнни написал простой инструмент объединения вилки экспозиции в HDR и специально по такому случаю реализовал загрузку и сохранение RGBE в GEGL. Скомпилированный двоичный файл инструмента находится в каталоге tools и называется exp_combine. Синтаксис очень прост:

$ exp_combine конечный_файл.hdr экспозиция_1.jpg экспозиция_2.jpg экспозиция_3.jpg

Пока что инструмент очень капризен, и получить правильно собранный HDR-снимок сложновато. Кроме того, он совершенно бесхитростно предполагает, что снимки на входе заведомо выровнены относительно друг друга. Ничего ужасного в этом нет — при наличии основы дополнительный функционал всегда можно дописать, тем более что с задачей выравнивания хорошо справляется align_image_stack из hugin, используемый в Luminance HDR (Qtpfsgui).

Сейчас Дэнни работает над третьей частью проекта — оператором маттинга, т.е. извлечения объекта переднего плана из фона. В качестве алгоритма выбран метод Левина-Лишинского-Вайсса. К этой части работы Дэнни приступил совсем недавно, но кое-какой прогресс уже есть.

Проект номер два — общая инфраструктура для рисования параметров инструментов на холсте. Это не совсем удачный проект. Дело в том, что команда переоценила готовность GTK+ и GIMP к нему. Те, кто следит за нашими еженедельными дайджестами, помнят, что в июне Митч Наттерер как раз занимался доработкой кода GIMP и GTK+ специально под этот проект.

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

Как вы знаете, в GIMP с плавающим выделением можно сделать два действия (не считая удаления): вставить его в уже существующий слой или создать новый слой и автоматически поместить в него плавающее выделение. Первое действие выполняется щелчком по холсту или кнопке в диалоге слоёв. Для второго нужно сходить в диалог слоёв и щёлкнуть кнопку создания нового слоя или нажать Ctrl+Shift+N. Вместо этого планируется сразу после появления плавающего выделения тем или иным способом прямо на холсте нарисовать интерфейс для выбора действия с этим выделением. Пока что студентка больше изучает код GIMP и экспериментирует с отрисовкой элементов интерфейса на холсте.

Проект номер три — реализация инструмента произвольных трансформаций (Cage transform), использующий технологию, в оригинале известную под названием Green Coordinates. Оригинальная технология была разработана для выборочной трансформации трёхмерных моделей. Её переложение на 2D позволит во многих случаях заменить как традиционный инструмент трансформаций по сетке, так и новый инструмент Puppet Warp из Photoshop CS5.

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

В настоящее время можно рисовать и редактировать многоугольник, по которому выполняется трансформация. Лежащий в основе инструмента оператор GEGL тоже, в целом, готов. Сейчас Мишель озадачен объединением этого оператора с графическим интерфейсом.

cage-transform-tool-in-toolbar.png

Работа над этим проектом ведётся в ветке soc-2010-cage официального репозитория GIMP. На момент публикации новости для успешной сборки этой ветки необходимо совершенно тривиально пропатчить GEGL.

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

Попытка включить результаты проектов GSoC в 2.8 означала бы затягивание выпуска этой версии ещё на несколько месяцев, чего, как вы понимаете, никому не хочется. Так что появление нового инструмента трансформации и отрисовки параметров на холсте стоит ждать в первых же версиях новой нестабильной ветки 2.9, ориентировочно — в начале следующего года. А вот работа Дэнни Робсона по всей очевидности будет доступна в одной из ближайших новых версий GEGL.

Комментарии
#1 | BigSerpent 20/07/2010 10:33
1 и 3 - очень вкусно.
#2 | Werdn 20/07/2010 20:03
Зато 2 движет http://gimp-brainstorm.blogspot.com/ к реальности, хочется верить
#3 | prokoudine 20/07/2010 20:29
@Werdn: смотря какую часть этих предложений. имхо, там достаточно много безумств Smile
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.