#include <OgreHighLevelGpuProgramManager.h>
Inheritance diagram for Ogre::HighLevelGpuProgramManager:
Public Types | ||||||||||||||||
typedef std::map< String, HighLevelGpuProgramFactory * > | FactoryMap | |||||||||||||||
typedef std::pair< ResourcePtr, bool > | ResourceCreateOrRetrieveResult | |||||||||||||||
typedef HashMap< String, ResourcePtr > | ResourceMap | |||||||||||||||
typedef std::map< ResourceHandle, ResourcePtr > | ResourceHandleMap | |||||||||||||||
typedef MapIterator< ResourceHandleMap > | ResourceMapIterator | |||||||||||||||
Public Member Functions | ||||||||||||||||
HighLevelGpuProgramManager () | ||||||||||||||||
~HighLevelGpuProgramManager () | ||||||||||||||||
void | addFactory (HighLevelGpuProgramFactory *factory) | |||||||||||||||
Add a new factory object for high-level programs of a given language. | ||||||||||||||||
void | removeFactory (HighLevelGpuProgramFactory *factory) | |||||||||||||||
Remove a factory object for high-level programs of a given language. | ||||||||||||||||
virtual HighLevelGpuProgramPtr | createProgram (const String &name, const String &groupName, const String &language, GpuProgramType gptype) | |||||||||||||||
Create a new, unloaded HighLevelGpuProgram. | ||||||||||||||||
virtual ResourcePtr | create (const String &name, const String &group, bool isManual=false, ManualResourceLoader *loader=0, const NameValuePairList *createParams=0) | |||||||||||||||
Creates a new blank resource, but does not immediately load it. | ||||||||||||||||
virtual ResourceCreateOrRetrieveResult | createOrRetrieve (const String &name, const String &group, bool isManual=false, ManualResourceLoader *loader=0, const NameValuePairList *createParams=0) | |||||||||||||||
Create a new resource, or retrieve an existing one with the same name if it already exists. | ||||||||||||||||
virtual void | setMemoryBudget (size_t bytes) | |||||||||||||||
Set a limit on the amount of memory this resource handler may use. | ||||||||||||||||
virtual size_t | getMemoryBudget (void) const | |||||||||||||||
Get the limit on the amount of memory this resource handler may use. | ||||||||||||||||
virtual size_t | getMemoryUsage (void) const | |||||||||||||||
Gets the current memory usage, in bytes. | ||||||||||||||||
virtual void | unload (const String &name) | |||||||||||||||
Unloads a single resource by name. | ||||||||||||||||
virtual void | unload (ResourceHandle handle) | |||||||||||||||
Unloads a single resource by handle. | ||||||||||||||||
virtual void | unloadAll (bool reloadableOnly=true) | |||||||||||||||
Unloads all resources. | ||||||||||||||||
virtual void | reloadAll (bool reloadableOnly=true) | |||||||||||||||
Caused all currently loaded resources to be reloaded. | ||||||||||||||||
virtual void | unloadUnreferencedResources (bool reloadableOnly=true) | |||||||||||||||
Unload all resources which are not referenced by any other object. | ||||||||||||||||
virtual void | reloadUnreferencedResources (bool reloadableOnly=true) | |||||||||||||||
Caused all currently loaded but not referenced by any other object resources to be reloaded. | ||||||||||||||||
virtual void | remove (ResourcePtr &r) | |||||||||||||||
Remove a single resource. | ||||||||||||||||
virtual void | remove (const String &name) | |||||||||||||||
Remove a single resource by name. | ||||||||||||||||
virtual void | remove (ResourceHandle handle) | |||||||||||||||
Remove a single resource by handle. | ||||||||||||||||
virtual void | removeAll (void) | |||||||||||||||
Removes all resources. | ||||||||||||||||
virtual ResourcePtr | getByName (const String &name) | |||||||||||||||
Retrieves a pointer to a resource by name, or null if the resource does not exist. | ||||||||||||||||
virtual ResourcePtr | getByHandle (ResourceHandle handle) | |||||||||||||||
Retrieves a pointer to a resource by handle, or null if the resource does not exist. | ||||||||||||||||
virtual bool | resourceExists (const String &name) | |||||||||||||||
Returns whether the named resource exists in this manager. | ||||||||||||||||
virtual bool | resourceExists (ResourceHandle handle) | |||||||||||||||
Returns whether a resource with the given handle exists in this manager. | ||||||||||||||||
virtual void | _notifyResourceTouched (Resource *res) | |||||||||||||||
Notify this manager that a resource which it manages has been 'touched', ie used. | ||||||||||||||||
virtual void | _notifyResourceLoaded (Resource *res) | |||||||||||||||
Notify this manager that a resource which it manages has been loaded. | ||||||||||||||||
virtual void | _notifyResourceUnloaded (Resource *res) | |||||||||||||||
Notify this manager that a resource which it manages has been unloaded. | ||||||||||||||||
virtual ResourcePtr | load (const String &name, const String &group, bool isManual=false, ManualResourceLoader *loader=0, const NameValuePairList *loadParams=0) | |||||||||||||||
Generic load method, used to create a Resource specific to this ResourceManager without using one of the specialised 'load' methods (containing per-Resource-type parameters). | ||||||||||||||||
virtual const StringVector & | getScriptPatterns (void) const | |||||||||||||||
Gets the file patterns which should be used to find scripts for this ResourceManager. | ||||||||||||||||
virtual void | parseScript (DataStreamPtr &stream, const String &groupName) | |||||||||||||||
Parse the definition of a set of resources from a script file. | ||||||||||||||||
virtual Real | getLoadingOrder (void) const | |||||||||||||||
Gets the relative loading order of resources of this type. | ||||||||||||||||
const String & | getResourceType (void) const | |||||||||||||||
Gets a string identifying the type of resource this manager handles. | ||||||||||||||||
ResourceMapIterator | getResourceIterator (void) | |||||||||||||||
Returns an iterator over all resources in this manager. | ||||||||||||||||
Static Public Member Functions | ||||||||||||||||
static HighLevelGpuProgramManager & | getSingleton (void) | |||||||||||||||
Override standard Singleton retrieval. | ||||||||||||||||
static HighLevelGpuProgramManager * | getSingletonPtr (void) | |||||||||||||||
Override standard Singleton retrieval. | ||||||||||||||||
Protected Member Functions | ||||||||||||||||
HighLevelGpuProgramFactory * | getFactory (const String &language) | |||||||||||||||
Resource * | createImpl (const String &name, ResourceHandle handle, const String &group, bool isManual, ManualResourceLoader *loader, const NameValuePairList *params) | |||||||||||||||
| ||||||||||||||||
ResourceHandle | getNextHandle (void) | |||||||||||||||
Allocates the next handle. | ||||||||||||||||
virtual void | addImpl (ResourcePtr &res) | |||||||||||||||
Add a newly created resource to the manager (note weak reference). | ||||||||||||||||
virtual void | removeImpl (ResourcePtr &res) | |||||||||||||||
Remove a resource from this manager; remove it from the lists. | ||||||||||||||||
virtual void | checkUsage (void) | |||||||||||||||
Checks memory usage and pages out if required. | ||||||||||||||||
Protected Attributes | ||||||||||||||||
FactoryMap | mFactories | |||||||||||||||
Factories capable of creating HighLevelGpuProgram instances. | ||||||||||||||||
HighLevelGpuProgramFactory * | mNullFactory | |||||||||||||||
Factory for dealing with programs for languages we can't create. | ||||||||||||||||
HighLevelGpuProgramFactory * | mUnifiedFactory | |||||||||||||||
Factory for unified high-level programs. | ||||||||||||||||
ResourceHandleMap | mResourcesByHandle | |||||||||||||||
ResourceMap | mResources | |||||||||||||||
ResourceHandle | mNextHandle | |||||||||||||||
size_t | mMemoryBudget | |||||||||||||||
size_t | mMemoryUsage | |||||||||||||||
StringVector | mScriptPatterns | |||||||||||||||
Patterns to use to look for scripts if supported (e.g. *.overlay). | ||||||||||||||||
Real | mLoadOrder | |||||||||||||||
Loading order relative to other managers, higher is later. | ||||||||||||||||
String | mResourceType | |||||||||||||||
String identifying the resource type this manager handles. | ||||||||||||||||
Static Protected Attributes | ||||||||||||||||
static HighLevelGpuProgramManager * | ms_Singleton |
Definition at line 66 of file OgreHighLevelGpuProgramManager.h.
|
Definition at line 70 of file OgreHighLevelGpuProgramManager.h. |
|
Definition at line 98 of file OgreResourceManager.h. |
|
Definition at line 412 of file OgreResourceManager.h. |
|
Definition at line 411 of file OgreResourceManager.h. |
|
Definition at line 430 of file OgreResourceManager.h. |
|
|
|
|
|
Notify this manager that a resource which it manages has been loaded.
|
|
Notify this manager that a resource which it manages has been 'touched', ie used.
|
|
Notify this manager that a resource which it manages has been unloaded.
|
|
Add a new factory object for high-level programs of a given language.
|
|
Add a newly created resource to the manager (note weak reference).
|
|
Checks memory usage and pages out if required.
|
|
Creates a new blank resource, but does not immediately load it.
|
|
Implements Ogre::ResourceManager. |
|
Create a new resource, or retrieve an existing one with the same name if it already exists.
|
|
Create a new, unloaded HighLevelGpuProgram.
|
|
Retrieves a pointer to a resource by handle, or null if the resource does not exist.
|
|
Retrieves a pointer to a resource by name, or null if the resource does not exist.
|
|
|
|
Gets the relative loading order of resources of this type.
Implements Ogre::ScriptLoader. Definition at line 367 of file OgreResourceManager.h. |
|
Get the limit on the amount of memory this resource handler may use.
|
|
Gets the current memory usage, in bytes.
Definition at line 131 of file OgreResourceManager.h. |
|
Allocates the next handle.
|
|
Returns an iterator over all resources in this manager.
Definition at line 435 of file OgreResourceManager.h. |
|
Gets a string identifying the type of resource this manager handles.
Definition at line 370 of file OgreResourceManager.h. |
|
Gets the file patterns which should be used to find scripts for this ResourceManager.
Implements Ogre::ScriptLoader. Definition at line 344 of file OgreResourceManager.h. |
|
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< HighLevelGpuProgramManager >. |
|
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< HighLevelGpuProgramManager >. |
|
Generic load method, used to create a Resource specific to this ResourceManager without using one of the specialised 'load' methods (containing per-Resource-type parameters).
|
|
Parse the definition of a set of resources from a script file.
Implements Ogre::ScriptLoader. Reimplemented in Ogre::CompositorManager, Ogre::FontManager, and Ogre::MaterialManager. Definition at line 359 of file OgreResourceManager.h. |
|
Caused all currently loaded resources to be reloaded.
|
|
Caused all currently loaded but not referenced by any other object resources to be reloaded.
|
|
Remove a single resource by handle.
|
|
Remove a single resource by name.
|
|
Remove a single resource.
|
|
Removes all resources.
Reimplemented in Ogre::CompositorManager. |
|
Remove a factory object for high-level programs of a given language.
|
|
Remove a resource from this manager; remove it from the lists.
|
|
Returns whether a resource with the given handle exists in this manager.
Definition at line 292 of file OgreResourceManager.h. |
|
Returns whether the named resource exists in this manager.
Definition at line 287 of file OgreResourceManager.h. |
|
Set a limit on the amount of memory this resource handler may use.
|
|
Unloads a single resource by handle.
|
|
Unloads a single resource by name.
|
|
Unloads all resources.
|
|
Unload all resources which are not referenced by any other object.
|
|
Factories capable of creating HighLevelGpuProgram instances.
Definition at line 73 of file OgreHighLevelGpuProgramManager.h. |
|
Loading order relative to other managers, higher is later.
Definition at line 425 of file OgreResourceManager.h. |
|
Definition at line 417 of file OgreResourceManager.h. |
|
Definition at line 418 of file OgreResourceManager.h. |
|
Definition at line 416 of file OgreResourceManager.h. |
|
Factory for dealing with programs for languages we can't create.
Definition at line 76 of file OgreHighLevelGpuProgramManager.h. |
|
Definition at line 415 of file OgreResourceManager.h. |
|
Definition at line 414 of file OgreResourceManager.h. |
|
String identifying the resource type this manager handles.
Definition at line 427 of file OgreResourceManager.h. |
|
Definition at line 61 of file OgreSingleton.h. |
|
Patterns to use to look for scripts if supported (e.g. *.overlay).
Definition at line 423 of file OgreResourceManager.h. |
|
Factory for unified high-level programs.
Definition at line 78 of file OgreHighLevelGpuProgramManager.h. |
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Thu Dec 27 15:19:55 2007