блум в играх что это

Bloom

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

Bloom (рус. «свечение» ; произн. «блюм», «блум») — постэффект в трёхмерной графике, который используется в компьютерных играх и других 3D-приложениях. Эффект используется разработчиками игр для создания эффекта размытости света на ярких гранях сцены, передержку камерой при съёмке, а также для добавления большей кинематографичности изображению.

Одной из наиболее известных игр, где был использован этот эффект является аркадный автосимулятор Need for Speed: Most Wanted. В этой игре с помощью эффекта блюм реализовано свечение от солнечных лучей на асфальте, а также размытость на ярких гранях сцены, таких как дневное небо.

Действие эффекта во многом схоже по действию с другим эффектом, «glow», однако эти эффекты имеют различные способы реализации, и как следствие, отличия в изображении. Bloom используется в играх вместе с High Dynamic Range, однако иногда простое включение bloom-фильтра в настройках игры обозначается как «включение HDR».

Ссылки

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

Полезное

Смотреть что такое «Bloom» в других словарях:

bloom — bloom … Dictionnaire des rimes

Bloom — ist der Name mehrerer Personen: Allan Bloom (1930–1992), US amerikanischer Philosoph Arthur Bloom (1942–2006), US amerikanischer Fernsehregisseur Barbara Bloom (* 1951), US amerikanische Künstlerin Barry R. Bloom (* 1937), US amerikanischer… … Deutsch Wikipedia

BLOOM (A.) — Allan BLOOM 1930 1992 Né le 14 septembre 1930 à Indianapolis, dans une famille juive du Middle West, le jeune Allan Bloom a très tôt affirmé sa vocation de philosophe. Ce lecteur précoce de Platon entreprit de faire ses études de philosophie à la … Encyclopédie Universelle

Bloom — Bloom, n. [OE. blome, fr. Icel. bl?m, bl?mi; akin to Sw. blom, Goth. bl?ma, OS. bl?mo, D. bloem, OHG. bluomo, bluoma, G. blume; fr. the same root as AS. bl?wan to blow, blossom. See to bloom, and cf. .] 1. A blossom; the flower of … The Collaborative International Dictionary of English

Bloom 06 — Saltar a navegación, búsqueda Bloom 06 Información personal Origen Italia … Wikipedia Español

bloom — bloom, blossom Cherry trees are said to be in blossom, roses in bloom. The difference corresponds largely to that between trees whose blossom is a sign of fruit to come and plants whose flowers are a culmination in themselves. In figurative uses… … Modern English usage

Bloom — Bloom, v. t. 1. To cause to blossom; to make flourish. [R.] [1913 Webster] Charitable affection bloomed them. Hooker. [1913 Webster] 2. To bestow a bloom upon; to make blooming or radiant. [R.] Milton. [1913 Webster] While barred clouds bloom the … The Collaborative International Dictionary of English

bloom|y — «BLOO mee», adjective, bloom|i|er, bloom|i|est. having the surface covered with bloom, as a plum … Useful english dictionary

Bloom — Bloom, v. i. [imp. & p. p. ; p. pr. & vb. n. .] 1. To produce or yield blossoms; to blossom; to flower or be in flower. [1913 Webster] A flower which once In Paradise, fast by the tree of life, Began to bloom. Milton. [1913… … The Collaborative International Dictionary of English

Bloom 06 — Bloom 06 … Deutsch Wikipedia

Источник

Блум в играх что это

Информация взята с сайта http://gamegpu.com/

Потребление ОЗУ игрой с различными настройками графики:

Потребление RAM всей системой во время игры с максимальными настройками графики (зависит также от количества запущенных фоновых программ):

Q: у меня gtx 780ti или gtx970\980 и игра тормозит на максимуме! Что за отвратительная оптимизация, раз игра тормозит на топовых видеокартах?!
A: без паники! Во-первых, текстуры максимального разрешения рассчитаны на видеокарты с памятью более 6-ти ГБ. Поэтому выберите «высокое» качество текстур. Во-вторых, обратите внимание на сглаживание, поставьте SMAA или FXAA. Скорее всего после этого лаги пропадут.

Q: у меня 2 ГБ видеопамяти и игра очень сильно тормозит. Что делать?
A: если у вас видеокарта оснащена только 2-мя ГБ памяти (например, некоторые версии gtx960), то поставьте качество текстур на «средние» и попробуйте перезапустить игру.

Q: у меня игра сильно тормозит на максимуме! Какие опции в первую очередь необходимо снизить?
A: 1) Поставьте сглаживание SMAA или FXAA. 2) Динамическую листву поставьте на средние. 3) Детализацию на «высоко» или ниже. 4) PureHair просто «ВКЛ». 5) Качество теней на «средние». 5) Если у вас видеокарта серии GTX7XX или ниже, выключите тессиляцию. 6) Качество отражений поставьте на минимум.

