Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Термины / Forward+

Forward+

Forward+ это графическая техника, которая является развитием классической техники Forward (учёт освещения одновременно с выводом геометрии). Основная идея была индуцирована компанией AMD в демке

Суть рендера  Forward+ можно вкратце изложить следующим способом :

1) Делается ZPrepass - заполняем depth buffer

2) Делается lights tiled culling - для каждого тайла (обычно размером 8x8) с использованием compute shaders находится список лайтов, влияющих на этот тайл ( как правило это RWBuffer)

3) Делается обычный Forward проход для геометрии, но при освещении в PS выбираются только те источники освещения, которые оказывают влияние на текущий фрагмент.

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

В сравнении с техниками Deferred Shading и Deferred Lighting такая техника имеет ряд преимуществ: не имеет проблем с размером GBuffer и MSAA и не имеет проблем с количеством DIPs соответственно.

Ссылки:
http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/01/Fo… us11_v1.0.zip

25 апреля 2014

#графика


Обновление: 31 октября 2014

Комментарии:

Страницы: 1 2 3 4 Следующая

bazhenovcПостоялецwww25 апр. 201422:37#1
>> В сравнении с техниками Deferred Shading и Deferred Lighting такая техника имеет преимуществ: не имеет проблем с размером GBuffer и MSAA и не имеет проблем с количеством DIPs соотвественно.

как раз таки с дипами там есть проблема, потому что надо делать prepass (т.к. overdraw убивает этот подход на корню).
В случае с классическим деферредом overdraw большой роли не играет.

HORHY_SUPERПостоялецwww25 апр. 201423:52#2
Хочу попробовать внедрить эту технику в свой движок, открыл их дэмку, и там тихий ужас... даже не знаю с чего начать... Можете что посоветовать, какие-нибудь основные куски кода, под спойлер что ли копирнуть или еще что?)
bazhenovcПостоялецwww26 апр. 20141:12#3
HORHY_SUPER
та нормальная демка, что там ужасного такого?
innuendoПостоялецwww26 апр. 20147:05#4
bazhenovc
> как раз таки с дипами там есть проблема, потому что надо делать prepass (т.к.
> overdraw убивает этот подход на корню).

Некоторые нехорошие дяди делают zprepass и с DL. Если у тебя в сцене не сильный overdraw, для Forward+ можно обойтись без zprepass - в итоге будет в два раза меньше DIPs.

Void12Постоялецwww26 апр. 201410:02#5
innuendo
а почему дипов в два раза меньше?
я как-то потерял момент, когда их кол-во уменьшается
innuendoПостоялецwww26 апр. 201410:05#6
Void12
> а почему дипов в два раза меньше?

посмотри как работает DL

HORHY_SUPERПостоялецwww26 апр. 201410:07#7
bazhenovc
> depth
Мне, как новичку сложно во всем этом разобраться.
IronBunnyПостоялецwww26 апр. 201410:26#8
Z-prepass м.б актуален для всего
и для f+/- и для dl и для ds
в общем то невсегда от техники зависит,
а еще иногда от сцены


И как в етот рулез вписать лайты со сложным шейпом?
area c анизотропией?
И как в етот рулез вписать лайты с тенями?
Я если чо - про красиво вписать?

ИМХО схема тянет на влобное решение задачки
light interaction на GPU
было бы круто когда "лайт" был сильно проще "материал"
лет 5 назад

innuendoПостоялецwww26 апр. 201411:16#9
IronBunny
> И как в етот рулез вписать лайты со сложным шейпом?

Делается перебор по типам лайтов.

> area c анизотропией?

Тут какие сложности ?

> И как в етот рулез вписать лайты с тенями?
> Я если чо - про красиво вписать?

Точно также, как при обычном Forward

> ИМХО схема тянет на влобное решение задачки
> light interaction на GPU

Это альтернатива отложенным техникам.  AMD продвигает это дело. Dirt имеет такой рендер, если не ошибаюсь

IronBunnyПостоялецwww26 апр. 201412:15#10
innuendo

перебором... ну понятно, в общем-то - некрасиво

сложности - ну вот dise & guerila, уже и epic
прикручивают фотометрические профили, разные для разных
лайтов - ну понятно, там тож можно перебором

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

Я понял что альтернатива - просто смешит что в легенде к описанию
вместе с плюсами не описаны минусы. ето не спортивно


PS вариация на тему кажется была еще в just cause 2

innuendoПостоялецwww26 апр. 201412:28#11
IronBunny
> сложности - ну вот dise & guerila, уже и epic
> прикручивают фотометрические профили, разные для разных
IronBunny
> И как в етот рулез вписать лайты со сложным шейпом?

Так вопрос в шейпах или продвинутом лайтинге ?

> Я понял что альтернатива - просто смешит что в легенде к описанию
> вместе с плюсами не описаны минусы. ето не спортивно

Минусы как у обычного Forward ...

IronBunnyПостоялецwww26 апр. 201412:36#12
innuendo

ну IES можно натянуть на сложный, пусть и конв. шейп

"-" на вскидку - оч. плохо ложится на железо ниже dx10, в отличие ot

innuendoПостоялецwww26 апр. 201412:59#13
IronBunny
> ну IES можно натянуть на сложный, пусть и конв. шейп
> вместе с плюсами не описаны минусы. ето не спортивно

В презентации от AMD написано что DirectCompute5.0 - так что всё спортивно.

>сложности - ну вот dise & guerila, уже и epic
>прикручивают фотометрические профили, разные для разных

Как красиво прикрутить фотометрические профили в отложенных техниках ?

outcastПостоялецwww26 апр. 201413:29#14
innuendo
> Некоторые нехорошие дяди делают zprepass и с DL.

Я делаю zprepass и с DS уже много лет :)
А что, это нынче не модно?

Страницы: 1 2 3 4 Следующая

/ Форум / Программирование игр / Графика

Тема закрыта.

2001—2017 © GameDev.ru — Разработка игр