#ifndef TEXTURE_3D_H
#define TEXTURE_3D_H

#include <GL/glew.h>

class Texture3D final {
    GLuint texture;

public:
    Texture3D();
    ~Texture3D();
    Texture3D(const Texture3D&) = delete;
    Texture3D(Texture3D&&) = delete;
    Texture3D& operator=(const Texture3D&) = delete;
    Texture3D& operator=(Texture3D&&) = delete;

    void setData(int width, int height, int depth, void* data);
    void bindTo(int unit) const;
};

#endif