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

G-буфер и отложенное освещение (3 стр)

Страницы: 1 2 3 4 Следующая »
#30
13:35, 3 авг. 2018

Iron Man
> а как мне дня них считать освещение = сразу в пассе, который их выводит?


vindast
> Iron Man, прозрачность рендерится отдельно как форвард рендер.


#31
13:42, 3 авг. 2018

vindast
Т.е. альбедо, нормали и освещение за один проход, верно?

#32
13:43, 3 авг. 2018

Iron Man, ну ты должен сразу им расчитать освещение как при обычном форвард рендере.

#33
13:44, 3 авг. 2018

А если тоже заморочиться на G-буфере для прозрачных объектов? Например, преломления обрабатывать и т.д. и т.п.

#34
13:46, 3 авг. 2018

Iron Man, ну удачи тебе с этим )
Посмотри в сторону порядконезависимой прозрачности.

#35
13:49, 3 авг. 2018

vindast
> Посмотри в сторону порядконезависимой прозрачности.
Ну это со временем, а пока сделаю как все :) форвардом

#36
19:40, 3 авг. 2018

>Вроде понятно, и ещё вопрос вдогонку: если я буду прикручивать карты AO, куда мне их пихать = в каком пассе обсчитывать и как добавлять в общую кашу?
Iron Man, обычный AO, через текстуры делается просто - там разница берется

float diff = 1.0;

#ifdef USE_AO
  vec2 tc = uv0;
  float ao = tosRGBFloat(textureRt(uTexture5, tc).r);
  ao = ao * uAmbientOcclusionStrength + (1.0 - uAmbientOcclusionStrength);
  diff = ao;
#endif

albedo *= diff;
 

где const float uAmbientOcclusionStrength = 1.0; или же значению из материала

diff  это просто число(float), которое ты пакуешь в gbuffer.
Если мне память не изменяет, то как раз albedo умножается на значение AO, обычно в лайтпассе, но я делаю в геометрическом. Но у меня большая часть информации вычисляется в геометрическом пассе

#37
19:58, 3 авг. 2018

>А если тоже заморочиться на G-буфере для прозрачных объектов? Например, преломления обрабатывать и т.д. и т.п.
Это невозможно, исходя из алгоритма,  для классического Deferred Shading.

Вот тут я плохо помню, некоторые моменты:
-——-
Это надо смотреть в сторону Tile Based DS, там вроде получше с прозрачкой, но тоже есть свои нюансы (не помню точно, что эта техника дает, но вроде с АА сложнее будет).
Можешь еще посмотреть Clustered DS. Но это реализации для продвинутых, требует compute shader,

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

Но реализуя TileBased/Clustered DS, ты задашься вопросом - А нафига мне DS, ведь можно использовать TileBased/clustered forward/forward+ и не иметь проблем с прозрачкой?

Из эксперементальных техник есть еще inferred lighting - Она у меня даже основной когда-то была, модифицированный deferred lighting, но там АА идет из коробки, поддерживаются полу/прозрачные объекты.

#38
19:59, 3 авг. 2018

>Ну это со временем, а пока сделаю как все :) форвардом
Исходи из задач, тебе может даже forward+ будет выгоднее

#39
0:15, 4 авг. 2018

NickGastovski
> #ifdef USE_AO
Это уже излишне :) шейдеры грузятся уже скомпилированными, так что макросы мне недоступны.
А за столь ценную информацию благодарю = она была бы вообще бесценна, если бы ты кинул ещё и код функции tosRGBFloat.
Думаю, это пригодится не только мне )))

#40
3:09, 4 авг. 2018

На нее можно забить, она чисто под PBR
На.

>Это уже излишне :)
У меня UberShader

>шейдеры грузятся уже скомпилированными, так что макросы мне недоступны.
ShaderCache или SPIRV?

#41
5:25, 4 авг. 2018

NickGastovski
> На нее можно забить, она чисто под PBR
Я с PBR не спешу, но и тянуть не собираюсь, так что в любом случае спасибо!
А разве без PBR для sRGB-текстур оно не надо? У меня sRGB :)

> ShaderCache или SPIRV?
При первом запуске и после обновления драйвера = SPIR-V, а потом уже просто Program Cache.

#42
5:52, 4 авг. 2018

И ещё один вопрос: при переходе на отложенный рендеринг, приходится отказываться от полюбившегося мне MSAA :)
На мне TAA пока заморачиваться очень рано, да и сомнения по его качеству одолевают, пишут, что мылит картинку.
Что лучше выбрать: SSAA и FXAA, SMAA и FXAA, SSAA и SMAA или все три?
Я хочу чтоб движок работал на разных по скорости машинах, давал и качество, и скорость, и по мере возможности компромисс )))

#43
6:08, 4 авг. 2018

Iron Man
> Что лучше выбрать: SSAA и FXAA, SMAA и FXAA, SSAA и SMAA или все три?
Тык

#44
7:01, 4 авг. 2018

vindast
Да видел я твою тему и даже флудил, тот акк щас забанен, сижу под старым :) ты бы лучше в двух словах сказал, как лучше )))
В принципе у меня на руках два шейдера = SMAA и FXAA, SSAA вообще делать нечего, но мне нужно с ними определиться.

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

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