#pragma once #include namespace dp { class GpuProgram { public: explicit GpuProgram(std::string const & programName) : m_programName(programName) {} virtual ~GpuProgram() = default; std::string const & GetName() const { return m_programName; } virtual void Bind() = 0; virtual void Unbind() = 0; protected: std::string const m_programName; }; } // namespace dp