#pragma once #include #include #include namespace lt { class dxSharedContext; class dxShader: public Shader { public: dxShader( BasicFileHandle vertexFile, BasicFileHandle pixelFile, Ref sharedContext ); ~dxShader(); void bind() override; void un_bind() override; auto get_vertex_blob() -> Microsoft::WRL::ComPtr { return m_vertex_blob; } private: Ref m_context; Microsoft::WRL::ComPtr m_vertex_shader; Microsoft::WRL::ComPtr m_pixel_shader; Microsoft::WRL::ComPtr m_vertex_blob; }; } // namespace lt