Старая проблема

Фундаментальный вопрос любого CGI программиста: «Какого цвета этот пиксель на экране?» Чем более точно программист ответит на этот вопрос, тем выше качество картинки в итоге. Основные инструменты для получения точного ответа — это, естественно, физика и математика. В то же время, найти точную формулу, которая бы описывала как выглядит окружающий мир, невозможно хотя бы из-за нашего текущего уровня понимания.

Так что же мы делаем в CGI? Мы упрощаем! И мы вынуждены это делать потому, что, как минимум в компьютерных играх, изображения, которые мы должны рассчитать, должны быть представлены игроку в режиме реального времени, а он отчаянно желает видеть «реалистично» отображённые взрывы космических кораблей. В такой ситуации мы обязаны упрощать ради эффективности и, в тоже время, поддерживать настолько реалистичную математическую модель, насколько это возможно.

Старый ответ

В прошлом мы определяли цвет пикселя используя формулу названную «Модель отражения Фонга», которая была так популярна, что она была встроена в аппаратное обеспечение первого поколения видеокарт. Эта модель была частью дошейдерной реализации графического конвейера, которая также известна как Fixed Function Pipeline. Она представлена на формулах внизу:

Несмотря на то, что это модель была изобретена в 1973 году, она до сих пор позволяет получить очень хорошие результаты. Огромное число игр и фильмов были созданы с её помощью, в том числе и EVE Online.

С момента своего создания модель Фонга была многократно улучшена. Одно из крупнейших улучшений произошло когда были представлены языки программирования шейдеров. Они были введены с целью замены конвейера с фиксированной функцией (Fixed Function Pipeline). Это улучшение дало программистам значительную свободу в вопросах генерации каждого пикселя на экране. Но, несмотря на наличие таких улучшений как карты нормалей, карты отражений, cubemap reflections и т.д. конечные результаты всё ещё полагались на базовые принципы старой модели.

Новый ответ

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

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

На самом деле, мы можем заменить одну формулу набором из нескольких, которые бы использовали одни и те же данные (свойство материала), но с разными уровнями точности/упрощения. Этот новый набор моделей визуализации называется «Физически точный рендер» или ФТР.

Для использования в Новом Эдеме мы выбрали следующие модели: аппроксимация Шлика (Schlick’s approximation), функция распределения Троубриджа-Рейтца (Trowbridge-Reitz distribution или GGX) и функция видимости Шлика-Смита (Schlick-Smith visibility function). В общем и целом, достаточно стандартный ФТР коктейль для работы с неорганическими объектами. Чтобы дать вам идею о сложности наших вычислений, ниже приведена формула для спекуляра:

Вот некоторые из результатов (корабли с новой ФТР моделью показаны на скриншотах, где корабль ближе к камере):

Новая проблема

Казалось бы, стоит поковыряться в математических формулах, улучшить поведение света и материалов, сделать всё более близким к реальности, а потом включить новые формулы в EVE и всё сразу станет превосходно, да?

В общем — нет.

С одной стороны, ФТР показывает состояние наших ресурсов гораздо точнее. Однако, в прошлом мы иногда полагались на физически неточные числа чтобы избежать определённых проблем с изображением. Теперь же нам придётся исправлять те проблемы заново и напрямую. Соответственно, много графических ресурсов будут в отличном состоянии только после дополнительной работы.

Мы всё время ищем проблемные места и вырабатываем подходы к решению найденных проблем. В некоторых случаях мы просто переколбашиваем карты нормалей. В других — нам приходится изменять параметры объектов. В особых случаях, мы вынуждены прибегнуть к полному редизайну. Мы надеемся, что после реализации ФТР в EVE, капсулиры со всего Нового Эдема внесут свой вклад в развитие графической составляющей игры, а также получат удовольствие от постоянно улучшающего качества изображения.

Кроме всего прочего, новый подход позволяет нам в дальнейшем улучшать качество наших шейдеров. Мы спокойно сможем добавить в игру новый материал, добавить динамическую грязь (старые корабли выглядят как старьё?) или сгенерировать карты затенения (ambient occlusion maps) для кораблей субкапитальнго класса. И, естественно, не стоит забывать о кастомизации кораблей. После применения новой логики для определения цвета пикселей, у нас резко возрастёт количество возможностей для улучшения внешнего вида EVE.

Это реальное преимущество технологии ФТР и, одновременно, причина, по которой мы работали для того, чтобы представить эту технологию в Рее (Rhea).

Перевод © Garret

