diff --git a/Engine.Integration/Engine.Integration.MonoGame/EngineConverter.cs b/Engine.Integration/Engine.Integration.MonoGame/EngineConverter.cs index 4a10da4..cea1b55 100644 --- a/Engine.Integration/Engine.Integration.MonoGame/EngineConverter.cs +++ b/Engine.Integration/Engine.Integration.MonoGame/EngineConverter.cs @@ -19,6 +19,12 @@ public static class EngineConverterExtensions [MethodImpl(MethodImplOptions.AggressiveInlining)] public static Color ToColor(this ColorRGBA color) => new(color.R, color.G, color.B, color.A); + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static Color ToPreMultipliedColor(this ColorRGBA color) + { + float alphaMultiplier = color.A / 255f; + return new((byte)(color.R * alphaMultiplier), (byte)(color.G * alphaMultiplier), (byte)(color.B * alphaMultiplier), color.A); + } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ColorRGBA ToColorRGBA(this Color color) => new(color.R, color.G, color.B, color.A);