Эффект glow в играх

Эффект glow в играх

В 3D графике далеко не последнее место занимают разного рода эффекты: отражения, тени, свет. Последнее является едва ли не основной головной болью всех программистов мира — уж больно неопределенная и ресурсоемкая задача. Я бы хотел рассказать о реализации одного из световых эффектов — glow, или свечение вокруг объекта. Все, в принципе, достаточно просто, необходимо только знать некоторые нюансы 3Д программирования и порядок их использования.

Итак, начнем. Общий принцип таков:

1. Сначала отрисовываем светящиеся объекты в текстуру размером 64х64 или 128х128. Тут необходимо придерживаться двух правил — светящиеся объекты рисовать белым (или любым другим ярким цветом), а фон очистить в черный цвет.

2. Применяем Blur-эффект к полученной текстуре, то есть размываем ее. Делается это так — для каждого пикселя текстуры находится среднее арифметическое значений цветов его соседей. Размыть текстуру можно несколько раз, в зависимости от того, насколько размытые края вы хотите получить.

3. Рисуем квад (2 треугольника) размером с экран, и накладываем на него полученную текстуру с применением альфа блендинга.

Еще я бы хотел обратить внимание на следующие моменты:
Объекты, которые находятся ближе к камере, чем светящиеся также должны быть отрисованы в текстуру, но с черным цветом, чтобы возникал эффект перекрывания светящимися объектами не светящихся.

Советы по оптимизации:
-Рисуйте в маленькую текстуру, чтоб сократить время рендеринга.
-Уменьшайте размеры viewport’а до размеров текстуры, во время рендеринга в текстуру.
-Делайте меньше проходов при размывании текстуры (хотя при этом и пострадает качество).
-Отрисовывайте в текстуру только те объекты, которые находятся в поле зрения камеры.
-Отрисовывайте сразу все объекты в одну текстуру.
-Если вычислительной скорости компьютера не хватает, то операцию программного размывания можно опустить, и вместо нее поставить текстуру низкого разрешения, растянутая по экрану она сама по себе создаст блюр-эффект.

Читайте также:  Хлорофилл в растениях функции

Теперь каждый шаг рассмотрим поподробнее. Для быстроты и удобства, код я решил писать с помощью D3DAppWizard.

1. Подготавливаем трехмерный чайник (а куда без него!) и текстуру размером 128х128.

Итак у нас есть две текстуры — одна предназначена для рендеринга в нее сцены (объектов, которые должны быть засвеченны), вторую мы будем накладывать на экранный квад. Для этого нам нужно будет переписать всю информацию из RenderTarget во временный массив, посчитать размытое изображение, и записать его в готовую текстуру.

Тут есть один момент — для того, чтобы получить доступ к данным в RenderTarget, необходимо поставить флаг D3DPRESENTFLAG_LOCKABLE_BACKBUFFER в поле Flags структуры D3DPRESENT_PARAMETERS при инициализации.

В результате применения этих операций, Вы увидите это:

Конечно, с параметрами отрисовки можно еще поиграть, например поменять местами отрисовку чайника в FinalRender() и RenderGlow(), тогда получиться чайник, с белым ореолом вокруг него:

Еще можно поэкспериментировать с параметрами материала чайника при рендеринге в текстуру.

Начальные значения у нас были такие:

А если сделать цвет черным, а спекулярный цвет очень ярким —

то получится такой эффект:

Вот, собственно, и все. С помощью подобных действий можно рисовать сцены с красивыми и реалистичными световыми эффектами.

Свечение IPS матрицы по краям или углам называется glow-эффектом IPS монитора.

Особенно это заметно при плохом освещении в помещении при просмотре «тёмного контента». Это ожидаемый недостаток технологии IPS. Данный эффект можно уменьшить. Об этом далее.

Glow-эффект IPS необходимо учитывать при выборе монитора. Является одной из вещей, которые могут сильно разочаровать после покупки монитора. Узнайте заранее о том, что он из себя представляет и можно ли от него избавиться.

Читайте также:  Программирование ардуино уно для начинающих

Что такое glow-эффект монитора

В дословном переводе с английского языка glow означает свечение или сияние. Glow-эффект проявляется в том, что мониторе, чаще всего по периметру (в углах, сверху, внизу), появляются неравномерно освещённые пятна. Данная особенность особенно часто встречается на IPS матрицах, но встречается в других типах матриц. В результате страдает цветопередача, а работа может вызывать раздражение и усталость глаз.

ВАЖНО! Выбирая дисплей в магазине, не ориентируйтесь только на яркость и контрастность, очень часто их завышают при помощи специальных утилит и подбирают идеальные по разрешению изображения и видео, показывая их посетителям в торговом зале. Вам же следует попросить продавца выполнить заливку экрана чёрным цветом, после чего посмотреть на него под различными углами, убедившись в отсутствии glow-эффекта или перейдя к рассмотрению другой модели при его наличии.

Как убрать glow-эффект

Если наличие glow-эффекта обнаружилось уже дома, то вариантов всего несколько.

Первый, это вернуть дисплей в магазин или же обменять его на другой. По действующему законодательству, такое право есть у каждого.

Второй вариант — это выбор оптимального размещения монитора на рабочем месте и освещённости.

Уменьшить glow-эффект можно:

  • изменив окружающее освещение в вашей комнате;
  • отрегулировав яркость монитора;
  • настроив положение (угол и расстояние) до дисплея.

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

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

Читайте также:  Как увеличить копию на принтере

Как проверить наличие glow-эффекта?

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

Думаете пчелиный улей берётся из ниоткуда? Ничего подобного. По крайней мере в играх, он требует планирования, постройки, исследований, сбора ресурсов — всего того, что вы уже делали в огромном количестве стратегий. В Hive Time вы берёте на себя управление колонией пчёл, где придётся расширять улей и защищать его от самых зловредных созданий в природе — ос.

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

Hive Time распространяется по модели заплатите-сколько-хотите, как и саундтрек, а половина денег пойдёт в Фонд Защиты Шмелей.

Чтобы узнать о лучших бесплатных играх на ПК — читайте нашу статью.

Ссылка на основную публикацию
Шум в радиаторах отопления как устранить
Отопительная система конструктивно очень сложна, а от ее функционирования зависит уровень комфорта всех жильцов дома. Когда монтажом отопления занимаются профессионалы,...
Что значит код ошибки 805а8011
Многие владельцы смартфонов с операционной системой Windows Phone не могут войти в учетную запись магазина Marketplace. На экране появляется код...
Что значит интегрированный процессор
Здравствуйте, уважаемые пользователи и любители компьютерного железа. Сегодня порассуждаем на тему, что такое интегрированная графика в процессоре, зачем она вообще...
Шутеры по локальной сети на андроид
Перемещайтесь по многочисленным картам игры и уничтожайте врагов с помощью различного оружия. v4.2 + Мод: много денег Великолепная аркада с...
Adblock detector