#ifndef TEXTUREDATA_H #define TEXTUREDATA_H #include struct TextureFormat final { GLint internalformat; GLenum format; GLenum type; 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(GLint internalformat, GLenum format, GLenum type, bool linear, bool depth = false); }; #endif