#include <OgreD3D9GpuProgramManager.h>
Inheritance diagram for Ogre::D3D9GpuProgramManager:
Public Types | |
typedef std::set< String > | SyntaxCodes |
typedef std::map< ResourceHandle, Resource * > | ResourceHandleMap |
typedef MapIterator< ResourceHandleMap > | ResourceMapIterator |
Public Methods | |
D3D9GpuProgramManager (LPDIRECT3DDEVICE9 device) | |
~D3D9GpuProgramManager () | |
GpuProgramParametersSharedPtr | createParameters (void) |
@copydoc GpuProgramManager::createParameters | |
GpuProgram * | create (const String &name, GpuProgramType gptype, const String &syntaxCode) |
@copydoc GpuProgramManager::create | |
virtual Resource * | create (const String &name) |
Creates a new blank resource, compatible with this manager. | |
virtual GpuProgram * | load (const String &name, const String &filename, GpuProgramType gptype, const String &syntaxCode, int priority=1) |
Loads a GPU program from a file of assembly. | |
virtual void | load (Resource *res, int priority) |
Load a resource. | |
virtual GpuProgram * | loadFromString (const String &name, const String &code, GpuProgramType gptype, const String &syntaxCode, int priority=1) |
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 GpuProgram * | createProgram (const String &name, const String &filename, GpuProgramType gptype, const String &syntaxCode, int priority=1) |
Create a new, unloaded GpuProgram from a file of assembly. | |
virtual GpuProgram * | createProgramFromString (const String &name, const String &code, GpuProgramType gptype, const String &syntaxCode, int priority=1) |
Create a GPU program from a string of assembly code. | |
virtual void | _pushSyntaxCode (const String &syntaxCode) |
Internal method for populating the supported syntax codes, called by RenderSystem. | |
Resource * | getByName (const String &name, bool preferHighLevelPrograms=true) |
Overrides the standard ResourceManager getByName method. | |
virtual Resource * | getByName (const String &name) |
Retrieves a pointer to a resource by name, or null if the resource does not exist. | |
virtual void | setMemoryBudget (size_t bytes) |
Set a limit on the amount of memory this resource handler may use. | |
virtual void | add (Resource *res) |
Add a resource to this manager; normally only done by subclasses. | |
virtual void | unload (Resource *res) |
Unloads a Resource from the managed resources list, calling it's unload() method. | |
virtual void | unloadAndDestroyAll (void) |
Unloads all Resources from memory. | |
virtual Resource * | getByHandle (ResourceHandle handle) |
Retrieves a pointer to a resource by handle, or null if the resource does not exist. | |
void | addSearchPath (const String &path) |
Adds a relative path to search for resources of this type. | |
void | addArchiveEx (const String &strName, const String &strDriverName) |
Adds an archive to the search path for this type of resource. | |
bool | _findResourceData (const String &filename, DataChunk &refChunk) |
Internal method, used for locating resource data in the file system / archives. | |
std::set< String > | _getAllNamesLike (const String &startPath, const String &extension) |
Returns a collection of files with the given extension in all resource paths, common and specific to this resource type. | |
ResourceMapIterator | getResourceIterator (void) |
Returns an iterator over all resources in this manager. | |
Static Public Methods | |
GpuProgramManager & | getSingleton (void) |
Override standard Singleton retrieval. | |
void | addCommonSearchPath (const String &path) |
Adds a relative search path for resources of ALL types. | |
void | addCommonArchiveEx (const String &strName, const String &strDriverName) |
Adds an archive to the search path for all resources. | |
std::set< String > | _getAllCommonNamesLike (const String &startPath, const String &extension) |
Returns a collection of files with the given extension in the common resource paths. | |
bool | _findCommonResourceData (const String &filename, DataChunk &refChunk) |
Internal method, used for locating common resource data in the file system / archives. | |
GpuProgramManager * | getSingletonPtr (void) |
Protected Types | |
typedef HashMap< String, ArchiveEx *, _StringHash > | FileMap |
typedef HashMap< String, Resource *, _StringHash > | ResourceMap |
Protected Methods | |
ResourceHandle | getNextHandle (void) |
Allocates the next handle. | |
void | checkUsage (void) |
Checks memory usage and pages out if required. | |
Protected Attributes | |
LPDIRECT3DDEVICE9 | mpDevice |
SyntaxCodes | mSyntaxCodes |
Supported program syntax codes. | |
FileMap | mArchiveFiles |
ResourceHandleMap | mResourcesByHandle |
ResourceMap | mResources |
ResourceHandle | mNextHandle |
size_t | mMemoryBudget |
size_t | mMemoryUsage |
std::vector< ArchiveEx * > | mVFS |
Collection of searchable ArchiveEx classes (virtual file system) for this resource type. | |
Static Protected Attributes | |
FileMap | mCommonArchiveFiles |
std::vector< ArchiveEx * > | mCommonVFS |
Collection of searchable ArchiveEx classes (virtual file system) for all resource types. | |
GpuProgramManager * | ms_Singleton = 0 |
|
Definition at line 195 of file OgreResourceManager.h. |
|
Definition at line 203 of file OgreResourceManager.h. |
|
Definition at line 196 of file OgreResourceManager.h. |
|
Definition at line 224 of file OgreResourceManager.h. |
|
Definition at line 40 of file OgreGpuProgramManager.h. |
|
Definition at line 30 of file OgreD3D9GpuProgramManager.cpp. |
|
Definition at line 39 of file OgreD3D9GpuProgramManager.h. |
|
Internal method, used for locating common resource data in the file system / archives.
Definition at line 294 of file OgreResourceManager.cpp. References Except, Ogre::ResourceManager::mCommonArchiveFiles, and Ogre::ResourceManager::mCommonVFS. |
|
Internal method, used for locating resource data in the file system / archives.
Definition at line 212 of file OgreResourceManager.cpp. References Except, Ogre::ResourceManager::mArchiveFiles, Ogre::ResourceManager::mCommonArchiveFiles, Ogre::ResourceManager::mCommonVFS, and Ogre::ResourceManager::mVFS. |
|
Returns a collection of files with the given extension in the common resource paths.
Definition at line 255 of file OgreResourceManager.cpp. References Ogre::ResourceManager::mCommonVFS, and Ogre::StringVector. |
|
Returns a collection of files with the given extension in all resource paths, common and specific to this resource type.
Definition at line 274 of file OgreResourceManager.cpp. References Ogre::ResourceManager::mVFS, and Ogre::StringVector. |
|
Internal method for populating the supported syntax codes, called by RenderSystem.
Definition at line 150 of file OgreGpuProgramManager.h. Referenced by Ogre::D3D9RenderSystem::convertPixelShaderCaps(), Ogre::D3D9RenderSystem::convertVertexShaderCaps(), and Ogre::GLRenderSystem::initGL(). |
|
Add a resource to this manager; normally only done by subclasses.
Definition at line 75 of file OgreResourceManager.cpp. References Except, Ogre::Resource::getName(), Ogre::ResourceManager::getNextHandle(), Ogre::Resource::mHandle, Ogre::ResourceManager::mResources, and Ogre::ResourceManager::mResourcesByHandle. Referenced by Ogre::Quake3ShaderManager::create(), Ogre::MaterialManager::create(), Ogre::HighLevelGpuProgramManager::createProgram(), and Ogre::ResourceManager::load(). |
|
Adds an archive to the search path for this type of resource.
Definition at line 188 of file OgreResourceManager.cpp. References Ogre::ArchiveEx::getAllNamesLike(), Ogre::ResourceManager::mArchiveFiles, Ogre::ResourceManager::mVFS, and Ogre::StringVector. Referenced by Ogre::ResourceManager::addSearchPath(). |
|
Adds an archive to the search path for all resources.
Definition at line 200 of file OgreResourceManager.cpp. References Ogre::ArchiveEx::getAllNamesLike(), Ogre::ResourceManager::mCommonArchiveFiles, Ogre::ResourceManager::mCommonVFS, and Ogre::StringVector. Referenced by Ogre::ResourceManager::addCommonSearchPath(). |
|
Adds a relative search path for resources of ALL types.
This method has the same effect as ResourceManager::addSearchPath, except that the path added applies to ALL resources, not just the one managed by the subclass in question. Definition at line 182 of file OgreResourceManager.cpp. References Ogre::ResourceManager::addCommonArchiveEx(), and Ogre::convertPath(). |
|
Adds a relative path to search for resources of this type.
Definition at line 176 of file OgreResourceManager.cpp. References Ogre::ResourceManager::addArchiveEx(), and Ogre::convertPath(). |
|
Checks memory usage and pages out if required.
Definition at line 170 of file OgreResourceManager.cpp. Referenced by Ogre::ResourceManager::setMemoryBudget(). |
|
Creates a new blank resource, compatible with this manager.
Implements Ogre::ResourceManager. Definition at line 57 of file OgreGpuProgramManager.h. References Except. Referenced by Ogre::GpuProgramManager::createProgram(), Ogre::GpuProgramManager::createProgramFromString(), Ogre::GpuProgramManager::load(), and Ogre::GpuProgramManager::loadFromString(). |
|
@copydoc GpuProgramManager::create
Implements Ogre::GpuProgramManager. Definition at line 40 of file OgreD3D9GpuProgramManager.cpp. References Ogre::GPT_VERTEX_PROGRAM, Ogre::GpuProgramType, and mpDevice. |
|
@copydoc GpuProgramManager::createParameters
Implements Ogre::GpuProgramManager. Definition at line 35 of file OgreD3D9GpuProgramManager.cpp. References Ogre::GpuProgramParametersSharedPtr. |
|
Create a new, unloaded GpuProgram from a file of assembly.
Definition at line 56 of file OgreGpuProgramManager.cpp. References Ogre::GpuProgramManager::create(), Ogre::GpuProgramType, and Ogre::GpuProgram::setSourceFile(). |
|
Create a GPU program from a string of assembly code.
Definition at line 65 of file OgreGpuProgramManager.cpp. References Ogre::GpuProgramManager::create(), Ogre::GpuProgramType, and Ogre::GpuProgram::setSource(). |
|
Retrieves a pointer to a resource by handle, or null if the resource does not exist.
Definition at line 151 of file OgreResourceManager.cpp. References Ogre::ResourceManager::mResourcesByHandle, and Ogre::ResourceHandle. |
|
Retrieves a pointer to a resource by name, or null if the resource does not exist.
Definition at line 139 of file OgreResourceManager.cpp. References Ogre::ResourceManager::mResources. Referenced by Ogre::MaterialManager::create(), Ogre::FontManager::create(), Ogre::MeshManager::createBezierPatch(), Ogre::MeshManager::createManual(), Ogre::SceneManager::createSkyboxPlane(), Ogre::SceneManager::createSkydomePlane(), Ogre::TextureManager::load(), Ogre::SkeletonManager::load(), Ogre::MeshManager::load(), Ogre::DynLibManager::load(), Ogre::ArchiveManager::load(), Ogre::SceneManager::setSkyBox(), and Ogre::TextureManager::unload(). |
|
Overrides the standard ResourceManager getByName method.
Definition at line 86 of file OgreGpuProgramManager.cpp. |
|
Allocates the next handle.
Definition at line 165 of file OgreResourceManager.cpp. References Ogre::ResourceManager::mNextHandle, and Ogre::ResourceHandle. Referenced by Ogre::ResourceManager::add(). |
|
Returns an iterator over all resources in this manager.
Definition at line 226 of file OgreResourceManager.h. |
|
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< GpuProgramManager >. Definition at line 51 of file OgreGpuProgramManager.cpp. |
|
Definition at line 71 of file OgreSingleton.h. |
|
Returns the syntaxes that this manager supports.
Definition at line 92 of file OgreGpuProgramManager.h. |
|
Returns whether a given syntax code (e.g. "ps_1_3", "fp20", "arbvp1") is supported. Definition at line 74 of file OgreGpuProgramManager.cpp. References Ogre::GpuProgramManager::mSyntaxCodes. Referenced by Ogre::CgProgram::selectProfile(). |
|
Load a resource. Resources will be subclasses. Reimplemented in Ogre::TextureManager. Definition at line 67 of file OgreResourceManager.cpp. References Ogre::ResourceManager::add(), Ogre::Resource::load(), and Ogre::Resource::touch(). Referenced by Ogre::OverlayManager::create(). |
|
Loads a GPU program from a file of assembly.
Definition at line 33 of file OgreGpuProgramManager.cpp. References Ogre::GpuProgramManager::create(), Ogre::GpuProgramType, and Ogre::GpuProgram::setSourceFile(). |
|
Loads a GPU program from a string of assembly code.
Definition at line 42 of file OgreGpuProgramManager.cpp. References Ogre::GpuProgramManager::create(), Ogre::GpuProgramType, and Ogre::GpuProgram::setSource(). |
|
Set a limit on the amount of memory this resource handler may use.
Definition at line 97 of file OgreResourceManager.cpp. References Ogre::ResourceManager::checkUsage(), and Ogre::ResourceManager::mMemoryBudget. |
|
Unloads a Resource from the managed resources list, calling it's unload() method.
Definition at line 105 of file OgreResourceManager.cpp. References Ogre::Resource::getHandle(), Ogre::Resource::getName(), Ogre::Resource::getSize(), Ogre::ResourceManager::mMemoryUsage, Ogre::ResourceManager::mResources, Ogre::ResourceManager::mResourcesByHandle, and Ogre::Resource::unload(). Referenced by Ogre::SceneManager::createSkyboxPlane(), and Ogre::SceneManager::createSkydomePlane(). |
|
Unloads all Resources from memory.
Reimplemented in Ogre::D3D9TextureManager, and Ogre::GLTextureManager. Definition at line 122 of file OgreResourceManager.cpp. References Ogre::ResourceManager::mResources, and Ogre::ResourceManager::mResourcesByHandle. Referenced by Ogre::BspResourceManager::load(), Ogre::D3DTextureManager::~D3DTextureManager(), and Ogre::ResourceManager::~ResourceManager(). |
|
Definition at line 200 of file OgreResourceManager.h. Referenced by Ogre::ResourceManager::_findResourceData(), and Ogre::ResourceManager::addArchiveEx(). |
|
Definition at line 37 of file OgreResourceManager.cpp. Referenced by Ogre::ResourceManager::_findCommonResourceData(), Ogre::ResourceManager::_findResourceData(), and Ogre::ResourceManager::addCommonArchiveEx(). |
|
Collection of searchable ArchiveEx classes (virtual file system) for all resource types.
Definition at line 36 of file OgreResourceManager.cpp. Referenced by Ogre::ResourceManager::_findCommonResourceData(), Ogre::ResourceManager::_findResourceData(), Ogre::ResourceManager::_getAllCommonNamesLike(), Ogre::ResourceManager::addCommonArchiveEx(), Ogre::OverlayManager::loadAndParseOverlayFile(), Ogre::Quake3ShaderManager::parseAllSources(), Ogre::OverlayManager::parseAllSources(), Ogre::MaterialManager::parseAllSources(), and Ogre::FontManager::parseAllSources(). |
|
Definition at line 210 of file OgreResourceManager.h. Referenced by Ogre::ResourceManager::ResourceManager(), and Ogre::ResourceManager::setMemoryBudget(). |
|
Definition at line 211 of file OgreResourceManager.h. Referenced by Ogre::ResourceManager::ResourceManager(), and Ogre::ResourceManager::unload(). |
|
Definition at line 208 of file OgreResourceManager.h. Referenced by Ogre::ResourceManager::getNextHandle(), and Ogre::ResourceManager::ResourceManager(). |
|
Definition at line 36 of file OgreD3D9GpuProgramManager.h. Referenced by create(). |
|
|
Definition at line 205 of file OgreResourceManager.h. Referenced by Ogre::ResourceManager::add(), Ogre::ResourceManager::getByHandle(), Ogre::ResourceManager::unload(), and Ogre::ResourceManager::unloadAndDestroyAll(). |
|
Definition at line 31 of file OgreGpuProgramManager.cpp. |
|
Supported program syntax codes.
Definition at line 44 of file OgreGpuProgramManager.h. Referenced by Ogre::GpuProgramManager::isSyntaxSupported(). |
|
Collection of searchable ArchiveEx classes (virtual file system) for this resource type.
Definition at line 221 of file OgreResourceManager.h. Referenced by Ogre::ResourceManager::_findResourceData(), Ogre::ResourceManager::_getAllNamesLike(), Ogre::ResourceManager::addArchiveEx(), Ogre::OverlayManager::loadAndParseOverlayFile(), Ogre::Quake3ShaderManager::parseAllSources(), Ogre::OverlayManager::parseAllSources(), Ogre::MaterialManager::parseAllSources(), and Ogre::FontManager::parseAllSources(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:12:08 2004