|  | OGRE
    1.11.6
    Object-Oriented Graphics Rendering Engine | 
Class for managing Quake3 custom shaders. More...
#include <OgreQuake3ShaderManager.h>
 Inheritance diagram for Ogre::Quake3ShaderManager:
 Inheritance diagram for Ogre::Quake3ShaderManager:| Public Member Functions | |
| Quake3ShaderManager () | |
| virtual | ~Quake3ShaderManager () | 
| void | clear (void) | 
| Clear all the current shaders.  More... | |
| Quake3Shader * | create (const String &name) | 
| Create implementation.  More... | |
| Quake3Shader * | getByName (const String &name) | 
| Retrieve a Quake3Shader by name.  More... | |
| Real | getLoadingOrder (void) const | 
| Gets the relative loading order of scripts of this type.  More... | |
| const StringVector & | getScriptPatterns (void) const | 
| Gets the file patterns which should be used to find scripts for this class.  More... | |
| void | parseScript (DataStreamPtr &stream, const String &groupName) | 
| Parse a script file.  More... | |
| Static Public Member Functions | |
| static Quake3ShaderManager & | getSingleton (void) | 
| Get the singleton instance.  More... | |
| static Quake3ShaderManager * | getSingletonPtr (void) | 
| Get the singleton instance.  More... | |
Class for managing Quake3 custom shaders.
Quake3 uses .shader files to define custom shaders, or Materials in Ogre-speak. When a surface texture is mentioned in a level file, it includes no file extension meaning that it can either be a standard texture image (+lightmap) if there is only a .jpg or .tga file, or it may refer to a custom shader if a shader with that name is included in one of the .shader files in the scripts/ folder. Because there are multiple shaders per file you have to parse all the .shader files available to know if there is a custom shader available. This class is designed to parse all the .shader files available and save their settings for future use. I choose not to set up Material instances for shaders found since they may or may not be used by a level, so it would be very wasteful to set up Materials since they load texture images for each layer (apart from the lightmap). Once the usage of a shader is confirmed, a full Material instance can be set up from it. Because this is a subclass of ScriptLoader, any files mentioned will be searched for in any path or archive added to the ResourceGroupManager::WORLD_GROUP_NAME group. See ResourceGroupManager for details.
| Ogre::Quake3ShaderManager::Quake3ShaderManager | ( | ) | 
| 
 | virtual | 
| 
 | virtual | 
Gets the file patterns which should be used to find scripts for this class.
Implements Ogre::ScriptLoader.
| 
 | virtual | 
Parse a script file.
| stream | Weak reference to a data stream which is the source of the script | 
| groupName | The name of a resource group which should be used if any resources are created during the parse of this script. | 
Implements Ogre::ScriptLoader.
| 
 | virtual | 
Gets the relative loading order of scripts of this type.
Implements Ogre::ScriptLoader.
| Quake3Shader* Ogre::Quake3ShaderManager::create | ( | const String & | name | ) | 
Create implementation.
| void Ogre::Quake3ShaderManager::clear | ( | void | ) | 
Clear all the current shaders.
| Quake3Shader* Ogre::Quake3ShaderManager::getByName | ( | const String & | name | ) | 
Retrieve a Quake3Shader by name.
| 
 | static | 
Get the singleton instance.
| 
 | static | 
Get the singleton instance.