Esempio n. 1
0
        /// <summary>
        /// Gets a blend state which corresponds to the specified emitter blend mode.
        /// </summary>
        /// <param name="blendMode">The blend mode of the emitter.</param>
        /// <returns>A blend state instance.</returns>
        static public BlendState GetBlendState(EmitterBlendMode blendMode)
        {
            switch (blendMode)
            {
            case EmitterBlendMode.Add:
                return(BlendStateFactory.Add);

            case EmitterBlendMode.Alpha:
                return(BlendStateFactory.Alpha);

#if !WINDOWS_PHONE
            case EmitterBlendMode.Compare:
                return(BlendStateFactory.Compare);

            case EmitterBlendMode.Contrast:
                return(BlendStateFactory.Contrast);

            case EmitterBlendMode.Screen:
                return(BlendStateFactory.Screen);

            case EmitterBlendMode.Subtract:
                return(BlendStateFactory.Subtract);
#endif
            default:
#if WINRT
                throw new ArgumentException(String.Format("blendMode {0} {1}", (Int32)blendMode, typeof(EmitterBlendMode)));
#else
                throw new InvalidEnumArgumentException("blendMode", (Int32)blendMode, typeof(EmitterBlendMode));
#endif
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Gets the BlendState object corresponding to the specified EmitterBlendMode value.
        /// </summary>
        /// <param name="emitterBlendMode">The EmitterBlendMode value.</param>
        /// <returns>A BlendState object.</returns>
        private BlendState GetBlendState(EmitterBlendMode emitterBlendMode)
        {
            switch (emitterBlendMode)
            {
            case EmitterBlendMode.Alpha:
            {
                return(BlendState.NonPremultiplied);
            }

            case EmitterBlendMode.Add:
            {
                return(this.NonPremultipliedAdditive);
            }

            default:
            {
                throw new InvalidEnumArgumentException("emitterBlendMode", (int)emitterBlendMode, typeof(EmitterBlendMode));
            }
            }
        }
        /// <summary>
        /// Gets a blend state which corresponds to the specified emitter blend mode.
        /// </summary>
        /// <param name="blendMode">The blend mode of the emitter.</param>
        /// <returns>A blend state instance.</returns>
        static public BlendState GetBlendState(EmitterBlendMode blendMode)
        {
            switch (blendMode)
            {
                case EmitterBlendMode.Alpha:
                    {
                        return BlendState.NonPremultiplied;
                    }
                case EmitterBlendMode.Add:
                    {
                        return BlendStateFactory.NonPremultipliedAdditive;
                    }
                default:
                    {
#if WINDOWS
                        throw new InvalidEnumArgumentException("blendMode", (int)blendMode, typeof(EmitterBlendMode));
#elif XBOX
                        throw new ArgumentException((int)blendMode + " is not a valid value for EmitterBlendMode!");
#endif
                    }
            }
        }
Esempio n. 4
0
        private static BlendState GetBlendState(EmitterBlendMode emitterBlendMode)
        {
            switch (emitterBlendMode)
            {
            case EmitterBlendMode.Alpha:
            {
                return(BlendState.NonPremultiplied);
            }

            case EmitterBlendMode.Add:
            {
                return(new BlendState
                    {
                        AlphaBlendFunction = BlendFunction.Add,
                        AlphaDestinationBlend = Blend.One,
                        AlphaSourceBlend = Blend.SourceAlpha,
                        ColorBlendFunction = BlendFunction.Add,
                        ColorDestinationBlend = Blend.One,
                        ColorSourceBlend = Blend.SourceAlpha,
                    });;
            }
            }
            return(BlendState.AlphaBlend);
        }
 /// <summary>
 /// Gets the BlendState object corresponding to the specified EmitterBlendMode value.
 /// </summary>
 /// <param name="emitterBlendMode">The EmitterBlendMode value.</param>
 /// <returns>A BlendState object.</returns>
 private BlendState GetBlendState(EmitterBlendMode emitterBlendMode)
 {
     switch (emitterBlendMode)
     {
         case EmitterBlendMode.Alpha:
             {
                 return BlendState.NonPremultiplied;
             }
         case EmitterBlendMode.Add:
             {
                 return this.NonPremultipliedAdditive;
             }
         default:
             {
                 throw new InvalidEnumArgumentException("emitterBlendMode", (int)emitterBlendMode, typeof(EmitterBlendMode));
             }
     }
 }
Esempio n. 6
0
        /// <summary>
        /// Gets a blend state which corresponds to the specified emitter blend mode.
        /// </summary>
        /// <param name="blendMode">The blend mode of the emitter.</param>
        /// <returns>A blend state instance.</returns>
        static public BlendState GetBlendState(EmitterBlendMode blendMode)
        {
            switch (blendMode)
            {
                case EmitterBlendMode.Add:
                    return BlendStateFactory.Add;

                case EmitterBlendMode.Alpha:
                    return BlendStateFactory.Alpha;
#if !WINDOWS_PHONE
                case EmitterBlendMode.Compare:
                    return BlendStateFactory.Compare;

                case EmitterBlendMode.Contrast:
                    return BlendStateFactory.Contrast;

                case EmitterBlendMode.Screen:
                    return BlendStateFactory.Screen;

                case EmitterBlendMode.Subtract:
                    return BlendStateFactory.Subtract;
#endif
                default:
                    throw new InvalidEnumArgumentException("blendMode", (Int32)blendMode, typeof(EmitterBlendMode));
            }
        }
Esempio n. 7
0
        private static BlendType ToCoreBlend(EmitterBlendMode mercury)
        {
            BlendType blend;

            switch (mercury)
            {
                case EmitterBlendMode.Add:          blend = BlendType.Add;        break;
                case EmitterBlendMode.Alpha:        blend = BlendType.Alpha;      break;
                case EmitterBlendMode.None:         blend = BlendType.None;       break;
                default:                            blend = BlendType.Add;        break;
            }

            return blend;
        }