/// <summary> /// Initializes a new instance of the Sprite class. /// </summary> /// <param name="spriteRenderer">The owning <see cref="ISpriteRenderer"/>.</param> /// <param name="primitives">The primitives.</param> public Sprite(ISpriteRenderer spriteRenderer, params Primitive[] primitives) { if (primitives == null || primitives.Length == 0) { throw new ArgumentNullException("primitives"); } this.SpriteRenderer = spriteRenderer; this.ViewportSize = spriteRenderer.Viewport.Size; this.backend = spriteRenderer.RenderManager.MiyagiSystem.Backend; this.primitives = primitives; foreach (var pri in primitives) { this.TriangleCount += pri.TriangleCount; this.VertexCount += pri.VertexCount; } spriteRenderer.AddSprite(this); this.textureHandle = RenderManager.TransparentTextureHandle; }