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); }