#pragma once

// Must be the first include
#include <glad/glad.h>

// Other includes
#include <GLFW/glfw3.h>

class Framebuffer3D {
  public:
    Framebuffer3D(int width, int height, int depth);
    ~Framebuffer3D();

    void bind_and_clear();
    void bind_to(int unit) const;
    void bind_layer(int layer);

  private:
    GLuint texture;
    GLuint buffer;
};