Войти
ПрограммированиеТерминыГрафикаГрафика

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)

Комментарии [49]

Страницы: 1 2 3 4 Следующая »
#1
22:37, 25 апр. 2014

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

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

#2
23:52, 25 апр. 2014

Хочу попробовать внедрить эту технику в свой движок, открыл их дэмку, и там тихий ужас... даже не знаю с чего начать... Можете что посоветовать, какие-нибудь основные куски кода, под спойлер что ли копирнуть или еще что?)

#3
1:12, 26 апр. 2014

HORHY_SUPER
та нормальная демка, что там ужасного такого?

#4
7:05, 26 апр. 2014

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

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

#5
10:02, 26 апр. 2014

innuendo
а почему дипов в два раза меньше?
я как-то потерял момент, когда их кол-во уменьшается

#6
10:05, 26 апр. 2014

Void12
> а почему дипов в два раза меньше?

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

#7
10:07, 26 апр. 2014

bazhenovc
> depth
Мне, как новичку сложно во всем этом разобраться.

#8
10:26, 26 апр. 2014

Z-prepass м.б актуален для всего
и для f+/- и для dl и для ds
в общем то невсегда от техники зависит,
а еще иногда от сцены


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

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

#9
11:16, 26 апр. 2014

IronBunny
> И как в етот рулез вписать лайты со сложным шейпом?

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

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

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

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

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

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

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

#10
12:15, 26 апр. 2014

innuendo

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

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

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

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


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

#11
12:28, 26 апр. 2014

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

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

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

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

#12
12:36, 26 апр. 2014

innuendo

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

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

#13
12:59, 26 апр. 2014

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

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

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

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

#14
13:29, 26 апр. 2014

innuendo
> Некоторые нехорошие дяди делают zprepass и с DL.

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

Страницы: 1 2 3 4 Следующая »
ПрограммированиеТерминыГрафикаГрафика

Тема в архиве.

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