Types/BlendMode: Difference between revisions
(Clarify formula for normal blending.) |
m (typo) |
||
Line 1: | Line 1: | ||
A [[Types/string]] that determines how sprites/animations should blend with the background. The possible values are listed below. | A [[Types/string]] that determines how sprites/animations should blend with the background. The possible values are listed below. | ||
Note: In most of Factorio it is assumed colors are in alpha premultiplied format: [https://www.factorio.com/blog/post/fff-172 FFF #172 - Blending and Rendering]. Sprites get premultiplied when loaded, unless <code>premul_alpha</code> is set to false on the sprite/animation itself. But generating mipmaps doesn't respect <code>premul_alpha</code>, so | Note: In most of Factorio it is assumed colors are in alpha premultiplied format: [https://www.factorio.com/blog/post/fff-172 FFF #172 - Blending and Rendering]. Sprites get premultiplied when loaded, unless <code>premul_alpha</code> is set to false on the sprite/animation itself. But generating mipmaps doesn't respect <code>premul_alpha</code>, so lower mipmap levels will be in premultiplied format regardless. | ||
== Possible values == | == Possible values == |
Revision as of 14:08, 30 January 2023
A Types/string that determines how sprites/animations should blend with the background. The possible values are listed below.
Note: In most of Factorio it is assumed colors are in alpha premultiplied format: FFF #172 - Blending and Rendering. Sprites get premultiplied when loaded, unless premul_alpha
is set to false on the sprite/animation itself. But generating mipmaps doesn't respect premul_alpha
, so lower mipmap levels will be in premultiplied format regardless.
Possible values
normal
The result color is determined with the following formula:
Result = Active_RGB + Background_RGB * ( 1 - Active_Alpha )
Note: This is alpha blending with an assumption that Active_RGB is already premultiplied with Active_Alpha.
additive
The result color is determined with the following formula:
Result = Active_RGB + Background_RGB
additive-soft
The result color is determined with the following formula:
Result = Active_RGB * ( 1 - Background_RGB ) + Background_RGB
multiplicative
The result color is determined with the following formula:
Result = Active_RGB * Background_RGB
overwrite
The result color is determined with the following formula:
Result = Active_RGBA or Background_RGBA