------------------------------------------
   Описание демоверсии плагина FILTERS
              для BGE 2.40c.
------------------------------------------


   Процесс проходит в 3 этапа и применяет-
ся к прямоугольному фрагменту изображения.
Опция 'Select affect region' как раз и по-
зволит вам задать этот фрагмент, правда, с
точностью до знакоместа.
   Запускается процесс кнопкой  'Proceed',
отменить  результат  можно кнопкой 'Undo',
ну  а 'Return to BGE' возвращает вас в ре-
дактор.


ЭТАП I  Картинка   перегоняется  в  формат
------  grayscale (байт на точку).

   Меню выбора метода и настройки парамет-
ров  прямой  конверсии  вызывается  опцией
'Forward conversion...'.

-  если  флаг  'Ignore colors' установлен,
то  конверсия  будет происходить без учета
атрибутов  изображения, при этом выключен-
ному  пикселу  будет  сопоставлен параметр
'Black level',  а   включенному  -  'White
level'

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

-  оция  'Default palette' восстанавливает
палитру по умолчанию (если кого-нибудь ин-
тересует, где  я  ее  взял - могу сказать:
сконвертил  спековскую палитру на писет, а
там фотошопом перегнал ее в grayscale)


ЭТАП II  К grayscale-изображению  применя-
-------  ются различные эффекты.

   Здесь  реализована  так называемая оче-
редь фильтров (Filters queue), которая оп-
ределяет  порядок применения фильтров (эф-
фектов). Цифра  после  названия  фильтра -
его номер в очереди.  Для изменения номера
необходимо   ткнуть  в  название  фильтра.
Фильтр с номером 1 применяется к изображе-
нию первым. Если цифра отсутствует, значит
данный фильтр не используется.
   Пока сделано 3 эффекта:

-  <BRIGHT> - величина  изменения  яркости
лежит в диапазоне -255... +255; значение=0
не  оказывает  влияния  на  картинку. Если
включен  флажок  'Keep bl.<ack level>', то
черный цвет не изменится после фильтрации.

-  <CONTRAST> - здесь  все аналогично пре-
дыдущему  фильтру. Положительные  значения
соответствуют увеличению контраста.

-  <BLUR> - размытие,  ака   Soften.  Пока
только  одного типа. Размытию подвергается
область, меньшая чем выделенная  на 1 пик-
сел с каждой стороны (думаю, понятно поче-
му).


ЭТАП III  Grayscale-изображение конвертит-
--------  ся обратно в битмап.

   Третий этап - моя  гордость :)  Здесь я
реализовал  целых  четыре  метода обратной
конверсии, два  из которых к тому же пара-
метризованы.  Меню   настройки  вызывается
опцией 'Inverse conversion...'.

-  'Threshold method' - простой  пороговый
метод, при  котором  интенсивность пиксела
сравнивается  с  порогом  и по результатам
сравнения ставится (или не ставится) точка
в битмап. Дает  наиболее отстойные резуль-
таты.

-  'Floyd-Steinberg'  -  да-да,  он самый,
aka  Diffusion  Dither. Так  раньше любили
конвертить  фотки  на  Спектрум...  В моей
реализации  работает  довольно  коряво (не
стал  я  связываться с fixed-point арифме-
тикой) да и тормозно,  но все же работает!
К тому же можно настраивать порог.

-  'Matrix  1' - конвертация матрицей, aka
Упорядоченное  Возбуждение (что-то я пере-
возбудился   сегодня...:).  Ну  здесь  все
вроде  бы просто и быстро. Матрица не сов-
сем такая как в моей статье  Dithering #1,
но получена из нее.

-  'Matrix 2' - алгоритм тот же, но матри-
ца  другая, надыбал  недавно  в Internet'е
и малость ее переделал.  Дает  результаты,
схожие  с  газетными иллюстрациями, однако
теряются мелкие детали.


  Полезные советы.

-  Если  во  время  фильтрации изображения
удерживать  любую клавишу, то главное меню
плагина не появится, пока клавиша не будет
отпущена. Это  позволяет рассмотреть резу-
льтат работы.

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

-  При  перегонке  цветных  картинок в ч/б
включайте размытие. Дело в том, что худож-
ники наряду с цветами используют текстуры,
а плагин  для передачи цветов также приме-
няет  текстурирование. Накладываясь, текс-
туры  могут  дать весьма отвратный резуль-
тат. Размытие  же  уменьшает влияние текс-
тур, содержашихся  в  изображении, правда,
ценой потери мелких деталей.
   Кстати,  после такой конверсии картинки
весьма  прилично  очанковываются, особенно
если не содержат мелких деталей.

-  Глючная  реализация  алгоритма Floyd'а-
Steinberg'а  слегка занижает яркость изоб-
ражения, поэтому  темные участки могут во-
обще пропасть. Для компенсации этого эффе-
кта немного (примерно на 20 единиц) увели-
чивайте яркость картинки путем включения в
очередь фильтра <BRIGHT>.


   Что будет в полной версии:

1)  Точно  будет несколько типов размытия,
возможно около 10 шт.

2) Попытаюсь сделать запись плагина на ди-
ск, дабы можно было сохранить настройки.

3)  Если мне это не надоест  и если хватит
памяти, то  добавлю еще один или два филь-
тра (напр. зашумление изображения).

4)  Ну  и, конечно, bugs fix, если таковые
найдутся (о найденных глюках пишите либо в
редакцию  журнала  Deja  Vu, либо звоните,
либо шлите мыло: amv_cbx@phys.kemsu.ru).


    Max/CYBERAX Software/BDA, г. Кемерово.
                  Last edition: 16.12.2000

P.S. BGE da best!
