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