internal VertexBufferArray(string name, int id, VertexBufferLayoutKind[] vblk, VertexBuffer vb, IndexBuffer ib = null) : base(name, id, GraphicsResourceType.VertexBufferArray)
        {
            _LayoutElements = new List<VertexBufferLayoutKind[]>();
            _InternalBuffers = new List<VertexBuffer>();

            VertexBufferLayoutKind[] layout = new VertexBufferLayoutKind[vblk.Length];
            Array.Copy(vblk, layout, layout.Length);

            _LayoutElements.Add(layout);

            _InternalBuffers.Add(vb);
            vb.SetUseCount(vb.InternalUseCount + 1);

            _InternalOptionalIndexBuffer = ib;
            if(ib != null)
                _InternalOptionalIndexBuffer.SetUseCount(_InternalOptionalIndexBuffer.InternalUseCount + 1);
        }