/// <summary>
 /// Creates a NonPremultiplied blend state.
 /// </summary>
 /// <param name="uv">The Ultraviolet context.</param>
 /// <returns>The blend state that was created.</returns>
 public static OpenGLBlendState CreateNonPremultiplied(UltravioletContext uv)
 {
     var state = new OpenGLBlendState(uv);
     state.AlphaSourceBlend = Blend.SourceAlpha;
     state.AlphaDestinationBlend = Blend.InverseSourceAlpha;
     state.ColorSourceBlend = Blend.SourceAlpha;
     state.ColorDestinationBlend = Blend.InverseSourceAlpha;
     state.MakeImmutable();
     return state;
 }
 /// <summary>
 /// Creates an Additive blend state.
 /// </summary>
 /// <param name="uv">The Ultraviolet context.</param>
 /// <returns>The blend state that was created.</returns>
 public static OpenGLBlendState CreateAdditive(UltravioletContext uv)
 {
     var state = new OpenGLBlendState(uv);
     state.AlphaSourceBlend = Blend.SourceAlpha;
     state.AlphaDestinationBlend = Blend.One;
     state.ColorSourceBlend = Blend.SourceAlpha;
     state.ColorDestinationBlend = Blend.One;
     state.MakeImmutable();
     return state;
 }
        /// <summary>
        /// Creates a NonPremultiplied blend state.
        /// </summary>
        /// <param name="uv">The Ultraviolet context.</param>
        /// <returns>The blend state that was created.</returns>
        public static OpenGLBlendState CreateNonPremultiplied(UltravioletContext uv)
        {
            var state = new OpenGLBlendState(uv);

            state.AlphaSourceBlend      = Blend.SourceAlpha;
            state.AlphaDestinationBlend = Blend.InverseSourceAlpha;
            state.ColorSourceBlend      = Blend.SourceAlpha;
            state.ColorDestinationBlend = Blend.InverseSourceAlpha;
            state.MakeImmutable();
            return(state);
        }
        /// <summary>
        /// Creates an Additive blend state.
        /// </summary>
        /// <param name="uv">The Ultraviolet context.</param>
        /// <returns>The blend state that was created.</returns>
        public static OpenGLBlendState CreateAdditive(UltravioletContext uv)
        {
            var state = new OpenGLBlendState(uv);

            state.AlphaSourceBlend      = Blend.SourceAlpha;
            state.AlphaDestinationBlend = Blend.One;
            state.ColorSourceBlend      = Blend.SourceAlpha;
            state.ColorDestinationBlend = Blend.One;
            state.MakeImmutable();
            return(state);
        }