14#ifndef TEXTURESTAGEPOOL_H
15#define TEXTURESTAGEPOOL_H
32class EXPCL_PANDA_GOBJ TextureStagePool {
44 INLINE
static void set_mode(Mode mode);
50 static void write(std::ostream &out);
57 void ns_release_all_stages();
59 void ns_set_mode(Mode mode);
62 int ns_garbage_collect();
63 void ns_list_contents(std::ostream &out)
const;
65 static TextureStagePool *get_global_ptr();
67 static TextureStagePool *_global_ptr;
76 StagesByProperties _stages_by_properties;
78 typedef pmap<std::string, PT(
TextureStage) > StagesByName;
79 StagesByName _stages_by_name;
84EXPCL_PANDA_GOBJ std::ostream &operator << (std::ostream &out, TextureStagePool::Mode mode);
85EXPCL_PANDA_GOBJ std::istream &operator >> (std::istream &in, TextureStagePool::Mode &mode);
A standard mutex, or mutual exclusion lock.
static void list_contents(std::ostream &out)
Lists the contents of the TextureStage pool to the indicated output stream.
static void release_all_stages()
Releases all TextureStages in the pool and restores the pool to the empty state.
set_mode
Specifies the fundamental operating mode of the TextureStagePool.
get_mode
Returns the fundamental operating mode of the TextureStagePool.
static void write(std::ostream &out)
Lists the contents of the TextureStage pool to the indicated output stream.
static TextureStage * get_stage(TextureStage *temp)
Returns a TextureStage pointer that represents the same TextureStage described by temp,...
static int garbage_collect()
Releases only those TextureStages in the pool that have a reference count of exactly 1; i....
static void release_stage(TextureStage *temp)
Removes the indicated TextureStage from the pool.
Defines the properties of a named stage of the multitexture pipeline.
An STL function object class, this is intended to be used on any ordered collection of pointers to cl...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.