![]() |
Автор | Сообщение |
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 25-12-2011 13:18 |
Cobalt Прототип графического редактора / программы для композитинга на основе узлов (нодов). Мне нравится встроенный в Blender редактор узлов, при помощи которого можно осуществлять пост-обработку отрендеренных изображений. Поэтому решил написать что-то похожее - тем более, что таких программ вообще на сегодняшний день очень мало. ![]() Принцип работы Каждая операция над изображением представлена отдельным узлом графа, который хранит отфильтрованную копию оригинального изображения (для ускорения операций, копия уменьшается). Она передается по цепочке другим узлам - до достижения финального результата. По команде пользователя осуществляется полный рендеринг путем прохождения оригинального изображения через все узлы. Таким образом редактирование получается нелинейным и неразрушающим - в любой момент можно изменить любой шаг работы. Это значительно отличается от традиционного подхода с использованием слоев. Фильтров пока не так много. Есть только самые простые: - размытие (Blur); - инвертирование (Invert); - конвертация в черно-белое (Desaturate); - повышение контраста (Contrast); - распознавание контуров (Edge Detection) методом DoG (Difference of Gaussians); - повышение резкости (Sharpen); - зеркальное отображение по вертикали (Flip Vertical). Инструкции по использованию - На данный момент нет интерфейса загрузки изображений - программа при старте загружает картинку по умолчанию из images/image001.tga и создает узел с ней. - Чтобы добавить узел-фильтр к изображению, выделите его и нажмите одну из ссылок вверху. - Выделять/перетаскивать узлы можно левой кнопкой мыши. Есть поддержка выделения боксом. Можно зажать левый Ctrl и выделить несколько узлов подряд. - Можно перемещаться по рабочему пространству, зажав среднюю кнопку мыши. Колесико мыши масштабирует вид. - Чтобы отрендерить узел, выделите его и нажмите Enter. Результат будет сохранен в tmp/last_output.ppm (формат PPM открывается в GIMP). Ограничения - На данный момент невозможно менять связи между существующими узлами. - Нет настройки фильтров (не реализованы виджеты интерфейса для узлов). - Нет диалога загрузки/сохранения изображений. - Топорный интерфейс добавления фильтров. - Программа нестабильна и неоптимизирована. Планы на будущее - Инструменты для рисования (узел-холст) - возможно, с поддержкой графического планшета; - Скриптовый язык для написания фильтров (либо поддержка бинарных плагинов); Скачать Для Windows Для Linux Исходники |
|
gammaker бывалый Группа: Участники Сообщений: 49 |
Добавлено: 01-01-2012 22:20 |
Это что-то типа MapZone? Как обрабатываешь картинку? Программно или средствами OpenGL? Тоже хотел написать похожую программу, но отложил на неопределённый срок. Очень много других дел. |
|
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 02-01-2012 19:10 |
Да, нечто вроде MapZone. Весь GUI работает на OpenGL. |
|
gammaker бывалый Группа: Участники Сообщений: 49 |
Добавлено: 03-01-2012 23:47 |
Про GUI я и так понял. Эффекты к картинке как делаются? Программно циклами или через шейдеры? | |
Gecko Big Boss Группа: Администраторы Сообщений: 719 |
Добавлено: 29-01-2012 11:00 |
Эффекты делаются программно (пока только в момент создания узла). Поскольку фильтруется уменьшенная копия, это происходит очень быстро. |