39 INLINE
static bool has_texture(
const Filename &filename);
40 INLINE
static bool verify_texture(
const Filename &filename);
42 int primary_file_num_channels = 0,
43 bool read_mipmaps =
false,
47 int primary_file_num_channels = 0,
48 int alpha_file_channel = 0,
49 bool read_mipmaps =
false,
51 BLOCKING INLINE
static Texture *load_3d_texture(
const Filename &filename_pattern,
52 bool read_mipmaps =
false,
54 BLOCKING INLINE
static Texture *load_2d_texture_array(
const Filename &filename_pattern,
55 bool read_mipmaps =
false,
57 BLOCKING INLINE
static Texture *load_cube_map(
const Filename &filename_pattern,
58 bool read_mipmaps =
false,
61 INLINE
static Texture *get_normalization_cube_map(
int size);
62 INLINE
static Texture *get_alpha_scale_map();
64 INLINE
static void add_texture(
Texture *texture);
65 INLINE
static void release_texture(
Texture *texture);
66 INLINE
static void release_all_textures();
67 INLINE
static void rehash();
69 INLINE
static int garbage_collect();
71 INLINE
static void list_contents(std::ostream &out);
72 INLINE
static void list_contents();
74 INLINE
static Texture *find_texture(
const std::string &name);
77 INLINE
static void set_fake_texture_image(
const Filename &filename);
78 INLINE
static void clear_fake_texture_image();
79 INLINE
static bool has_fake_texture_image();
80 INLINE
static const Filename &get_fake_texture_image();
81 INLINE
static PT(
Texture) make_texture(
const std::string &extension);
83 static void write(std::ostream &out);
86 typedef Texture::MakeTextureFunc MakeTextureFunc;
87 void register_texture_type(MakeTextureFunc *func,
const std::string &extensions);
90 MakeTextureFunc *get_texture_type(
const std::string &extension)
const;
91 void write_texture_types(std::ostream &out,
int indent_level)
const;
98 bool ns_has_texture(
const Filename &orig_filename);
100 int primary_file_num_channels,
104 const Filename &orig_alpha_filename,
105 int primary_file_num_channels,
106 int alpha_file_channel,
118 Texture *ns_get_normalization_cube_map(
int size);
119 Texture *ns_get_alpha_scale_map();
121 void ns_add_texture(
Texture *texture);
122 void ns_release_texture(
Texture *texture);
123 void ns_release_all_textures();
124 int ns_garbage_collect();
125 void ns_list_contents(std::ostream &out)
const;
126 Texture *ns_find_texture(
const std::string &name)
const;
128 PT(
Texture) ns_make_texture(
const std::string &extension)
const;
130 void resolve_filename(
Filename &new_filename,
const Filename &orig_filename,
135 bool &compressed_cache_record,
137 void report_texture_unreadable(
const Filename &filename)
const;
141 const Filename &orig_alpha_filename,
142 int primary_file_num_channels,
143 int alpha_file_channel,
155 int _primary_file_num_channels = 0;
156 int _alpha_file_channel = 0;
157 Texture::TextureType _texture_type = Texture::TT_2d_texture;
159 INLINE
bool operator < (
const LookupKey &other)
const;
168 PT(
Texture) _normalization_cube_map;