Browse Source

Return premultiplied alpha

flabbet 1 year ago
parent
commit
e9183a4aa6

+ 2 - 1
src/PixiEditor.DrawingApi.Core/Shaders/Generation/ShaderBuilder.cs

@@ -70,7 +70,8 @@ public class ShaderBuilder
 
     public void ReturnVar(Half4 colorValue)
     {
-        _bodyBuilder.AppendLine($"return {colorValue.VariableName};");
+        _bodyBuilder.AppendLine($"half4 toReturn = half4({colorValue.VariableName}.r * {colorValue.VariableName}.a, {colorValue.VariableName}.g * {colorValue.VariableName}.a, {colorValue.VariableName}.b * {colorValue.VariableName}.a, {colorValue.VariableName}.a);");
+        _bodyBuilder.AppendLine($"return toReturn;"); 
     }
 
     public void ReturnConst(Half4 colorValue)