Comments 38
2. Есть стойкое подозрение, что использование анизотропной фильтрации придавит муар.
Вот бы ещё шейдер в стиле гравюры...
Но думаю, это даже теоретически не реализуемо, ибо требуется ручная работа.
Все что встречал были посредственной имитацией. Произвольные штрихи с переменной шириной, без какого-либо следования контуру.
Максимум это получится подобрать форму штрихов к общим контурам картинки (подбородок/щека).
Автору не нравились пересечения линий на гравюрах и множество своих работ он выполнил в виде единого спирального штриха переменной толщины.
Проблема не в том как проще, а в достоверности. Нельзя получить что-то похожее на настоящую гравюру. Вот пример гравюры которую все хотели бы получить:
antiquetrip.info/wp-content/uploads/2013/10/ScanImage008.jpg
Но это похоже только руками возможно.
Вот, например:
www.alphaplugins.com/products/products.php?menu=get_prod_id&prod_id=2
Неудивительно, что Поуп не использовал такой подход: как и ожидалось, бросается в глаза, что это не эффект газетной фотографии, а именно текстуры такие: расположение точек неправильное. Не газета с Quake, а Quake с оклеенными газетой стенами.
Для такого решения, возможно, интересней бы было эмулировать штриховку – расположение штрихов вдоль деталей модели естественно.
ЗЫ: мне кажется или вы отказались от освещения?
ЗЫ: мне кажется или вы отказались от освещения?Насколько я разглядел, на более ярких поверхностях размер белых точек в текстурах увеличивается, что в принципе правильно.
Фактически получился дизеринг по методу Halftone:
en.wikipedia.org/wiki/Dither
Метод этот очень примитивный, и если бы он применялся к финальной картинке (а не «оклейкой стен»), то вообще ничего не было бы видно. Со стенами — приемлемо, только нужно специально объяснять, в чём фишка и зачем это нужно.
А в Obra Dinn сразу понятно, что это стилизация под монохромную/малоцветную графику, потому что полутона делаются именно таким дизерингом, как делались тогда.
(Вспомнился лайфхак, как быстро получить дизеринг картинки по методу Байера: это делает функция Windows/GDI StretchBlt при преобразовании из 8-битного битмапа в 1-битный с флагом HALFTONE. Во всяком случае, результат очень похож на картинку из Вики)
Освещение на месте. На снимках и видео видны и тёмные углы и свет от ламп и взрывов.
В Quake диапазон яркости небольшой, всё же там нету HDR, как в современных играх.
Но да, думаю, что и эффект может вносить искажения. В принципе, можно попытаться покрутить гамму, если перепады яркости кажутся слишком маленькими.
Эффект получился интересным, выглядит прикольно, но, к сожалению, для меня, как технолога полиграфического производства с большим стажем работы в газетной индустрии, это даже близко не похоже на газету.
Мне кажется, для создания конечного эффекта растра высокой печати (или ч/б офсета, если хочется), нужно либо использовать постпроцессинг, либо, если хочется хардкора — отказаться от glQuake и доработать канонический софтрендер. =)
Само собой, перед постпроцессингом придется все равно поработать с яркостью и всякими красивостями, типа обводок, которые вы уже сделали в своей реализации.
Кажется что нужно было рисовать картинку в текстуру как есть, а дальше переводить в круги пост-процессом.
При этом размер целевой текстуры можно сделать равным "один пискель = 1 круг" — так даже еще и будет высокая производительность (но понадобится анти-алиасинг)
Реализация эффекта газетной фотографии на примере Quake