Q: какие опции могут испортить графику?
A: 1) «Глубина резкости» размывает изображение, некоторым может не понравится. 2) «Зернистость плёнки» добавляет шумы и артефакты на изображение. 3) «Размытие по краям» также не всем игрокам придётся по вкусу. 4) «Мягкие тени от солнца» слишком сильно размывают тени, особенно когда опция «качество теней» выбрана ниже чем «очень высоко».

Q: у меня очень слабый компьютер. Я играю на полном минимуме, но у меня есть запас мощности. Какие опции включить в первую очередь, чтобы существенно улучшить графику?
A: 1) Обязательно включите «Преграждение окружающего» 2) «Динамическую листву» поставьте на «средние». 3) «Детализацию» на «средние». 4) Включите «Отражения пространства экрана», но в последнюю очередь 5) «Качество теней» очень сильно влияют на качество графики, поэтому постарайтесь поставить тени хотя бы на «минимум», это очень важно. 6) На «качество текстур» влияет только объём видеопамяти, поэтому поставьте на «средние» или «высокие».

Q: у меня в игре fps нормальный, но в кат-сценых игра тормозит! Что делать?
A: «Pure Hair» и «глубина резкости» в длинных роликах автоматически переключаются на максимум вне зависимости от выбранных настроек, поэтому выключите соответствующие опции.

Q: у меня всего лишь 2 ГБ ОЗУ. Я не смогу поиграть в эту игру?
A: сможете! Увеличьте файл подкачки. Загрузки в игре и быстрые переходы на другие зоны у вас будут занимать 8-15 минут. Также во время перехода из одной зоны в другую игра будет подвисать на 30-40 секунд в течение нескольких минут.

Q: у меня очень старый ПК. Ну там gt440+Core 2 Duo E4400. Мне остаётся только смотреть прохождение игры на youtube?
A: нет! В это сложно поверить, но я прошёл игру именно на gt440+ Core 2 Duo E4400 (2.65 GHZ). В игре было 17-25 fps на 1280х720.

Источник

Winx Club

Жанрaction-adventureДвижоксвойРазработчикDC Studios, Inc.Дата выхода2006

Содержание

Предварительная настройка [ править | править код ]

Чтобы изменить разрешение в игре, воспользуйтесь программой Winx Club Tweak Center (скачать). Вот как автор описывает работу программы:

«Программа Winx Club Tweak Center предназначена для применения встроенных патчей к игре. При нажатии кнопки «Apply» и последующем выборе исполняемого файла игры будут произведены применение выбранных патчей и откат невыбранных. Набор доступных патчей:

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

Texmod [ править | править код ]

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

Замена файлов в игре [ править | править код ]

Многие файлы в игре имеют одинаковый формат .smo, что позволяет заменить, например, модель Блум, на другую модель или на эффект или даже на другую локацию.

Замена модели игрока [ править | править код ]

Принцип, по которому модель игрока заменяется на модели других персонажей, эффекты, квестовые объекты и локации на примере модели Сторми с молниями stormy_thunder_a2.smo, которая находится в папке SFX:

Для начала нужно заменить эффект щита Блум Bloom_shield.smo на снежный костюм Блум (станет доступен после того как Блум первый раз вернется из Облачной Башни в Алфею с добытой для Лумы снежинкой) Bloom_snow.smo.

Желательно делать резервные копии файлов, которые вы будете изменять или сделать бэкап всей папки Media.

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

