Я буду держать это коротким. Как достичь эффекта, изображенного на рисунке ниже? Возможно ли это сделать в реальном времени? Это выглядит обманчиво простым, но, вероятно, это не так. Могу ли я найти какие-либо ключевые слова, чтобы получить больше информации о программировании шейдеров для достижения этого вида? Благодарю.
13
Ответы:
Похоже, что это вовсе не использует какой-либо конкретный подход с плоским затенением. Затенение является плавным, хотя проецируемые тени имеют резкие края, а объекты не округляются.
Конкретный эффект освещения, по-видимому, представляет собой комбинацию внешней окклюзии (вероятно, SSAO, «окклюзия окружающего пространства на экране»), которая дает ему такое мягкое затенение в расщелинах и обычное отображение теней с резкими краями и простую модель освещения (вероятно, просто Фонг освещения).
Используется ортографическая проекция. Единственный источник света - это направленный источник света, который сочетается со всеми квадратными и плоскими объектами, поэтому каждая грань имеет в основном равномерный оттенок (а не какая-либо особая техника затенения).
источник
Это похоже на карту окклюзии (соответствует физически правильному рассеянному материалу при равномерном белом свете) в сочетании с направленным светом (идущим сверху, создает резкие тени).
Карты окклюзии обычно создаются с использованием методов трассировки лучей. Они не могут быть сгенерированы в реальном времени с достаточным качеством на современных домашних компьютерах.
Эти карты обычно предварительно визуализируются в текстуру. Позже эту текстуру можно рендерить с использованием классических методов растеризации графических процессоров.
источник
Это выглядит так:
Короче говоря, можно приблизиться к этому уровню качества изображения в режиме реального времени, используя, например, высококачественную теневую фильтрацию PCF, высокопроизводительную технику AO, такую как HBAO или Scalable AO , и настраиваемое разрешение MSAA . Было бы много работы, и вам понадобился бы довольно мощный графический процессор.
источник