public virtual bool IsVisible(BaseSprite sprite) { { float max = (float)Math.Max(sprite.Width * ScaleX, sprite.Height * ScaleY); Vector2 pos = sprite.Position; Vector2 bottomRight = ScreenToWorld(Vector2.One); Vector2 topLeft = ScreenToWorld(Vector2.Zero); if (pos.X < bottomRight.X && pos.X > topLeft.X) { return(true); } else { return(false); } } JabRectangle camView = new JabRectangle(0, 0, 1.0f, 1.0f); JabRectangle spriteRect = sprite.GetRectangle(); if (!(camView.Intersects(spriteRect) || spriteRect.Intersects(camView))) { int k = 0; } return(camView.Intersects(spriteRect) || spriteRect.Intersects(camView)); }