示例#1
0
 public void Begin(BlendModeEnum blend, Effect effect)
 {
     if (isBegin)
     {
         throw new InvalidOperationException("Can not Call Begin() twice, please call End() before another call of Begin()");
     }
     currentOption = new GraphicsOptions()
     {
         BlenderMode = (PixelBlenderMode)(int)blend
     };
     currentEffect = effect;
 }
示例#2
0
        private void ReadCanvasKind(YamlMappingNode mapping)
        {
            if (mapping.TryGetNode("light_mode", out var node))
            {
                switch (node.AsString())
                {
                case "normal":
                    LightMode = LightModeEnum.Normal;
                    break;

                case "unshaded":
                    LightMode = LightModeEnum.Unshaded;
                    break;

                case "light_only":
                    LightMode = LightModeEnum.LightOnly;
                    break;

                default:
                    throw new InvalidOperationException($"Invalid light mode: '{node.AsString()}'");
                }
            }

            if (mapping.TryGetNode("blend_mode", out node))
            {
                switch (node.AsString())
                {
                case "mix":
                    BlendMode = BlendModeEnum.Mix;
                    break;

                case "add":
                    BlendMode = BlendModeEnum.Add;
                    break;

                case "subtract":
                    BlendMode = BlendModeEnum.Subtract;
                    break;

                case "multiply":
                    BlendMode = BlendModeEnum.Multiply;
                    break;

                case "premultiplied_alpha":
                    BlendMode = BlendModeEnum.PremultipliedAlpha;
                    break;

                default:
                    throw new InvalidOperationException($"Invalid blend mode: '{node.AsString()}'");
                }
            }
        }
示例#3
0
	//Initialize the default values
	public BlendModule()
	{
		Hue = 0f;
		Saturation = 0.5f;
		Brightness = 1f;
		Alpha = 1f;
		BlendMode = BlendModeEnum.None;
		ModifiedBitmap = null;
		_hue = -1;
		_sat = -1;
		_bri = -1;
		_alp = -1;
	}
    void BlendValues(BlendModeEnum BlendMode)
    {
        switch (BlendMode)
        {
        case BlendModeEnum.Additive:
            FoggyLightMaterial.EnableKeyword("_ADDITIVE");
            FoggyLightMaterial.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One);
            FoggyLightMaterial.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.One);
            break;

        case BlendModeEnum.AlphaBlended:
            FoggyLightMaterial.DisableKeyword("_ADDITIVE");
            FoggyLightMaterial.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha);
            FoggyLightMaterial.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
            break;
        }
    }
示例#5
0
 public static PdfName GetName(
     this BlendModeEnum blendMode
     )
 {
     return(codes[blendMode]);
 }
示例#6
0
        private static void ApplyBlend(SKPaint paint, BlendModeEnum mode)
        {
            switch (mode)
            {
            case BlendModeEnum.Multiply:
                paint.BlendMode = SKBlendMode.Multiply;
                break;

            case BlendModeEnum.Lighten:
                paint.BlendMode = SKBlendMode.Lighten;
                break;

            case BlendModeEnum.Luminosity:
                paint.BlendMode = SKBlendMode.Luminosity;
                break;

            case BlendModeEnum.Overlay:
                paint.BlendMode = SKBlendMode.Overlay;
                break;

            case BlendModeEnum.Normal:
                paint.BlendMode = SKBlendMode.SrcOver;
                break;

            case BlendModeEnum.ColorBurn:
                paint.BlendMode = SKBlendMode.ColorBurn;
                break;

            case BlendModeEnum.Screen:
                paint.BlendMode = SKBlendMode.Screen;
                break;

            case BlendModeEnum.Darken:
                paint.BlendMode = SKBlendMode.Darken;
                break;

            case BlendModeEnum.ColorDodge:
                paint.BlendMode = SKBlendMode.ColorDodge;
                break;

            case BlendModeEnum.Compatible:
                paint.BlendMode = SKBlendMode.SrcOver;
                break;

            case BlendModeEnum.HardLight:
                paint.BlendMode = SKBlendMode.HardLight;
                break;

            case BlendModeEnum.SoftLight:
                paint.BlendMode = SKBlendMode.SoftLight;
                break;

            case BlendModeEnum.Difference:
                paint.BlendMode = SKBlendMode.Difference;
                break;

            case BlendModeEnum.Exclusion:
                paint.BlendMode = SKBlendMode.Exclusion;
                break;

            case BlendModeEnum.Hue:
                paint.BlendMode = SKBlendMode.Hue;
                break;

            case BlendModeEnum.Saturation:
                paint.BlendMode = SKBlendMode.Saturation;
                break;

            case BlendModeEnum.Color:
                paint.BlendMode = SKBlendMode.Color;
                break;
            }
        }