Как работает шахматный рендеринг: упрощенная версия

Обсуждение игровых новостей
Правила форума
Не переступайте черту, за которой вас начали бы бить в реале. Только вместо драки у нас прдупреждения и баны. Будьте взаимовежливы насколько это возможно. Ваши враги любят стучать на ваши оскорбления и тем самым отправлять вас в бан.
  • Кто здесь?
  • нет зарегистрированных пользователей и 28 ноунеймов

Ответить
electrifying
№7
№7
Аватара пользователя Автор темы
Сообщения: 8150
Рега: 12 май 2014
Лайкнул: 56
Лайки: 313
Награды: 4
Профиль и ЛС:

Awesome Trophy Dualshock Medal Slowpoke Medal Ultrawide King

04 янв 2017, 18:53

Сегодня на форуме NeoGAF появилось упрощенное, но очень наглядное объяснение того, как работает "шахматный" рендеринг и чем он отличается от обычного рендеринга и апскейла. Хотите знать больше? Добро пожаловать на борт.

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


первый кадр
Изображение
второй кадр
Изображение

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

Результат может быть примерно таким; разрешение нашего виртуального дисплея оказалось очень маленьким, всего 10х10 пикселей:

Изображение

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

Изображение

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

Затем из специального буфера (у PlayStation 4 Pro он называется ID Buffer) извлекаются данные о положении всех объектов в сцене на предыдущем кадре: они сравниваются с текущим положением дел, чтобы определить, какие объекты изменили свое положение, и как именно они это сделали.

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

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

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

Изображение

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

Изображение

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

Ну а картинка, сгенерированная с помощью апскейла, покажет наихудшее качество изображения.
Изображение
Последний раз редактировалось electrifying 04 янв 2017, 18:55, всего редактировалось 1 раз.
Изображение

Kanikama
Classic Club Gamer
Classic Club Gamer
Аватара пользователя
Сообщения: 1451
Рега: 01 июл 2016
Откуда: Dark corners of the Earth
Лайкнул: 1
Лайки: 1
Награды: 2
Профиль и ЛС:

Awesome Trophy Awesome Newbie

04 янв 2017, 18:55

где

kvidix
Имя нам - легион
Имя нам - легион
Аватара пользователя
Сообщения: 33281
Рега: 14 июл 2013
Откуда: Будапешт
Лайки: 55
Награды: 13
Профиль и ЛС:

Troll Medal Awesome Trophy Youtube Gamer Medal Gopnik Medal
Pirate Medal PC Master Race Medal Орден Почетного ПК-геймера AbsolutePC Medal
Crysis Medal likeU medal hateU medal УПРТ Медаль
4K Gamer

04 янв 2017, 18:57

Примерно такая же параша в квантум брике, "реконструкция" из нескольких кадров. Потому он и выглядит как мыльное говно. :lol5:
Сониэксперт про 4k гейминг (проц [email protected] ггц, в игре стабильно 60 фпс)
privet писал(а): без водянки у него были бы проседы до 30 в битвах или проц прожег бы дно его хаты
Признание сонибича
Fanlost писал(а): На Плейстешн нет нормальных игр

electrifying
№7
№7
Аватара пользователя Автор темы
Сообщения: 8150
Рега: 12 май 2014
Лайкнул: 56
Лайки: 313
Награды: 4
Профиль и ЛС:

Awesome Trophy Dualshock Medal Slowpoke Medal Ultrawide King

04 янв 2017, 18:58

kvidix писал(а):Примерно такая же параша в квантум брике, "реконструкция" из нескольких кадров. Потому он и выглядит как мыльное говно. :lol5:
Отключи ее и получишь 10 фпс на 17 титанах. :kojima:
Изображение

kvidix
Имя нам - легион
Имя нам - легион
Аватара пользователя
Сообщения: 33281
Рега: 14 июл 2013
Откуда: Будапешт
Лайки: 55
Награды: 13
Профиль и ЛС:

Troll Medal Awesome Trophy Youtube Gamer Medal Gopnik Medal
Pirate Medal PC Master Race Medal Орден Почетного ПК-геймера AbsolutePC Medal
Crysis Medal likeU medal hateU medal УПРТ Медаль
4K Gamer

04 янв 2017, 19:04

electrifying писал(а): Отключи ее и получишь 10 фпс на 17 титанах
на какую кнопку банить? :kojima:
Сониэксперт про 4k гейминг (проц [email protected] ггц, в игре стабильно 60 фпс)
privet писал(а): без водянки у него были бы проседы до 30 в битвах или проц прожег бы дно его хаты
Признание сонибича
Fanlost писал(а): На Плейстешн нет нормальных игр

Xopek
Графоман
Графоман
Аватара пользователя
Сообщения: 10577
Рега: 22 окт 2009
Откуда: [default] city
Лайкнул: 7
Лайки: 14
Награды: 5
Профиль и ЛС:

Troll Medal Nomad Medal Halo Medal RROD Trophy
Fat Troll Medal

04 янв 2017, 19:16

Это изображение какахи падающий в рот сонибою
Кого я вижу! Надо же! Неужто жирный и вонючий, неужто мерзкий наш и подлый Биллибой, koziol и svolotsh! © Энтони Бёрджесс
Sony Playstation 4
Rip
2013-2016

Изображение

ibn_kazimir
Графоман
Графоман
Сообщения: 14221
Рега: 08 янв 2015
Лайкнул: 92
Лайки: 46
Награды: 4
Профиль и ЛС:

Awesome Trophy Awesome Newbie It's okei medal Мухожук клеймо

04 янв 2017, 19:40

kvidix писал(а):
electrifying писал(а): Отключи ее и получишь 10 фпс на 17 титанах
на какую кнопку банить? :kojima:
Она на твоем скриншоте QB с 28 fps :kojima:

Ответить