#include #include namespace psemek::gfx { template struct basic_texture<1, gl::TEXTURE_1D>; template struct basic_texture<2, gl::TEXTURE_1D_ARRAY>; template struct basic_texture<2, gl::TEXTURE_2D>; template struct basic_texture<3, gl::TEXTURE_2D_ARRAY>; template struct basic_texture<3, gl::TEXTURE_3D>; namespace detail { static std::optional get_max_anisotropy() { if (!gl::exts::var_EXT_texture_filter_anisotropic) return std::nullopt; float level; gl::GetFloatv(gl::MAX_TEXTURE_MAX_ANISOTROPY_EXT, &level); return level; } std::optional max_anisotropy() { static std::optional level = get_max_anisotropy(); return level; } } }