[#] 13.12.2014 @ 05:28 by дэнчик
+ -7 -
как бы там ни было корабли цвета дешевой блестящей китайской пластмассы заставляют выключить шрейдеры до лоу качества ответить
[#] 13.12.2014 @ 07:41 by Liss
+ 5 -
Сам PBR хорош. Чертовски хорош. И по гибкости и по "реалистичности".
Знаю о чем говорю, специфика работы).
А на счет "китайской пластмассы" - это вопрос никак не к рендеру и шейдерам.
Это уже работа текстурщиков - подогнать все карты так, что бы смотрелось в итоге все круто.
В частности про "китайскую пластмассу" - всего нужно немного подогнать specular и gloss. Тем более что обе карты в одной текстуре зашиты.
По видимому просто не успели, и я их понимаю, такое количество моделей отекстурить под PBR, внести правки если надо еще раз и т.д.
Просто очень хорошо заметно, текстуры каких кораблей уже "вылизаны", а какие еще предстоит "вылизывать".
К линейке Сестринских кораблей вообще не возможно придраться. Замечательно же все просто. Матовый в меру блеск, в меру без перебора отражение окружающей среды. Опять же в меру затенение, а это уже как раз шейдер.
Просто классно. При максимальных настройках, когда PBR может проявить себя на всю мощь - приятно смотреть.
Я бы сказал - высококлассная работа.

А насчет остальных кораблей - всему время.
Переделают, где надо подправят, где надо перерисуют.
Галы вон - сразу безумно блестели. Теперь смотрю - поняли что переборщили с блеском и добавили слегка матовости.
Так что думаю с каждым патчем все больше кораблей будут принимать реалистичный облик. ответить
[#] 13.12.2014 @ 08:13 by Pazl
+ 4 -
Может не в тему, но когда же до них дойдет мысль сделать вреки всех кораблей подобно нынешним капиталам? ответить
[#] 13.12.2014 @ 08:19 by Меркатов ТМ
+ -2 -
Для кого они делают этот графон ? Подавляющее число игроков максимум что видят - брекеты и тактическую сетку . Майнерам дак вообще плевать - рыть афк под кинцо . Агентраннеры cо стажем также играют в тактическую сетку и эксель таблицы . Для кого они это все делают ? Для новых игроков ? Дак новичка мож и привлечет графон с крутыми роликами на YouTube , на деле все ровно он в Microsoft Office попадает ... ответить
- [#] 14.12.2014 @ 22:54 by Mystray
+ 3 -
Подавляющее большинство игроков сидит в 0.6+ и видит свой корабль с бастионом/откачкой/выстрелами, иногда делая View на особо интересном кораблике неписи. Зачем крабам тактическая сетка?
Тем же медитирующим майнерам будет приятнее смотреть часами на реалистичную жестянку. ответить
[#] 13.12.2014 @ 16:45 by zidan
+ 0 -
В целом неплохо получилось молодцы,но с человеком я соглашусь сказав следущее: новичка мож и привлечет графон с крутыми роликами на YouTube , на деле все ровно он в Microsoft Office попадает ... ответить
[#] 13.12.2014 @ 21:14 by Morg
+ 0 -
Молодцы конечно! Но взялись бы за код игры и хотябы сделали, чтобы в локале в 2000 пилотов - без тд - вот в чем EVE должна быть, ну и красивая игра) ответить
[#] 13.12.2014 @ 21:14 by Morg
+ 0 -
Молодцы конечно! Но взялись бы за код игры и хотябы сделали, чтобы в локале в 2000 пилотов - без тд - вот в чем EVE должна быть, ну и красивая игра) ответить
- [#] 14.12.2014 @ 00:25 by .up
+ 2 -
Раньше и при 1000 страшные лаги были. Да и какие еще есть игры, в которых такая толпа без лагов может собраться? ответить
[#] 14.12.2014 @ 17:11 by Tsarik
+ -4 -
Для людей живущих таблицами и сетками толку от этой графики 0, но есть большое число игроков которые играют в eve ради фана. Для них это все красиво, но на деле те же люди что играют для фана активно воюют и им приходится большинство функций отключать в угоду фпс.
Вывод: красиво - да. За работу спасибо. Свою роль в продвижении игры красивыми ролика сигарет.
С дешевой пластмассой так же соглашусь. Как по мне прежние текстуры большей части шипов выглядели более натурально. ответить
- [#] 17.12.2014 @ 16:13 by hiveliberty
+ 2 -
"им приходится большинство функций отключать в угоду фпс"
Пора бы уже обновить свои ПК каменного века. ответить
[#] 15.12.2014 @ 14:13 by hornet999
+ 0 -
мегатрон, дряк, тифун, провиденса, вентура.... эээ... а вот белая штуковина, это что? ответить
[#] 17.12.2014 @ 17:17 by Morg
+ 0 -
Вчера летели по пустым системам, наш флот 150 человек и тд, 10 прыжков, а лаги такие что проход в гейт 10-15 сек ответить
[#] 21.12.2014 @ 09:42 by MbIIIIb
+ 0 -
тут есть маленький нюанс. если раньше градация привлекательности картинки в зависимости от настроек была "чет_совсем_уныло, уныло, терпимо, норм_так, клевенько", то теперь выглядит так:
"совсем УГ!!! , УГ, чет_совсем_уныло, унылый_пластик, пластик, ВАУ!____блин_и_тут_пластик" ответить

Написать комментарий
 
EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. CCP hf. has granted permission to EVE-RU to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, EVE-RU. CCP is in no way responsible for the content on or functioning of this website, nor can it be liable for any damage arising from the use of this website.