Файл Bloom_snow.smo нужно переименовать в Bloom_shield.smo и отправить его в папку с эффектами, подтвертив замену. Затем нужно заменить саму модель Блум на Сторми. Файл stormy_thunder_a2.smo переименовать в Bloom_snow.smo и переместить в папку Charachters\Bloom

В игре у Блум появится «второе тело» — это её снежный костюм. Чтобы он исчез потребуется зайти в меню и выбрать «Загрузить». После того как локация перезагрузится, снежный костюм исчезнет и в меню во вкладке «Костюмы» выберите замененный на Сторми зимний наряд.

Чтобы заменить модель игрока и другие модели на некоторые эффекты, нужно также заменить анимацию бега Блум blru.san и анимацию покоя blidsh.san на анимацию эффекта, который вы выбрали для замены.

Здесь можно посмотреть на то как выглядят некоторые замененные модели из папок Charachters, SFX и SideQuestObjects в игре с подписью названий файлов.

В этом видео можно посмотреть полный обзор папки SFX.

Наглядно о принципе замены модели игрока на других персонажей рассказывается здесь, только на примере с моделью Стеллы.

Стоит учесть, что замененные модели работают в игре не совсем корректно; играя за них можно проходить сквозь стены и нельзя забираться на поверхности, а после того, как загрузиться в другую локацию персонаж управляется задом-наперед.

Замена эффектов Блум [ править | править код ]

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

Bloom_lightorb.smo, Bloom_lightorb02.smo, Bloom_lightorb03.smo — это атаки Блум, числовые значения обозначают уровень атаки (с прохождением игры атаки Блум совершенствуются). Атаки можно заменять на модели других персонажей, эффекты, квестовые объекты, а также на самих себя.

Прочитать гайд по замене эффектов на примере щита Блум можно здесь

Замена анимаций Блум [ править | править код ]

Анимации имеют формат .san и находятся почти во всех папках с персонажами и в папке SFX. Заменять нужно анимацию состояния покоя Блум blidsh.san.

Обзор анимаций Блум можно посмотреть здесь и здесь (под вторым видео есть тайм-код с названиями всех анимаций и с описаниям того, как они выглядят)

Убираем интерфейс с помощью замены файлов и программы texmod [ править | править код ]

В папке media\menus находим три файла hud_flowers.smo (лепестки жизни), hud_gems.smo (кристаллы), hud_stars.smo (звезды), заменяем последние два на hud_flowers.smo. [то есть создаем две копии файлов hud_flowers.smo и переименовываем их на hud_gems.smo и hud_stars.smo (перед этим делаем бэкапы оригинальных файлов и удаляем их из папки)]

Если у вас старая версия фотошопа (на примере CS5)

Открываете текстуру в фотошопе; в окне channels нужно создать новый альфа-слой и выделить его, а потом закрасить изображение в черный цвет и сохранить в формате .dds DXT5 interpolated alpha.

Загрузив игру через texmod с измененной текстурой, мы полностью избавимся от интерфейса (примечание: когда вы включаете скрипт передней плоскости отрисовки в некоторых случаях можно увидеть силуэт интерфейса лепестков жизни).

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

Смешивание локаций [ править | править код ]

Об этом можно посмотреть подробный видео-гайд.

Краткое описание гайда:

Выбрать любую локацию, где можно быть убитым (в видео-гайде это Черное болото), отправиться к первому кристаллу сохранения, где летают москиты и расположить персонажа прямо в кристалле сохранения и ждать пока его убьют; когда здоровье заканчивается нужно зажать enter и не отпускать до тех пор пока не откроется меню, через которое можно будет вернуться в Алфею. После загрузки произойдет баг с текстурами, потребуется нажать esc, чтобы вернуть всё в исходное состояние.

Теперь нужно выбрать локацию, с которой вы её будете смешивать. (в видео-гайде это Гардения). В выбранной локации сохраните игру и вернитесь в Алфею. После этого следует выбрать вторую локацию (в видео-гайде это локация с уровнем по сбору звезд 3, то есть Красный Фонтан). В выбранной локации загрузите игру заново и локации (Гардения и Красный фонтан) смешаются, но персонаж будет стоять задом-наперед. Чтобы от этого избавиться нужно еще раз загрузиться. Чтобы избежать вылета, не взаимодействуйте с квестовыми предметами.

