Как стать автором
Обновить

Комментарии 38

1. Фильтрация с мип-уровнями — это билинейка + mip-levels или трилинейка?
2. Есть стойкое подозрение, что использование анизотропной фильтрации придавит муар.

Вот бы ещё шейдер в стиле гравюры...



Но думаю, это даже теоретически не реализуемо, ибо требуется ручная работа.

Реализуемо, есть же фильтры для Фотошопа. Но, конечно, отличить от шедевров можно.
НЛО прилетело и опубликовало эту надпись здесь
Разумеется, настоящего гравера они не заменят.
Но в качестве poor man's art будут выглядеть в Квейке не хуже, чем растр из статьи.
+1, есть пример нормального фильтра?
Все что встречал были посредственной имитацией. Произвольные штрихи с переменной шириной, без какого-либо следования контуру.

Максимум это получится подобрать форму штрихов к общим контурам картинки (подбородок/щека).
image
Вероятно, проще будет попытаться повторить технику параллельных штрихов, применённую гениальным гравёром Клодом Мелланом при выполнении гравюры Full Moon.

Автору не нравились пересечения линий на гравюрах и множество своих работ он выполнил в виде единого спирального штриха переменной толщины.

Full Moon

Есть множество экшенов для фотошопа которые сработают даже лучше Меллана.
Проблема не в том как проще, а в достоверности. Нельзя получить что-то похожее на настоящую гравюру. Вот пример гравюры которую все хотели бы получить:


antiquetrip.info/wp-content/uploads/2013/10/ScanImage008.jpg

Но это похоже только руками возможно.
Или с помощью ИИ, который знает, как идет рельеф изображаемого объекта.
Гравюру может и нет (хотя для 3D объектов информация о форме есть, так что со временем почему бы и нет? Натренировать нейронку, например...). А вот штриховку вполне неплохую делают.
А если танцевать от active snakes и водораздела? Прикидочно можно выдавить одновременно изолинии по интенсивности и контура объекта…
И сравните например с полноценной гравюрой:

Очевидно что плагин даже рядом не стоит с работой человека.
Фильтр «Акварель» или «Масло» Фотошопа тоже не сильно похожи на работу художника. Тем не менее, у них есть своя ниша.
Такое сложно реализовать процедурно, т.к. в настоящей гравюре художник укладывает штрихи резца исходя из собственного чутья и подчеркивая форму объектов. Но такого эффекта можно добиться, если правильно оттекстурировать объект изначально.
НЛО прилетело и опубликовало эту надпись здесь
Мне кажется, что можно сделать гибрид: художник наносит штриховку градиентными линиями, так как будет красиво, по всей модели. А алгоритм переводит эту штриховку в двуцветный формат: линии становятся тоньше и толще в зависимости от освещения.
НЛО прилетело и опубликовало эту надпись здесь
А есть ли какие-то компьютерные инструменты для такого художника? Ну чтобы не по стали резать?
НЛО прилетело и опубликовало эту надпись здесь
Спасибо, кэп. Но вопрос был о специализированных инструментах.
Ну я написал, что изначально примерно такого и хотел. Но только с текстурами Quake это выглядело бы плохо.

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


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


ЗЫ: мне кажется или вы отказались от освещения?

ЗЫ: мне кажется или вы отказались от освещения?
Насколько я разглядел, на более ярких поверхностях размер белых точек в текстурах увеличивается, что в принципе правильно.
Фактически получился дизеринг по методу Halftone:
en.wikipedia.org/wiki/Dither
Метод этот очень примитивный, и если бы он применялся к финальной картинке (а не «оклейкой стен»), то вообще ничего не было бы видно. Со стенами — приемлемо, только нужно специально объяснять, в чём фишка и зачем это нужно.

А в Obra Dinn сразу понятно, что это стилизация под монохромную/малоцветную графику, потому что полутона делаются именно таким дизерингом, как делались тогда.

(Вспомнился лайфхак, как быстро получить дизеринг картинки по методу Байера: это делает функция Windows/GDI StretchBlt при преобразовании из 8-битного битмапа в 1-битный с флагом HALFTONE. Во всяком случае, результат очень похож на картинку из Вики)
Эффект чисто в экранном пространстве было бы проще реализовать, но выглядело бы это весьма плоско.

Освещение на месте. На снимках и видео видны и тёмные углы и свет от ламп и взрывов.

Не уверен насчёт "плоско" – выглядело бы именно газетой, а если ещё чуть поиграть с картинкой перед наложением финального шейдера (банальный unsharp mask с достаточно большим ядром, он чуть ли не бесплатный) – можно вообще конфетку сделать.

«Эффект газетной фотографии» называется растром.
Осталось запустить Quake на книжке с монохромным eInk.
Думаю, до меня это наверняка кто-то делал. Но эффект, как у меня, там не сильно нужен. Достаточно просто сделать изображение монохромным и (возможно) немного подкрутить контраст.
Получилось весьма достойно и приятно глазу, но газетный типографский растр в реальных оттисках располагается в плоскости бумаги (в данном случае экрана), а у вас он наносится на объекты как текстура. И, следовательно, искажается по законам перспективы.
НЛО прилетело и опубликовало эту надпись здесь
Изображение без эффекта:


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

Там ещё и игра приниципально довольно тёмная местами. Логово ШабНигрот посветлее смотрится, конечно(из-за цвета лавы и самого босса), но в целом темнота и мрачность

НЛО прилетело и опубликовало эту надпись здесь
Хоть до меня уже тут и тут сказали, но я вставлю и свои пять копеек.
Эффект получился интересным, выглядит прикольно, но, к сожалению, для меня, как технолога полиграфического производства с большим стажем работы в газетной индустрии, это даже близко не похоже на газету.
Мне кажется, для создания конечного эффекта растра высокой печати (или ч/б офсета, если хочется), нужно либо использовать постпроцессинг, либо, если хочется хардкора — отказаться от glQuake и доработать канонический софтрендер. =)
Само собой, перед постпроцессингом придется все равно поработать с яркостью и всякими красивостями, типа обводок, которые вы уже сделали в своей реализации.

Кажется что нужно было рисовать картинку в текстуру как есть, а дальше переводить в круги пост-процессом.


При этом размер целевой текстуры можно сделать равным "один пискель = 1 круг" — так даже еще и будет высокая производительность (но понадобится анти-алиасинг)

Интересно, можно ли реализовать такое средствами подсистемы печати — CUPS, PostScript и все такое
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации