diff --git a/SpineViewer/Exporter/Exporter.cs b/SpineViewer/Exporter/Exporter.cs index 6fe6a2e..11171db 100644 --- a/SpineViewer/Exporter/Exporter.cs +++ b/SpineViewer/Exporter/Exporter.cs @@ -14,6 +14,11 @@ namespace SpineViewer.Exporter /// public abstract class Exporter(ExportArgs exportArgs) : ImplementationResolver { + /// + /// 仅源像素混合模式 + /// + private static readonly SFML.Graphics.BlendMode SrcOnlyBlendMode = new(SFML.Graphics.BlendMode.Factor.One, SFML.Graphics.BlendMode.Factor.Zero); + /// /// 创建指定类型导出器 /// @@ -83,7 +88,7 @@ namespace SpineViewer.Exporter // 混合模式用直接覆盖的方式, 保证得到的图像区域是反预乘的颜色和透明度, 同时使用反预乘着色器 var st = SFML.Graphics.RenderStates.Default; - st.BlendMode = new(SFML.Graphics.BlendMode.Factor.One, SFML.Graphics.BlendMode.Factor.Zero); // 用源的颜色和透明度直接覆盖 + st.BlendMode = SrcOnlyBlendMode; // 用源的颜色和透明度直接覆盖 st.Shader = Shader.InversePma; // 在最终结果上二次渲染非预乘画面