diff --git a/Core/Utils/SharedEnums.cs b/Core/Utils/SharedEnums.cs index 476eec70f3..937caf8dde 100644 --- a/Core/Utils/SharedEnums.cs +++ b/Core/Utils/SharedEnums.cs @@ -22,6 +22,8 @@ public enum RgbBlendModes Difference = 4, UseImageA_RGB = 5, UseImageB_RGB = 6, + ColorDodge = 7, + LinearDodge = 8, } } } \ No newline at end of file diff --git a/Resources/lib/shared/blend-functions.hlsl b/Resources/lib/shared/blend-functions.hlsl index 7d52b6774f..565658b2af 100644 --- a/Resources/lib/shared/blend-functions.hlsl +++ b/Resources/lib/shared/blend-functions.hlsl @@ -52,6 +52,16 @@ float4 BlendColors(float4 tA, float4 tB, int blendMode) case 6: rgb = tB.rgb; break; + + // colorDodge + case 7: + rgb = tA.rgb / (1.0001 - saturate( tB.rgb)); + break; + + // linearDodge + case 8: + rgb = tA.rgb + tB.rgb; + break; } return float4(rgb, a);