Exemplo n.º 1
0
        public static bool CreateShadows()
        {

            Image img = spriteSheet.Texture.CopyToImage();

            for (uint k = 0; k < img.Size.X; k++)
                for (uint j = 0; j < img.Size.Y; j++)
                {
                    Color c = img.GetPixel(k, j);
                    if (c.A == 255)
                    {
                        Color d = new Color();
                        d.A = 40;
                        d.R = d.G = d.B = 0;
                        img.SetPixel(k, j, d);
                    }
                }

            Texture tex = new Texture(img);
            Sprite tempsprite = new Sprite();
            tempsprite.Texture = tex;

            shadowSpriteSheet = new RenderTexture(textureSize, textureSize);
            shadowSpriteSheet.Draw(tempsprite);
            shadowSpriteSheet.Display();

            shadowSprite.Texture = shadowSpriteSheet.Texture;

            img.Dispose();
            tempsprite.Dispose();
            tex.Dispose();

            return true;
        }
Exemplo n.º 2
0
        public override void FreeTexture(Texture texture)
        {
            SFMLTexture tex = texture.RendererData as SFMLTexture;

            if (tex != null)
            {
                tex.Dispose();
            }

            Debug.Print("FreeTexture: {0}", texture.Name);

            texture.RendererData = null;
        }
Exemplo n.º 3
0
        public void Dispose()
        {
            Console.WriteLine("Shutdown renderer.");

            if (sfmlSprite != null)
            {
                sfmlSprite.Dispose();
                sfmlSprite = null;
            }

            if (sfmlTexture != null)
            {
                sfmlTexture.Dispose();
                sfmlTexture = null;
            }
        }
Exemplo n.º 4
0
        public void Dispose()
        {
            if (sfmlSprite != null)
            {
                sfmlSprite.Dispose();
                sfmlSprite = null;
            }

            if (sfmlTexture != null)
            {
                sfmlTexture.Dispose();
                sfmlTexture = null;
            }

            Console.WriteLine("SFML resources are disposed.");
        }
Exemplo n.º 5
0
            ////////////////////////////////////////////////////////////
            /// <summary>
            /// Handle the destruction of the object
            /// </summary>
            /// <param name="disposing">Is the GC disposing the object, or is it an explicit call ?</param>
            ////////////////////////////////////////////////////////////
            protected override void Destroy(bool disposing)
            {
                if (!disposing)
                {
                    Context.Global.SetActive(true);
                }

                sfRenderTexture_destroy(CPointer);

                if (disposing)
                {
                    myDefaultView.Dispose();
                    Texture.Dispose();
                }

                if (!disposing)
                {
                    Context.Global.SetActive(false);
                }
            }