ID:1431260
 
Applies to:
Status: Open

Issue hasn't been assigned a status value.
I'm not the best at explanations, but here it goes.

Would it be possible that sprites/images/icons on the same layer would be added together, before applied to the lower layers?

Currently:
Layer 1: rgb(51,102,204) (BLEND_ADD)
Layer 2: rgb(102,102,102) (BLEND_SUBTRACT)
Layer 2: rgb(102,102,102) (BLEND_ADD)
Result: rgb(102,102,204)
OR
Layer 1: rgb(51,102,204) (BLEND_ADD)
Layer 2: rgb(102,102,102) (BLEND_ADD)
Layer 2: rgb(102,102,102) (BLEND_SUBTRACT)
Result: rgb(102,102,153)

Layer additive method:
Layer 1: rgb(51,102,204) (BLEND_ADD)
Layer 2: rgb(102,102,102) (BLEND_SUBTRACT)
Layer 2: rgb(102,102,102) (BLEND_ADD)
Result: rgb(51,102,204)

The layer additive method would add the second layer together before applying it on the first layer, since the two cancel each other other, it would have no effect on the bottom one.

Could be used for lighting systems with relative ease, although yes, I understand that this approach probably wouldn't be well liked. Though it still opens up new options.

Perhaps this could be made as an extra option, which can be toggled in world atom. For example world.blend_format or the like.
I don't really understand the concept behind this. For one thing, there's really no such concept at drawing time of two items being on the "same" layer. The backend code will always sort the icons into the drawing order it thinks is right, where atom.layer is a factor in those calculations, but once it reaches the frontend all icons are in order. The backend code will also tend to get confused by two icons in the same space with the same layer, since the sorting order is arbitrary.
The basic idea is that the two layers get added together based on their blend_mode, then they are added onto the bottom layer.
When the multiply mode gets involved, what you just said makes absolutely no sense

Even without that it pretty much doesnt