#pragma once #include "glad/gl.h" #include template requires std::is_integral_v class IGPUObject { public: virtual ~IGPUObject() = default; virtual void Bind() const = 0; virtual void Unbind() const = 0; T GetID() const { return m_id; } protected: T m_id; };