private void CreateGlow(Drawables.Image image, Texture2D texture, Color?imageGlowColor = null) { var imageGlow = GlowEffect.CreateGlow(texture, imageGlowColor == null ? glowColor : imageGlowColor.Value, blurX, blurY, dist, angle, alpha, strength, inner, knockout, circleSamplingTimes, linearSamplingTimes, GraphicsDevice); // Dispose if the previous texture is not pixel if (image.texture != imgPixel) { image.texture.Dispose(); } image.texture = imageGlow; }
protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); imgPixel = new Texture2D(GraphicsDevice, 1, 1); Color[] _Color = new Color[1]; _Color[0] = Color.White; imgPixel.SetData(_Color); arialSpriteFont = Content.Load <SpriteFont>("Arial"); cooperBlackSpriteFont = Content.Load <SpriteFont>("CooperBlack"); imgSurge = Content.Load <Texture2D>("surge"); imgDragon = Content.Load <Texture2D>("Dragon"); imgTroll = Content.Load <Texture2D>("Troll"); var lineSpace = 42; var pos = new Vector2(50, 20); drawList.Add(new Drawables.Text(arialSpriteFont, "Color:", pos, Color.White)); var posLeftColor = pos.X + 100; pos = new Vector2(posLeftColor, pos.Y); CreateSquareColor(pos, Color.White, true); pos.X += 45; CreateSquareColor(pos, Color.Yellow); pos.X += 45; CreateSquareColor(pos, Color.LightGreen); pos.X += 45; CreateSquareColor(pos, Color.MediumVioletRed); pos.X += 45; CreateSquareColor(pos, Color.LightSkyBlue); pos.X += 45; CreateSquareColor(pos, Color.GreenYellow); pos.X += 45; CreateSquareColor(pos, Color.Pink); pos.X = posLeftColor; pos.Y += 45; CreateSquareColor(pos, Color.LightGray); pos.X += 45; CreateSquareColor(pos, Color.Gray); pos.X += 45; CreateSquareColor(pos, Color.DarkGray); pos.X += 45; CreateSquareColor(pos, Color.Olive); pos.X += 45; CreateSquareColor(pos, Color.Cyan); pos.X += 45; CreateSquareColor(pos, Color.Orange); pos.X += 45; CreateSquareColor(pos, Color.Magenta); pos = new Vector2(50, 150); CreateOptionNumber("Blur X", pos, blurX, 5f, value => blurX = value); pos.Y += lineSpace; CreateOptionNumber("Blur Y", pos, blurY, 5f, value => blurY = value); pos.Y += lineSpace; CreateOptionNumber("Dist", pos, dist, 1f, value => dist = value); pos.Y += lineSpace; CreateOptionNumber("Angle", pos, angle, 1f, value => angle = value); pos.Y += lineSpace; CreateOptionNumber("Alpha", pos, alpha, 1f, value => alpha = value); pos.Y += lineSpace; CreateOptionNumber("Strength", pos, strength, 1f, value => strength = value); pos.Y += lineSpace; CreateOptionNumber("Inner", pos, inner, 1f, value => inner = value); pos.Y += lineSpace; CreateOptionNumber("Knockout", pos, knockout, 1f, value => knockout = value); pos.Y += lineSpace; CreateOptionNumber("Circle sampling times", pos, circleSamplingTimes, 1f, value => circleSamplingTimes = value); pos.Y += lineSpace; CreateOptionNumber("Linear sampling times", pos, linearSamplingTimes, 1f, value => linearSamplingTimes = value); pos = new Vector2(550, 15); CreateAndAddImageObject(new Drawables.Image(imgPixel, new Rectangle(520, 15, 2, 650))) .color = Color.Yellow; imgObjFpsText = CreateAndAddImageObject(new Drawables.Image(imgPixel, new Vector2(600, 0))); imgObjSurge = CreateAndAddImageObject(new Drawables.Image(imgPixel, new Vector2(650, 90))); imgObjDragon = CreateAndAddImageObject(new Drawables.Image(imgPixel, new Vector2(600, 210))); imgObjTroll = CreateAndAddImageObject(new Drawables.Image(imgPixel, new Vector2(570, 400))); UpdateTextureOutlines(); }
private Drawables.Image CreateAndAddImageObject(Drawables.Image imgObj) { drawList.Add(imgObj); return(imgObj); }