Ну так аддитивный мне нужен для множества лайтов.
|
мультипасс? ну разве что ты каждый отдельно отсортированный объект будешь рисовать сначала с амбиентом и альфой обычной, потом с вышеуказанным блендом аддитивно на каждый лайт, потом следующий объект так же - тогда проканает.
производительность конечно очень сомнительная будет.
если бы ты делал tiled деферед, можно было бы освещать альфу так же, как и неальфу.
дешёвый вариант, который иногда вполне канает: считаешь среднее освещение приходящее в середину каждого альфа-объекта в виде сферической гармоники или просто с 6 сторон, типа сумма saturate(dot(lightN, vec)), где vec = float3(1,0,0), float3(-1,0,0), float3(0,1,0) итд. Потом рисуешь форвардом альфа-объекты, применяя одну гармонику/куб света на весь объект.