<html> <head> <title>Ogre::Quake3ShaderManager class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link type="text/css" rel="stylesheet" href="style.css"> </head> <body> <!-- Generated by Doxygen 1.3.6 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>Ogre::Quake3ShaderManager Class Reference</h1>Class for managing Quake3 custom shaders. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="OgreQuake3ShaderManager_8h-source.html">OgreQuake3ShaderManager.h</a>></code> <p> Inheritance diagram for Ogre::Quake3ShaderManager:<p><center><img src="classOgre_1_1Quake3ShaderManager__inherit__graph.png" border="0" usemap="#Ogre_1_1Quake3ShaderManager__inherit__map" alt="Inheritance graph"></center> <map name="Ogre_1_1Quake3ShaderManager__inherit__map"> <area href="classOgre_1_1ScriptLoader.html" shape="rect" coords="7,17,129,36" alt=""> <area href="classOgre_1_1Singleton.html" shape="rect" coords="153,17,417,36" alt=""> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classOgre_1_1Quake3ShaderManager-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> <tr><td></td></tr> <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera0">Quake3ShaderManager</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>virtual </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera1">~Quake3ShaderManager</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="namespaceOgre.html#a534">StringVector</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera2">getScriptPatterns</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><dl compact><dt><b>Remarks:</b></dt><dd>This method is called when a resource group is loaded if you use <a class="el" href="classOgre_1_1ResourceGroupManager.html#Ogre_1_1ResourceGroupManagera29">ResourceGroupManager::_registerScriptLoader</a>. </dd></dl> <dl compact><dt><b>Returns:</b></dt><dd>A list of file patterns, in the order they should be searched in. </dd></dl> <a href="#Ogre_1_1Quake3ShaderManagera2"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera3">parseScript</a> (<a class="el" href="classOgre_1_1SharedPtr.html">DataStreamPtr</a> &stream, const <a class="el" href="namespaceOgre.html#a426">String</a> &groupName)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>stream</em> </td><td>Weak reference to a data stream which is the source of the script </td></tr> <tr><td valign=top><em>groupName</em> </td><td>The name of a resource group which should be used if any resources are created during the parse of this script. </td></tr> </table> </dl> <a href="#Ogre_1_1Quake3ShaderManagera3"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a420">Real</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera4">getLoadingOrder</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>stream</em> </td><td>Weak reference to a data stream which is the source of the script </td></tr> <tr><td valign=top><em>groupName</em> </td><td>The name of a resource group which should be used if any resources are created during the parse of this script. </td></tr> </table> </dl> <a href="#Ogre_1_1Quake3ShaderManagera4"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera5">create</a> (const <a class="el" href="namespaceOgre.html#a426">String</a> &name)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create implementation. <a href="#Ogre_1_1Quake3ShaderManagera5"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera6">clear</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clear all the current shaders. <a href="#Ogre_1_1Quake3ShaderManagera6"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera7">getByName</a> (const <a class="el" href="namespaceOgre.html#a426">String</a> &name)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieve a <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> by name. <a href="#Ogre_1_1Quake3ShaderManagera7"></a><br><br></td></tr> <tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a> & </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagere0">getSingleton</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval. <a href="#Ogre_1_1Quake3ShaderManagere0"></a><br><br></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagere1">getSingletonPtr</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval. <a href="#Ogre_1_1Quake3ShaderManagere1"></a><br><br></td></tr> <tr><td colspan=2><br><h2>Protected Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::map< <a class="el" href="namespaceOgre.html#a426">String</a>,<br> <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> * > </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerx0">Quake3ShaderMap</a></td></tr> <tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerb0">parseNewShaderPass</a> (<a class="el" href="classOgre_1_1SharedPtr.html">DataStreamPtr</a> &stream, <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> *pShader)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerb1">parseShaderAttrib</a> (const <a class="el" href="namespaceOgre.html#a426">String</a> &line, <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> *pShader)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerb2">parseShaderPassAttrib</a> (const <a class="el" href="namespaceOgre.html#a426">String</a> &line, <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> *pShader, <a class="el" href="structOgre_1_1Quake3Shader_1_1Pass.html">Quake3Shader::Pass</a> *pPass)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a635">SceneBlendFactor</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerb3">convertBlendFunc</a> (const <a class="el" href="namespaceOgre.html#a426">String</a> &q3func)</td></tr> <tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerx0">Quake3ShaderMap</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerp0">mShaderMap</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a534">StringVector</a> </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerp1">mScriptPatterns</a></td></tr> <tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletont0">ms_Singleton</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Class for managing Quake3 custom shaders. <p> 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 <a class="el" href="classOgre_1_1Material.html">Material</a> 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 <a class="el" href="classOgre_1_1Material.html">Material</a> instance can be set up from it. Because this is a subclass of <a class="el" href="classOgre_1_1ScriptLoader.html">ScriptLoader</a>, any files mentioned will be searched for in any path or archive added to the ResourceGroupManager::WORLD_GROUP_NAME group. See <a class="el" href="classOgre_1_1ResourceGroupManager.html">ResourceGroupManager</a> for details. <p> <p> Definition at line <a class="el" href="OgreQuake3ShaderManager_8h-source.html#l00051">51</a> of file <a class="el" href="OgreQuake3ShaderManager_8h-source.html">OgreQuake3ShaderManager.h</a>.<hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="Ogre_1_1Quake3ShaderManagerx0" doxytag="Ogre::Quake3ShaderManager::Quake3ShaderMap" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef std::map<<a class="el" href="namespaceOgre.html#a426">String</a>, <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a>*> <a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerx0">Ogre::Quake3ShaderManager::Quake3ShaderMap</a><code> [protected]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreQuake3ShaderManager_8h-source.html#l00059">59</a> of file <a class="el" href="OgreQuake3ShaderManager_8h-source.html">OgreQuake3ShaderManager.h</a>. </td> </tr> </table> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="Ogre_1_1Quake3ShaderManagera0" doxytag="Ogre::Quake3ShaderManager::Quake3ShaderManager" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> Ogre::Quake3ShaderManager::Quake3ShaderManager </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagera1" doxytag="Ogre::Quake3ShaderManager::~Quake3ShaderManager" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual Ogre::Quake3ShaderManager::~<a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a> </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="Ogre_1_1Quake3ShaderManagera6" doxytag="Ogre::Quake3ShaderManager::clear" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void Ogre::Quake3ShaderManager::clear </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Clear all the current shaders. <p> </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagerb3" doxytag="Ogre::Quake3ShaderManager::convertBlendFunc" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a635">SceneBlendFactor</a> Ogre::Quake3ShaderManager::convertBlendFunc </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> & </td> <td class="mdname1" valign="top" nowrap> <em>q3func</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [protected]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagera5" doxytag="Ogre::Quake3ShaderManager::create" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a>* Ogre::Quake3ShaderManager::create </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> & </td> <td class="mdname1" valign="top" nowrap> <em>name</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Create implementation. <p> </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagera7" doxytag="Ogre::Quake3ShaderManager::getByName" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a>* Ogre::Quake3ShaderManager::getByName </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> & </td> <td class="mdname1" valign="top" nowrap> <em>name</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Retrieve a <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> by name. <p> </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagera4" doxytag="Ogre::Quake3ShaderManager::getLoadingOrder" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a420">Real</a> Ogre::Quake3ShaderManager::getLoadingOrder </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const<code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>stream</em> </td><td>Weak reference to a data stream which is the source of the script </td></tr> <tr><td valign=top><em>groupName</em> </td><td>The name of a resource group which should be used if any resources are created during the parse of this script. </td></tr> </table> </dl> <p> <p> Implements <a class="el" href="classOgre_1_1ScriptLoader.html#Ogre_1_1ScriptLoadera3">Ogre::ScriptLoader</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagera2" doxytag="Ogre::Quake3ShaderManager::getScriptPatterns" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> const <a class="el" href="namespaceOgre.html#a534">StringVector</a>& Ogre::Quake3ShaderManager::getScriptPatterns </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const<code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt><b>Remarks:</b></dt><dd>This method is called when a resource group is loaded if you use <a class="el" href="classOgre_1_1ResourceGroupManager.html#Ogre_1_1ResourceGroupManagera29">ResourceGroupManager::_registerScriptLoader</a>. </dd></dl> <dl compact><dt><b>Returns:</b></dt><dd>A list of file patterns, in the order they should be searched in. </dd></dl> <p> <p> Implements <a class="el" href="classOgre_1_1ScriptLoader.html#Ogre_1_1ScriptLoadera1">Ogre::ScriptLoader</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagere0" doxytag="Ogre::Quake3ShaderManager::getSingleton" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a>& Ogre::Quake3ShaderManager::getSingleton </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [static]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval. <p> <dl compact><dt><b>Remarks:</b></dt><dd>Why do we do this? Well, it's because the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> template to work, but we actually only want it compiled into the implementation of the class based on the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a>, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. </dd></dl> <dl compact><dt><b></b></dt><dd>This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. </dd></dl> <p> Reimplemented from <a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletone0">Ogre::Singleton< Quake3ShaderManager ></a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagere1" doxytag="Ogre::Quake3ShaderManager::getSingletonPtr" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a>* Ogre::Quake3ShaderManager::getSingletonPtr </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [static]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval. <p> <dl compact><dt><b>Remarks:</b></dt><dd>Why do we do this? Well, it's because the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> template to work, but we actually only want it compiled into the implementation of the class based on the <a class="el" href="classOgre_1_1Singleton.html">Singleton</a>, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll. </dd></dl> <dl compact><dt><b></b></dt><dd>This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors. </dd></dl> <p> Reimplemented from <a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletone1">Ogre::Singleton< Quake3ShaderManager ></a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagerb0" doxytag="Ogre::Quake3ShaderManager::parseNewShaderPass" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void Ogre::Quake3ShaderManager::parseNewShaderPass </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1SharedPtr.html">DataStreamPtr</a> & </td> <td class="mdname" nowrap> <em>stream</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> * </td> <td class="mdname" nowrap> <em>pShader</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [protected]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagera3" doxytag="Ogre::Quake3ShaderManager::parseScript" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void Ogre::Quake3ShaderManager::parseScript </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1SharedPtr.html">DataStreamPtr</a> & </td> <td class="mdname" nowrap> <em>stream</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>const <a class="el" href="namespaceOgre.html#a426">String</a> & </td> <td class="mdname" nowrap> <em>groupName</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>stream</em> </td><td>Weak reference to a data stream which is the source of the script </td></tr> <tr><td valign=top><em>groupName</em> </td><td>The name of a resource group which should be used if any resources are created during the parse of this script. </td></tr> </table> </dl> <p> <p> Implements <a class="el" href="classOgre_1_1ScriptLoader.html#Ogre_1_1ScriptLoadera2">Ogre::ScriptLoader</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagerb1" doxytag="Ogre::Quake3ShaderManager::parseShaderAttrib" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void Ogre::Quake3ShaderManager::parseShaderAttrib </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> & </td> <td class="mdname" nowrap> <em>line</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> * </td> <td class="mdname" nowrap> <em>pShader</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [protected]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagerb2" doxytag="Ogre::Quake3ShaderManager::parseShaderPassAttrib" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void Ogre::Quake3ShaderManager::parseShaderPassAttrib </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> & </td> <td class="mdname" nowrap> <em>line</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> * </td> <td class="mdname" nowrap> <em>pShader</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="structOgre_1_1Quake3Shader_1_1Pass.html">Quake3Shader::Pass</a> * </td> <td class="mdname" nowrap> <em>pPass</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [protected]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="Ogre_1_1Singletont0" doxytag="Ogre::Quake3ShaderManager::ms_Singleton" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a> * <a class="el" href="classOgre_1_1Singleton.html">Ogre::Singleton</a>< <a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a> >::<a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletont0">ms_Singleton</a><code> [static, protected, inherited]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreSingleton_8h-source.html#l00054">54</a> of file <a class="el" href="OgreSingleton_8h-source.html">OgreSingleton.h</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagerp1" doxytag="Ogre::Quake3ShaderManager::mScriptPatterns" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a534">StringVector</a> <a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerp1">Ogre::Quake3ShaderManager::mScriptPatterns</a><code> [protected]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreQuake3ShaderManager_8h-source.html#l00061">61</a> of file <a class="el" href="OgreQuake3ShaderManager_8h-source.html">OgreQuake3ShaderManager.h</a>. </td> </tr> </table> <a class="anchor" name="Ogre_1_1Quake3ShaderManagerp0" doxytag="Ogre::Quake3ShaderManager::mShaderMap" ></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerx0">Quake3ShaderMap</a> <a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerp0">Ogre::Quake3ShaderManager::mShaderMap</a><code> [protected]</code> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <p> Definition at line <a class="el" href="OgreQuake3ShaderManager_8h-source.html#l00060">60</a> of file <a class="el" href="OgreQuake3ShaderManager_8h-source.html">OgreQuake3ShaderManager.h</a>. </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="OgreQuake3ShaderManager_8h-source.html">OgreQuake3ShaderManager.h</a></ul> <p> Copyright © 2000-2005 by The OGRE Team<br /> Last modified Wed Feb 23 00:25:38 2005 </p> </body> </html>