Сохранения для игры [ править | править код ]

Все сохранения для игры можно скачать здесь.

Таблица для Cheat Engine [ править | править код ]

Скачать таблицу можно здесь
автор таблицы: мяу вау

Примечание: непрерывное нажатие клавиши F1 каждый раз сопровождается разной формой отображения передней плоскости отрисовки

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

Скрипт работает нестабильно и использовать его желательно в крайних случаях.

Источник

10 вещей, которые вам нужно знать о Пикмин Блум

Pikmin Bloom набирает популярность как мобильная игра. Вот что фанатам нужно знать перед тем, как нырнуть прямо сейчас.

Nintendo официально выпускает новый кроссовер с дополненной реальностью и Niantic: Pikmin Bloom . Следуя по стопам Pokemon GO, Блум воплотит всех любимых цветочных друзей в реальную жизнь.

10 Pikmin можно выращивать и выбирать

Если вы новичок в идее Pikmin, это может показаться странным. В классической серии игр есть красочные товарищи, выращенные как растения — и в Pikmin Bloom это не исключение.

Здесь также есть бонус к выращиванию семян — кормление и правильное выращивание пикмина, и чем дольше игрок ходит и сажает цветы, тем больше бонус. Это влияет на скорость роста Pikmin — чем больше бонус, тем быстрее они прорастают и тем быстрее их можно собрать и использовать!

9 Вы собираете семена пешком

Итак, как игроки получают семена для выращивания Пикмина? Пешком! Поскольку приложение интегрирует реальную жизнь, оно ориентировано на игроков, отправляющихся в расслабляющие странствия по всему миру. Эти семена привязаны к ступеням, что приравнивается к движению устройства при ходьбе игрока.

Семена будут помещены в список игроков рюкзак, похожий на крохотную мобильную теплицу! Они будут стабильно расти в инкубационном рюкзаке, а затем их можно будет вытащить. Можно даже назвать Pikmin, что является новой особенностью серии.

8 Если кормить их фруктами, пикмин зацветает

В серии игр Pikmin кормление главного героя и самих пикминов является ключевой частью. Большинство миссий в игре вращаются вокруг сбора еды для обеих сторон. Фрукты — это большой (буквально) источник пищи: лимоны, клубника и многое другое засоряют окрестности.

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

7 пикминов можно отправлять в экспедиции

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

Во время этих прогулок смелые растения отправятся собирать фрукты — их можно превратить в нектар, чтобы накормить пикмина! Помимо еды, Пикмин может открывать для себя новые наряды (предположительно для аватаров Mii), аксессуары и даже новые цвета и типы полезных ростков.

В шести разных местах разные пикмины

Доступна целая радуга друзей Pikmin: красный, синий, черный, розовый — список можно продолжить! В основных играх все они появляются в разных местах и ​​обладают разными навыками, связанными с их цветом и дизайном. Вполне вероятно, что они будут как-то привязаны к разным локациям Блума.

5 Вы можете добавлять фотографии и заметки в свой Lifelog

Каждые Pikmin В игре есть своего рода дневник — капитан Олимар периодически записывает свои мысли и находки в новых областях в журнал путешествий. Пикмин Блум имеет аналогичную функцию: Lifelog!

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

4 дня сообщества

Это подтверждено, но пока нет никаких объяснений того, что игроки могут ожидать. Предполагается, что дни сообщества будут посвящены определенным цветам или типам пикминов, особенно более редким видам, и, возможно, будут посвящены сезонным событиям в реальной жизни.

Дни сообщества Pokemon GO вращаются вокруг определенного покемона, который чаще появляется в течение дня и проводит тематические рейды. Будет очень интересно посмотреть, как команды Niantic и Nintendo воплотят это в Pikmin Bloom — но, тем не менее, мы очень рады!

3 Блум использует аватары Mii

Создаваемый при открытии игры, игроки будут создавать свое подобие в незабываемом стиле аватара Nintendo. Эти аватары появятся на карте мира и будут маркером места, где в данный момент находится игрок. Неясно, будет ли у Miis покупная одежда или прически, но предполагается, что за какой-то формой платного доступа будут стоять более сложные конструкции.

2 Синхронизация приключений доступна с самого начала

