|  | 
|  | GpuProgramManager () | 
|  | 
| virtual | ~GpuProgramManager () | 
|  | 
| void | addFactory (GpuProgramFactory *factory) | 
|  | Add a new factory object for programs of a given language. 
 | 
|  | 
| void | addMicrocodeToCache (uint32 id, const Microcode µcode) | 
|  | Adds a microcode for a program to the microcode cache. 
 | 
|  | 
| GpuProgramPtr | create (const String &name, const String &group, GpuProgramType gptype, const String &language, bool isManual=false, ManualResourceLoader *loader=0) | 
|  | General create method, using specific create parameters instead of name / value pairs. 
 | 
|  | 
| virtual GpuProgramPtr | createProgram (const String &name, const String &groupName, const String &filename, GpuProgramType gptype, const String &syntaxCode) | 
|  | Create a new, unloaded GpuProgram from a file of assembly. 
 | 
|  | 
| GpuProgramPtr | createProgram (const String &name, const String &groupName, const String &language, GpuProgramType gptype) | 
|  | Create a new, unloaded GpuProgram. 
 | 
|  | 
| virtual GpuProgramPtr | createProgramFromString (const String &name, const String &groupName, const String &code, GpuProgramType gptype, const String &syntaxCode) | 
|  | Create a GPU program from a string of assembly code. 
 | 
|  | 
| virtual GpuSharedParametersPtr | createSharedParameters (const String &name) | 
|  | Create a new set of shared parameters, which can be used across many GpuProgramParameters objects of different structures. 
 | 
|  | 
| virtual const SharedParametersMap & | getAvailableSharedParameters () const | 
|  | Get (const) access to the available shared parameter sets. 
 | 
|  | 
| GpuProgramPtr | getByName (const String &name, const String &group, bool preferHighLevelPrograms) const | 
|  | 
| GpuProgramPtr | getByName (const String &name, const String &group=RGN_DEFAULT) const | 
|  | Get a GPU Program by name. 
 | 
|  | 
| const Microcode & | getMicrocodeFromCache (uint32 id) const | 
|  | Returns a microcode for a program from the microcode cache. 
 | 
|  | 
| bool | getSaveMicrocodesToCache () const | 
|  | Get if the microcode of a shader should be saved to a cache. 
 | 
|  | 
| virtual GpuSharedParametersPtr | getSharedParameters (const String &name) const | 
|  | Retrieve a set of shared parameters, which can be used across many GpuProgramParameters objects of different structures. 
 | 
|  | 
| bool | isCacheDirty (void) const | 
|  | Returns true if the microcodecache changed during the run. 
 | 
