PipelineVertexInputStateCreateInfo IInternalRenderObject.GetVertexInputState()
        {
            //Gather the attribute descriptions
            var vertexAttributeDescriptions = new ResizeArray <VertexInputAttributeDescription>();

            Vertex.AddAttributeDescriptions(binding: 0, vertexAttributeDescriptions);
            InstanceData.AddAttributeDescriptions(binding: 1, vertexAttributeDescriptions);

            return(new PipelineVertexInputStateCreateInfo(
                       vertexBindingDescriptions: new []
            {
                new VertexInputBindingDescription(
                    binding: 0,
                    stride: Vertex.SIZE,
                    inputRate: VertexInputRate.Vertex),
                new VertexInputBindingDescription(
                    binding: 1,
                    stride: InstanceData.SIZE,
                    inputRate: VertexInputRate.Instance)
            },
                       vertexAttributeDescriptions: vertexAttributeDescriptions.ToArray()));
        }