Синхронизация приключений подсчитывает шаги, которые игроки делают, когда они не активны в приложении. Его можно использовать с фитнес-приложениями на iOS и Android, или на его собственный. Это означает, что если игрок идет на приятную прогулку, но у него нет батареи или времени, чтобы постоянно держать приложение открытым, его прогресс все равно будет засчитываться в игре. Точно так же Pikmin может выполнять экспедиции, пока приложение закрыто!

1 покупка & lsquo; Цветочные монеты & rsquo;

Ни одно приложение не будет полноценным без собственной валюты. Pikmin Bloom можно начать бесплатно, но покупки будут доступны за «Цветочные монеты». Их можно заработать, сажая цветы и взаимодействуя с игрой (а также покупая в магазине).

Pikmin Bloom был выпущен 26 октября 2021 года и доступен для устройств iOS и Android.

Источник

Learn OpenGL. Урок 5.8 – Bloom

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

Bloom

В связи с ограниченным диапазоном яркости, доступным обычным мониторам, задача убедительного отображения ярких источников света и ярко освещенных поверхностей является сложной по определению. Одним из распространенных методов, позволяющих подчеркнуть яркие области на мониторе, является техника, добавляющая ореол свечения вокруг ярких объектов, создающая впечатление «растекания» света за пределы источника света. В итоге у наблюдателя создается впечатление о высокой яркости таких освещенных участков или источников света.

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

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

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

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

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

Чтобы было яснее разберем процесс по шагам. Рендерим сцену, содержащую 4 ярких источника света, отображенных как цветные кубики. Все они имеют величину яркости в интервале от 1.5 до 15.0. Если осуществить вывод в HDR буфер цвета, то результат выглядит следующим образом:

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

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

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

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

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

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

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

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

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

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

Первым делом нам потребуется информация о ярких участках сцены на основе заданного порогового значения. Этим и займемся.

Извлечение ярких участков

Итак, для начала нам потребуется получить два изображения на основе нашей сцены. Можно было бы наивно выполнить рендер дважды, но используем более продвинутый метод множественных целей рендера (Multiple Render Targets, MRT): мы задаем в завершающем фрагментном шейдере более одного выхода и благодаря этому извлечение двух изображений можно выполнить в один проход! Чтобы указать в какой буфер цвета будет осуществлен вывод шейдера используется спецификатор layout:

Безусловно, метод будет работать только если мы подготовили несколько буферов для записи. Иными словами, для осуществления множественного вывода из фрагментного шейдера использующийся в этот момент кадровый буфер должен содержать достаточное количество подключенных буферов цвета. Если обратиться к уроку о кадровом буфере, то вспоминается, что при привязке текстуры как буфера цвета мы могли указать номер прикрепления цвета (color attachment). До сего момента нам не было нужды использовать прикрепление отличное от GL_COLOR_ATTACHMENT0, но в этот раз пригодится и GL_COLOR_ATTACHMENT1 – ведь нам нужны сразу две цели для записи:

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

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

В данном фрагменте опущена часть, содержащая типичный код расчета освещения. Результат его записывается в первый выход шейдера – переменную FragColor. Далее результирующий цвет фрагмента используется для вычисления величины яркости. Для этого осуществляется взвешенный перевод в градации серого (путем скалярного умножения мы перемножаем соответствующие компоненты векторов и складываем их вместе, приводя к единственной величине). Затем, при превышении яркости фрагмента некого порога, мы записываем его цвет во второй выход шейдера. Для кубиков, замещающих источники света также выполняется этот шейдер.

Разобравшись с алгоритмом мы можем понять, почему данная техника так хорошо сочетается с HDR рендерингом. Рендеринг в HDR формате позволяет компонентам цвета выходить за верхнюю границу величиной в 1.0, что позволяет более гибко настраивать порог яркости за пределами стандартного интервала [0., 1.], обеспечивая возможностью тонко настроить какие участки сцены считать яркими. Без использования HDR придется довольствоваться порогом яркости в интервале [0., 1.], что вполне допустимо, но приводит к более «резкой» отсечке по яркости, что зачастую делает блум слишком навязчивым и кричащим (представьте себя на снежном поле высоко в горах).

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

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

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

Размытие по Гауссу

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

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

