I’m pretty sure this wasn’t available on early GPUs. Additive blending with glBlendFunc(GL_ONE, GL_ONE) or its D3D equivalent just summed the new fragment with the frame buffer value.
Accumulating into an 8-bpc buffer will quickly artifact, so whether it’s acceptable to only do the blend operation in linear light (accumulating into a gamma-corrected frame buffer) depends on how many passes you’re rendering.
Accumulating into an 8-bpc buffer will quickly artifact, so whether it’s acceptable to only do the blend operation in linear light (accumulating into a gamma-corrected frame buffer) depends on how many passes you’re rendering.