"Blend-Add" Diablo3 vFX shader


GDC - Julian Love explained additive shader vFX easily lead to a white mess, needless to say I avoid them … but the alpha blend often leads to lackluster billboards.

Solution was something apparently studios/tech artists know… and yet i find ZERO info on it‽ :banghead:

“Blend-Add” as it was called; uses the alpha to describe blending; lerping from additive when black (transparent) to traditional blend as you transition to white (opaque)
[see Attachment]

we are familiar with

Blend SrcAlpha OneMinusSrcAlpha // Alpha blending
Blend One One // Additive
Blend OneMinusDstColor One // Soft Additive
Blend DstColor Zero // Multiplicative
Blend DstColor SrcColor // 2x Multiplicative

I thought perhaps “Soft” additive was it, but that is the “screen” layering nomenclature as seen in Photoshop 1−(1−A)*(1−B)
aka (1-A) * B + A

I tried every PS layering technique. nada.

i’m sure this is a double … possibly triple pass through CG, but as I said, I can’t find ANY info.
anyone help?


I think I figured it out, ultimately it’s additive source color but the screen destination color has to be multiplied by the opposite of its alpha

simple enough
Source Color + Destination Color * (1 - Source Alpha)

and a single blend pass :0

Blend One OneMinusSrcAlpha

that seems to do it; nice and simple too


This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.