Размытие с весовыми коэффициентами, основанными на значениях кривой Гаусса, выглядит гораздо лучше прямоугольного фильтра: за счет того, что кривая имеет бОльшую площадь в окрестности своего центра, что соответствует бОльшим весовым коэффициентам для фрагментов вблизи центра ядра фильтра. Взяв, для примера, ядро 32х32 мы будем использовать весовые коэффициенты тем меньше, чем дальше фрагмент отстоит от центрального. Именно эта характеристика фильтра и дает визуально более удовлетворяющий результат размытия по Гауссу.

Реализация фильтра потребует двумерного массива весовых коэффициентов, который можно было бы заполнить на основе двумерного же выражения, описывающего кривую Гаусса. Однако, мы тут же столкнемся с проблемой производительности: даже относительно небольшое ядро размытия в 32х32 фрагмента потребует 1024 выборок из текстуры для каждого фрагмента обрабатываемого изображения!

На наше счастье выражение Гауссовой кривой обладает весьма удобной математической характеристикой – сепарабельностью, которая позволит сделать из одного двумерного выражения два одномерных, описывающих горизонтальную и вертикальную составляющие. Это позволить выполнить размытие по очереди в два подхода: по горизонтали, а затем по вертикали с наборами весовых коэффициентов, соответствующими каждому из направлений. Результирующее изображение будет таким же, что и при обработке двумерным алгоритмом, но при этом потребует куда меньше вычислительной мощности видеопроцессора: вместо 1024 выборок из текстуры нам понадобятся всего лишь 32 + 32 = 64! В этом и заключается суть двупроходной фильтрации по Гауссу.

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

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

Прежде чем перейти к коду настройки буферов кадра, давайте взглянем на код шейдера гауссова размытия:

Как видно, мы используем довольно небольшую выборку коэффициентов гауссовой кривой, которые используются как веса для выборок по горизонтали или вертикали относительно текущего фрагмента. Код имеет две основные ветки, разделяющие алгоритм на вертикальный и горизонтальный проход на основе значения юниформа horizontal. Смещение для каждой выборки задано равным размеру текселя, который определен как величина обратная размеру текстуры (значение типа vec2, возвращённое функцией textureSize()).

Создадим два буфера кадра, содержащие по одному буферу цвета на основе текстуры:

После того, как мы получим HDR текстуру сцены и извлечем текстуру ярких областей, мы заполняем буфер цвета одного из пары подготовленных фреймбуферов текстурой яркости и запускаем процесс пинг-понга десять раз (пять раз по вертикали, пять по горизонтали):

На каждой итерации мы выбираем и привязываем один из буферов кадра на основе того, будет ли эта итерация совершать размытие по горизонтали или вертикали, а буфер цвета другого фреймбуфера тогда используется как входная текстура для шейдера размытия. На первый итерации нам приходится явно использовать образ, содержащий яркие области (brightnessTexture)– иначе оба пинг-понг фреймбуфера так и останутся пустыми. После десяти проходов исходное изображение приобретает вид пятикратно размытого полным фильтром Гаусса. Использованный подход позволяет нам легко менять степень размытия: чем больше пинг-понг итераций – тем сильнее размытие.

В нашем случае итог размытия выглядит как-то так:

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

Для завершения эффекта остается только скомбинировать размытое изображение с исходным HDR образом сцены.

Смешение текстур

Имея под рукой HDR текстуру отрендереной сцены и размытую текстуру пересвеченных участков все что нужно для реализации знаменитого блум- эффекта или свечения – объединить эти два изображения. Итоговый фрагментный шейдер (весьма похож на присутствовавший в уроке о формате HDR) именно это и делает – аддитивно смешивает две текстуры:

На что обратить внимание: смешение осуществляется до применения тональной компрессии (tone mapping). Это позволит корректно перевести дополнительную яркость от эффекта в LDR (Low Dynamic Range) диапазон, сохранив относительное распределение яркости в сцене.

Итог обработки – все яркие участки получили заметный эффект свечения:

блум в играх что это. Смотреть фото блум в играх что это. Смотреть картинку блум в играх что это. Картинка про блум в играх что это. Фото блум в играх что это

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

Исходный код примера – здесь.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *