public void CanBindSingleVertexBuffer()
		{
			// Arrange.
			var device = new Device();
			var inputAssembler = new InputAssemblerStage(device);
			var vertices = new[]
			{
				new TestVertex.PositionNormalTexture(Vector3.Zero, Vector3.Zero, Vector2.Zero),
				new TestVertex.PositionNormalTexture(Vector3.Zero, Vector3.Zero, Vector2.Zero)
			};
			var vertexBuffer = device.CreateBuffer(new BufferDescription(BindFlags.VertexBuffer), vertices);

			// Act.
			inputAssembler.SetVertexBuffers(0, new[]
			{
				new VertexBufferBinding(vertexBuffer, 0, TestVertex.PositionNormalTexture.SizeInBytes)
			});

			// Assert.
			var vertexBufferBindings = new VertexBufferBinding[1];
			inputAssembler.GetVertexBuffers(0, 1, vertexBufferBindings);
			Assert.That(vertexBufferBindings[0].Buffer, Is.EqualTo(vertexBuffer));
		}
		public void GetVertexBuffers(int startSlot, int numBuffers, VertexBufferBinding[] vertexBufferBindings)
		{
			for (int i = 0; i < numBuffers; i++)
				vertexBufferBindings[i] = _vertexBufferBindings[i + startSlot];
		}
		public VertexBufferIndex(VertexBufferBinding binding, int startLocation)
		{
			_binding = binding;
			_offset = binding.Offset + (startLocation * binding.Stride);
		}