ShaderPool
from panda3d.core import ShaderPool
- class ShaderPool
Bases:
DTOOL_SUPER_BASEThis is the preferred interface for loading shaders for the TextNode system. It is similar to ModelPool and TexturePool in that it unifies references to the same filename.
Inheritance diagram
- __init__(*args, **kwargs)
- addShader()
C++ Interface: add_shader(const Filename filename, Shader shader)
- /**
Adds the indicated already-loaded shader to the pool. The shader will
always replace any previously-loaded shader in the pool that had the same
filename.
*/
- add_shader()
C++ Interface: add_shader(const Filename filename, Shader shader)
- /**
Adds the indicated already-loaded shader to the pool. The shader will
always replace any previously-loaded shader in the pool that had the same
filename.
*/
- garbageCollect()
C++ Interface: garbage_collect()
- /**
Releases only those shaders in the pool that have a reference count of
exactly 1; i.e. only those shaders that are not being used outside of the
pool. Returns the number of shaders released.
*/
- garbage_collect()
C++ Interface: garbage_collect()
- /**
Releases only those shaders in the pool that have a reference count of
exactly 1; i.e. only those shaders that are not being used outside of the
pool. Returns the number of shaders released.
*/
- hasShader()
C++ Interface: has_shader(const Filename filename)
- /**
Returns true if the shader has ever been loaded, false otherwise.
*/
- has_shader()
C++ Interface: has_shader(const Filename filename)
- /**
Returns true if the shader has ever been loaded, false otherwise.
*/
- listContents()
C++ Interface: list_contents(ostream out)
- /**
Lists the contents of the shader pool to the indicated output stream.
*/
- list_contents()
C++ Interface: list_contents(ostream out)
- /**
Lists the contents of the shader pool to the indicated output stream.
*/
- loadShader()
C++ Interface: load_shader(const Filename filename)
- /**
Loads the given filename up into a shader, if it has not already been
loaded, and returns the new shader. If a shader with the same filename was
previously loaded, returns that one instead. If the shader file cannot be
found, returns NULL.
*/
- load_shader()
C++ Interface: load_shader(const Filename filename)
- /**
Loads the given filename up into a shader, if it has not already been
loaded, and returns the new shader. If a shader with the same filename was
previously loaded, returns that one instead. If the shader file cannot be
found, returns NULL.
*/
- releaseAllShaders()
C++ Interface: release_all_shaders()
- /**
Releases all shaders in the pool and restores the pool to the empty state.
*/
- releaseShader()
C++ Interface: release_shader(const Filename filename)
- /**
Removes the indicated shader from the pool, indicating it will never be
loaded again; the shader may then be freed. If this function is never
called, a reference count will be maintained on every shader every loaded,
and shaders will never be freed.
*/
- release_all_shaders()
C++ Interface: release_all_shaders()
- /**
Releases all shaders in the pool and restores the pool to the empty state.
*/
- release_shader()
C++ Interface: release_shader(const Filename filename)
- /**
Removes the indicated shader from the pool, indicating it will never be
loaded again; the shader may then be freed. If this function is never
called, a reference count will be maintained on every shader every loaded,
and shaders will never be freed.
*/
- verifyShader()
C++ Interface: verify_shader(const Filename filename)
- /**
Loads the given filename up into a shader, if it has not already been
loaded, and returns true to indicate success, or false to indicate failure.
If this returns true, it is guaranteed that a subsequent call to
load_shader() with the same shader name will return a valid Shader pointer.
*/
- verify_shader()
C++ Interface: verify_shader(const Filename filename)
- /**
Loads the given filename up into a shader, if it has not already been
loaded, and returns true to indicate success, or false to indicate failure.
If this returns true, it is guaranteed that a subsequent call to
load_shader() with the same shader name will return a valid Shader pointer.
*/
