#pragma once #include "VertexBuffer.h" //template VertexBuffer::VertexBuffer(Graphics& gfx, const std::vector& vertices) : stride(sizeof(StructVertex)) { D3D11_BUFFER_DESC bd = {}; bd.BindFlags = D3D11_BIND_VERTEX_BUFFER; bd.Usage = D3D11_USAGE_DEFAULT; bd.CPUAccessFlags = 0u; bd.MiscFlags = 0u; bd.ByteWidth = UINT(sizeof(StructVertex) * vertices.size()); bd.StructureByteStride = sizeof(StructVertex); D3D11_SUBRESOURCE_DATA sd = {}; sd.pSysMem = vertices.data(); GetDevice(gfx)->CreateBuffer(&bd, &sd, &pVertexBuffer); } void VertexBuffer::Bind(Graphics& gfx) noexcept { const UINT offset = 0u; GetContext(gfx)->IASetVertexBuffers(0u, 1u, pVertexBuffer.GetAddressOf(), &stride, &offset); }