Files
live-wallpaper/src/gpu.hpp

20 lines
313 B
C++

#pragma once
#include "glad/gl.h"
#include <type_traits>
template<typename T>
requires std::is_integral_v<T>
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;
};