Beispiel #1
0
 public static void SetBlendMode(Material mat, DRenderMode rm)
 {
     var(src, dst, op) = rm.ToBlendVars();
     mat.SetFloat(PropConsts.blendSrcMethod, src);
     mat.SetFloat(PropConsts.blendDstMethod, dst);
     mat.SetFloat(PropConsts.blendOp, (int)op);
 }
Beispiel #2
0
 public static void SetBlendMode(this MaterialPropertyBlock pb, DRenderMode rm)
 {
     var(src, dst, op) = rm.ToBlendVars();
     pb.SetFloat(PropConsts.blendSrcMethod, src);
     pb.SetFloat(PropConsts.blendDstMethod, dst);
     pb.SetFloat(PropConsts.blendOp, (int)op);
 }
Beispiel #3
0
 public static (int src, int dst, BlendOp op) ToBlendVars(this DRenderMode rm)
 {
     if (rm == DRenderMode.NORMAL)
     {
         //SrcAlpha OneMinusSrcAlpha
         return(5, 10, BlendOp.Add);
     }
     else if (rm == DRenderMode.ADDITIVE)
     {
         //SrcAlpha One
         return(5, 1, BlendOp.Add);
     }
     else if (rm == DRenderMode.NEGATIVE)
     {
         //SrcAlpha One, Negative
         return(5, 1, BlendOp.ReverseSubtract);
     }
     throw new Exception($"Can't handle render mode {rm}");
 }
Beispiel #4
0
 public Sprite Recolor(IGradient p, GradientModifier gt, DRenderMode render, Sprite s)
 {
     SetFromPalette(p, gt, render);
     return(Recolor(s));
 }
Beispiel #5
0
 private void SetFromPalette(IGradient p, GradientModifier gt, DRenderMode render) =>
 setGradient = p.Modify(gt, render);