TextureStagePool
from panda3d.core import TextureStagePool
- class TextureStagePool
Bases:
The TextureStagePool (there is only one in the universe) serves to unify different pointers to the same
TextureStage
, mainly to help developers use a common pointer to access things that are loaded from different model files.It runs in one of three different modes, according to
setMode()
. See that method for more information.Inheritance diagram
- static garbageCollect() int
Releases only those
TextureStages
in the pool that have a reference count of exactly 1; i.e. only thoseTextureStages
that are not being used outside of the pool. Returns the number ofTextureStages
released.
- static getMode() Mode
Returns the fundamental operating mode of the
TextureStagePool
. SeesetMode()
.
- static getStage(temp: TextureStage) TextureStage
Returns a
TextureStage
pointer that represents the sameTextureStage
described by temp, except that it is a shared pointer.Each call to
getStage()
passing an equivalentTextureStage
pointer will return the same shared pointer.If you modify the shared pointer, it will automatically disassociate it from the pool.
Also, the return value may be a different pointer than that passed in, or it may be the same pointer. In either case, the passed in pointer has now been sacrificed to the greater good and should not be used again (like any other PointerTo, it will be freed when the last reference count is removed).
- static listContents(out: ostream)
Lists the contents of the
TextureStage
pool to the indicated output stream.
- property mode Mode
- Getter
Returns the fundamental operating mode of the
TextureStagePool
. SeesetMode()
.- Setter
Specifies the fundamental operating mode of the
TextureStagePool
.If this is M_none, each call to
getStage()
returns the sameTextureStage
pointer that was passed in (the pool is effectively disabled). If this is M_name, each call togetStage()
returns the lastTextureStage
passed in with the same name, whether it has different properties or not. If this is M_unique, then each call togetStage()
returns onlyTextureStages
with identical properties.
- static releaseAllStages()
Releases all
TextureStages
in the pool and restores the pool to the empty state.
- static releaseStage(temp: TextureStage)
Removes the indicated
TextureStage
from the pool.
- static setMode(mode: Mode)
Specifies the fundamental operating mode of the
TextureStagePool
.If this is M_none, each call to
getStage()
returns the sameTextureStage
pointer that was passed in (the pool is effectively disabled). If this is M_name, each call togetStage()
returns the lastTextureStage
passed in with the same name, whether it has different properties or not. If this is M_unique, then each call togetStage()
returns onlyTextureStages
with identical properties.
- static write(out: ostream)
Lists the contents of the
TextureStage
pool to the indicated output stream.