/// <summary>
        /// Sets the description.
        /// </summary>
        /// <param name="desc">The desc.</param>
        public void SetDescription(ForwardXNABasicShaderDescription desc)
        {
            this.desc = desc;
            if (desc.EnableLightning)
            {
                if (desc.DefaultLightning)
                {
                    effect.EnableDefaultLighting();
                }
                else
                {
                    effect.LightingEnabled   = true;
                    effect.SpecularColor     = desc.SpecularColor;
                    effect.SpecularPower     = desc.SpecularPower;
                    effect.EmissiveColor     = desc.EmissiveColor;
                    effect.AmbientLightColor = desc.AmbientColor;
                }
            }

            if (desc.EnableTexture)
            {
                effect.TextureEnabled = desc.EnableTexture;
            }
            else
            {
                effect.DiffuseColor = desc.ObjectColor;
            }

            effect.Alpha = desc.alpha;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ForwardXNABasicShader"/> class.
 /// </summary>
 /// <param name="desc">The desc.</param>
 public ForwardXNABasicShader(ForwardXNABasicShaderDescription desc)
 {
     this.desc = desc;
 }
 /// <summary>
 /// Defaults this instance.
 /// </summary>
 /// <returns></returns>
 public static ForwardXNABasicShaderDescription Default()
 {
     ForwardXNABasicShaderDescription desc = new ForwardXNABasicShaderDescription(Color.White, Color.Black, Color.White, 0, 1, false, true);
     return desc;
 }
        /// <summary>
        /// Sets the description.
        /// </summary>
        /// <param name="desc">The desc.</param>
        public void SetDescription(ForwardXNABasicShaderDescription desc)
        {
            this.desc = desc;
            if (desc.EnableLightning)
            {
                if (desc.DefaultLightning)
                {
                    effect.EnableDefaultLighting();
                }
                else
                {
                    effect.LightingEnabled = true;
                    effect.SpecularColor = desc.SpecularColor;
                    effect.SpecularPower = desc.SpecularPower;
                    effect.EmissiveColor = desc.EmissiveColor;
                    effect.AmbientLightColor = desc.AmbientColor;
                }
            }

            if (desc.EnableTexture)
                effect.TextureEnabled = desc.EnableTexture;
            else
                effect.DiffuseColor = desc.ObjectColor;

            effect.Alpha = desc.alpha;            
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ForwardXNABasicShader"/> class.
 /// </summary>
 /// <param name="desc">The desc.</param>
 public ForwardXNABasicShader(ForwardXNABasicShaderDescription desc)
 {
     this.desc = desc;
 }
        /// <summary>
        /// Defaults this instance.
        /// </summary>
        /// <returns></returns>
        public static ForwardXNABasicShaderDescription Default()
        {
            ForwardXNABasicShaderDescription desc = new ForwardXNABasicShaderDescription(Color.White, Color.Black, Color.White, 0, 1, false, true);

            return(desc);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ForwardXNABasicShader"/> class.
 /// </summary>
 public ForwardXNABasicShader()
     : this(ForwardXNABasicShaderDescription.Default())
 {
 }