While working with blend modes, I got a lot of unexpected results, and after testing them in a separate Place I noticed a lot of them don’t match the intended behavior their documentation describes:
Test case colors:
Target - R:64 G:128 B:255 A:128
Source - R:255 G:128 B:64 A:128
Enum.ImageCombineType.BlendSourceOver
What it should look like with “normal” blending…
Seems to be correct! Mostly, the center’s hue looks slightly off.
Enum.ImageCombineType.Add
What it should look like if source and target RGBA channels each are added together…
Incorrect… Source image is lower influence for some reason?
Enum.ImageCombineType.Multiply
What it should look like if RGBA channels are multiplied together, assuming 0-255 → 0-1 scaling…
Not really close. Why is the blue still there if its alpha should be multiplied with 0?
Enum.ImageCombineType.Subtract
What it should look like if source RGBA channels each are subtracted from target’s…
Correct, but unsure about the center RGB channels due to the unreliable behavior of the other ImageCombineTypes.
Expected behavior
All ImageCombineTypes should behave like the documentation describes, or the documentation should be rewritten to clarify the actual behavior of the ImageCombineTypes. For example, with Add and Multiply and Subtract, all RGBA channels should have the operation applied uniformly.








