#include <OgreGpuProgramManager.h>
Inheritance diagram for Ogre::GpuProgramManager:
Public Types | |
typedef std::set< String > | SyntaxCodes |
typedef HashMap< String, ResourcePtr > | ResourceMap |
typedef std::map< ResourceHandle, ResourcePtr > | ResourceHandleMap |
typedef MapIterator< ResourceHandleMap > | ResourceMapIterator |
Public Member Functions | |
GpuProgramManager () | |
virtual | ~GpuProgramManager () |
virtual GpuProgramPtr | load (const String &name, const String &groupName, const String &filename, GpuProgramType gptype, const String &syntaxCode) |
Loads a GPU program from a file of assembly. | |
virtual GpuProgramPtr | loadFromString (const String &name, const String &groupName, const String &code, GpuProgramType gptype, const String &syntaxCode) |
Loads a GPU program from a string of assembly code. | |
virtual const SyntaxCodes & | getSupportedSyntax (void) const |
Returns the syntaxes that this manager supports. | |
virtual bool | isSyntaxSupported (const String &syntaxCode) const |
Returns whether a given syntax code (e.g. | |
virtual GpuProgramParametersSharedPtr | createParameters (void)=0 |
Creates a new GpuProgramParameters instance which can be used to bind parameters to your programs. | |
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. | |
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 ResourcePtr | create (const String &name, const String &group, GpuProgramType gptype, const String &syntaxCode, bool isManual=false, ManualResourceLoader *loader=0) |
General create method, using specific create parameters instead of name / value pairs. | |
virtual void | _pushSyntaxCode (const String &syntaxCode) |
Internal method for populating the supported syntax codes, called by RenderSystem. | |
ResourcePtr | getByName (const String &name, bool preferHighLevelPrograms=true) |
Overrides the standard ResourceManager getByName method. | |
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 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 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 | |
GpuProgramManager & | getSingleton (void) |
Override standard Singleton retrieval. | |
GpuProgramManager * | getSingletonPtr (void) |
Override standard Singleton retrieval. | |
Protected Member Functions | |
virtual Resource * | createImpl (const String &name, ResourceHandle handle, const String &group, bool isManual, ManualResourceLoader *loader, GpuProgramType gptype, const String &syntaxCode)=0 |
Specialised create method with specific parameters. | |
ResourceHandle | getNextHandle (void) |
Allocates the next handle. | |
virtual Resource * | createImpl (const String &name, ResourceHandle handle, const String &group, bool isManual, ManualResourceLoader *loader, const NameValuePairList *createParams)=0 |
Create a new resource instance compatible with this manager (no custom parameters are populated at this point). | |
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. | |
virtual size_t | getMemoryUsage (void) const |
Gets the current memory usage, in bytes. | |
Protected Attributes | |
SyntaxCodes | mSyntaxCodes |
Supported program syntax codes. | |
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 | |
GpuProgramManager * | ms_Singleton |
|
Definition at line 387 of file OgreResourceManager.h. |
|
Definition at line 386 of file OgreResourceManager.h. |
|
Definition at line 405 of file OgreResourceManager.h. Referenced by Ogre::ResourceManager::getResourceIterator(). |
|
Definition at line 40 of file OgreGpuProgramManager.h. Referenced by getSupportedSyntax(). |
|
|
|
|
|
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.
|
|
Internal method for populating the supported syntax codes, called by RenderSystem.
Definition at line 140 of file OgreGpuProgramManager.h. References Ogre::String. |
|
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.
|
|
General create method, using specific create parameters instead of name / value pairs.
|
|
Create a new resource instance compatible with this manager (no custom parameters are populated at this point).
Implemented in Ogre::CompositorManager, Ogre::FontManager, Ogre::HighLevelGpuProgramManager, Ogre::MaterialManager, Ogre::MeshManager, Ogre::SkeletonManager, Ogre::BspResourceManager, Ogre::D3D9GpuProgramManager, Ogre::D3D9TextureManager, Ogre::GLGpuProgramManager, and Ogre::GLTextureManager. |
|
Specialised create method with specific parameters.
Implemented in Ogre::D3D9GpuProgramManager, and Ogre::GLGpuProgramManager. |
|
Creates a new GpuProgramParameters instance which can be used to bind parameters to your programs.
Implemented in Ogre::D3D9GpuProgramManager, and Ogre::GLGpuProgramManager. |
|
Create a new, unloaded GpuProgram from a file of assembly.
|
|
Create a GPU program from a string of assembly code.
|
|
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.
|
|
Overrides the standard ResourceManager getByName method.
|
|
Gets the relative loading order of resources of this type.
Implements Ogre::ScriptLoader. Definition at line 340 of file OgreResourceManager.h. References Ogre::Real. |
|
Get the limit on the amount of memory this resource handler may use.
|
|
Gets the current memory usage, in bytes.
Definition at line 382 of file OgreResourceManager.h. |
|
Allocates the next handle.
|
|
Returns an iterator over all resources in this manager.
Definition at line 410 of file OgreResourceManager.h. References Ogre::ResourceManager::ResourceMapIterator. |
|
Gets a string identifying the type of resource this manager handles.
Definition at line 343 of file OgreResourceManager.h. References Ogre::String. |
|
Gets the file patterns which should be used to find scripts for this ResourceManager.
Implements Ogre::ScriptLoader. Definition at line 317 of file OgreResourceManager.h. References Ogre::StringVector. |
|
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< GpuProgramManager >. |
|
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< GpuProgramManager >. |
|
Returns the syntaxes that this manager supports.
Definition at line 84 of file OgreGpuProgramManager.h. References SyntaxCodes. |
|
Returns whether a given syntax code (e.g. "ps_1_3", "fp20", "arbvp1") is supported. |
|
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).
Reimplemented in Ogre::BspResourceManager. |
|
Loads a GPU program from a file of assembly.
|
|
Loads a GPU program from a string of assembly code.
|
|
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 332 of file OgreResourceManager.h. References Ogre::DataStreamPtr, and Ogre::String. |
|
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 resource from this manager; remove it from the lists.
|
|
Returns whether a resource with the given handle exists in this manager.
Definition at line 265 of file OgreResourceManager.h. References Ogre::SharedPtr< T >::isNull(), and Ogre::ResourceHandle. |
|
Returns whether the named resource exists in this manager.
Definition at line 260 of file OgreResourceManager.h. References Ogre::SharedPtr< T >::isNull(), and Ogre::String. |
|
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.
|
|
Loading order relative to other managers, higher is later.
Definition at line 400 of file OgreResourceManager.h. |
|
Definition at line 392 of file OgreResourceManager.h. |
|
Definition at line 393 of file OgreResourceManager.h. |
|
Definition at line 391 of file OgreResourceManager.h. |
|
Definition at line 390 of file OgreResourceManager.h. |
|
Definition at line 389 of file OgreResourceManager.h. |
|
String identifying the resource type this manager handles.
Definition at line 402 of file OgreResourceManager.h. |
|
Definition at line 54 of file OgreSingleton.h. |
|
Patterns to use to look for scripts if supported (e.g. *.overlay).
Definition at line 398 of file OgreResourceManager.h. |
|
Supported program syntax codes.
Definition at line 44 of file OgreGpuProgramManager.h. |
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:39:08 2006