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; }
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; }
public void Dispose() { Console.WriteLine("Shutdown renderer."); if (sfmlSprite != null) { sfmlSprite.Dispose(); sfmlSprite = null; } if (sfmlTexture != null) { sfmlTexture.Dispose(); sfmlTexture = null; } }
public void Dispose() { if (sfmlSprite != null) { sfmlSprite.Dispose(); sfmlSprite = null; } if (sfmlTexture != null) { sfmlTexture.Dispose(); sfmlTexture = null; } Console.WriteLine("SFML resources are disposed."); }
//////////////////////////////////////////////////////////// /// <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); } }