#pragma once #include "Base.h" #include "Graphics/VertexLayout.h" #include #include namespace Light { class Shader; class dxSharedContext; class dxVertexLayout : public VertexLayout { private: std::shared_ptr m_Context; Microsoft::WRL::ComPtr m_InputLayout; public: dxVertexLayout(std::shared_ptr shader, const std::vector>& elements, std::shared_ptr sharedContext); ~dxVertexLayout(); void Bind() override; void UnBind() override; private: DXGI_FORMAT GetDxgiFormat(VertexElementType type); }; }