#ifndef TEXTUREDATA_H
#define TEXTUREDATA_H

#include "wrapper/GL.h"

struct TextureFormat final {
    GL::TextureFormat format;
    bool linear;
    bool depth;

    static TextureFormat color8(int channels, bool linear = false);
    static TextureFormat float16(int channels, bool linear = false);
    static TextureFormat float32(int channels, bool linear = false);
    static TextureFormat depth16(bool linear = false);
    static TextureFormat depth32(bool linear = false);
    static TextureFormat unknown();

private:
    TextureFormat(const GL::TextureFormat& tf, bool linear, bool depth = false);
};

#endif