|  | 
| bool | isLanguageSupported (const String &lang) const | 
|  | Returns whether a given high-level language (e.g. 
 | 
|  | 
| bool | isMicrocodeAvailableInCache (uint32 id) const | 
|  | Check if a microcode is available for a program in the microcode cache. 
 | 
|  | 
| virtual GpuProgramPtr | load (const String &name, const String &groupName, const String &filename, GpuProgramType gptype, const String &syntaxCode) | 
|  | Loads a GPU program from a file. 
 | 
|  | 
| virtual GpuProgramPtr | loadFromString (const String &name, const String &groupName, const String &code, GpuProgramType gptype, const String &syntaxCode) | 
|  | Loads a GPU program from a string. 
 | 
|  | 
| void | loadMicrocodeCache (const DataStreamPtr &stream) | 
|  | Loads the microcode cache from disk. 
 | 
|  | 
| void | removeFactory (GpuProgramFactory *factory) | 
|  | Remove a factory object for programs of a given language. 
 | 
|  | 
| void | removeMicrocodeFromCache (uint32 id) | 
|  | Removes a microcode for a program from the microcode cache. 
 | 
|  | 
| void | saveMicrocodeCache (const DataStreamPtr &stream) const | 
|  | Saves the microcode cache to disk. 
 | 
|  | 
| void | setSaveMicrocodesToCache (bool val) | 
|  | Set if the microcode of a shader should be saved to a cache. 
 | 
|  | 
|  | ResourceManager () | 
|  | 
| virtual | ~ResourceManager () | 
|  | 
| virtual void | _notifyResourceLoaded (Resource *res) | 
|  | Notify this manager that a resource which it manages has been loaded. 
 | 
|  | 
| virtual void | _notifyResourceTouched (Resource *res) | 
|  | Notify this manager that a resource which it manages has been 'touched', i.e. 
 | 
|  | 
| virtual void | _notifyResourceUnloaded (Resource *res) | 
|  | Notify this manager that a resource which it manages has been unloaded. 
 | 
|  | 
| 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. 
 | 
|  | 
| ResourcePtr | createResource (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. 
 | 
|  | 
| void | destroyAllResourcePools () | 
|  | destroy all pools 
 | 
|  | 
| void | destroyResourcePool (const String &name) | 
|  | Destroy a resource pool. 
 | 
|  | 
| void | destroyResourcePool (ResourcePool *pool) | 
|  | Destroy a resource pool. 
 | 
|  | 
| virtual ResourcePtr | getByHandle (ResourceHandle handle) const | 
|  | Retrieves a pointer to a resource by handle, or null if the resource does not exist. 
 | 
|  | 
| Real | getLoadingOrder (void) const override | 
|  | Gets the loading order for scripts of this type. 
 | 
|  | 
| size_t | getMemoryBudget (void) const | 
|  | Get the limit on the amount of memory this resource handler may use. 
 | 
|  | 
| size_t | getMemoryUsage (void) const | 
|  | Gets the current memory usage, in bytes. 
 | 
|  | 
| virtual ResourcePtr | getResourceByName (const String &name, const String &groupName=RGN_DEFAULT) const | 
|  | Retrieves a pointer to a resource by name, or null if the resource does not exist. 
 | 
|  | 
| ResourceMapIterator | getResourceIterator (void) | 
|  | Returns an iterator over all resources in this manager. 
 | 
|  | 
| ResourcePool * | getResourcePool (const String &name) | 
|  | Create a resource pool, or reuse one that already exists. 
 | 
|  | 
| const String & | getResourceType (void) const | 
|  | Gets a string identifying the type of resource this manager handles. 
 | 
|  | 
| const StringVector & | getScriptPatterns (void) const override | 
|  | Gets the file patterns which should be used to find scripts for this class. 
 | 
|  | 
| bool | getVerbose (void) | 
|  | Gets whether this manager and its resources habitually produce log output. 
 | 
|  | 
| ResourcePtr | load (const String &name, const String &group, bool isManual=false, ManualResourceLoader *loader=0, const NameValuePairList *loadParams=0, bool backgroundThread=false) | 
|  | 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). 
 | 
|  | 
| void | parseScript (DataStreamPtr &stream, const String &groupName) override | 
|  | Parse a script file. 
 | 
|  | 
| ResourcePtr | prepare (const String &name, const String &group, bool isManual=false, ManualResourceLoader *loader=0, const NameValuePairList *loadParams=0, bool backgroundThread=false) | 
|  | Generic prepare method, used to create a Resource specific to this ResourceManager without using one of the specialised 'prepare' methods (containing per-Resource-type parameters). 
 | 
|  | 
| void | reloadAll (bool reloadableOnly=true) | 
|  | Caused all currently loaded resources to be reloaded. 
 | 
|  | 
| virtual void | reloadAll (Resource::LoadingFlags flags) | 
|  | Caused all currently loaded resources to be reloaded. 
 | 
|  | 
| void | reloadUnreferencedResources (bool reloadableOnly=true) | 
|  | Caused all currently loaded but not referenced by any other object resources to be reloaded. 
 | 
|  | 
| void | remove (const ResourcePtr &r) | 
|  | Remove a single resource. 
 | 
|  | 
| void | remove (const String &name, const String &group=RGN_DEFAULT) | 
|  | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 
 | 
|  | 
| void | remove (ResourceHandle handle) | 
|  | This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 
 | 
|  | 
| virtual void | removeAll (void) | 
|  | Removes all resources. 
 | 
|  | 
| virtual void | removeUnreferencedResources (bool reloadableOnly=true) | 
|  | Remove all resources which are not referenced by any other object. 
 | 
|  | 
| bool | resourceExists (const String &name, const String &group=RGN_DEFAULT) const | 
|  | Returns whether the named resource exists in this manager. 
 | 
|  | 
| bool | resourceExists (ResourceHandle handle) const | 
|  | Returns whether a resource with the given handle exists in this manager. 
 | 
|  | 
| void | setMemoryBudget (size_t bytes) | 
|  | Set a limit on the amount of memory this resource handler may use. 
 | 
|  | 
| void | setVerbose (bool v) | 
|  | Sets whether this manager and its resources habitually produce log output. 
 | 
|  | 
| void | unload (const String &name, const String &group=RGN_DEFAULT) | 
|  | Unloads a single resource by name. 
 | 
|  | 
| void | unload (ResourceHandle handle) | 
|  | Unloads a single resource by handle. 
 | 
|  | 
| void | unloadAll (bool reloadableOnly=true) | 
|  | Unloads all resources. 
 | 
|  | 
| virtual void | unloadAll (Resource::LoadingFlags flags) | 
|  | Unloads all resources. 
 | 
|  | 
| void | unloadUnreferencedResources (bool reloadableOnly=true) | 
|  | Unload all resources which are not referenced by any other object. 
 | 
|  | 
| virtual | ~ScriptLoader () | 
|  | 
|  | Singleton (void) | 
|  | 
|  | ~Singleton (void) | 
|  | 
This ResourceManager manages GPU shader programs. 
This class not only manages the programs themselves, it also manages the factory classes which allow the creation of programs using a variety of syntaxes. Plugins can be created which register themselves as program factories and as such the engine can be extended to accept virtually any kind of program provided a plugin is written.