source: OGRE/trunk/ogrenew/Docs/api/html/classOgre_1_1Quake3ShaderManager.html @ 657

Revision 657, 35.4 KB checked in by mattausch, 18 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>Ogre::Quake3ShaderManager class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>Ogre::Quake3ShaderManager Class Reference</h1>Class for managing Quake3 custom shaders. 
11<a href="#_details">More...</a>
12<p>
13<code>#include &lt;<a class="el" href="OgreQuake3ShaderManager_8h-source.html">OgreQuake3ShaderManager.h</a>&gt;</code>
14<p>
15<p>Inheritance diagram for Ogre::Quake3ShaderManager:
16<p><center><img src="classOgre_1_1Quake3ShaderManager.png" usemap="#Ogre::Quake3ShaderManager_map" border="0" alt=""></center>
17<map name="Ogre::Quake3ShaderManager_map">
18<area href="classOgre_1_1ScriptLoader.html" alt="Ogre::ScriptLoader" shape="rect" coords="0,0,259,24">
19<area href="classOgre_1_1Singleton.html" alt="Ogre::Singleton< Quake3ShaderManager >" shape="rect" coords="269,0,528,24">
20</map>
21<a href="classOgre_1_1Quake3ShaderManager-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
22<tr><td></td></tr>
23<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
24<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera0">Quake3ShaderManager</a> ()</td></tr>
25
26<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera1">~Quake3ShaderManager</a> ()</td></tr>
27
28<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="namespaceOgre.html#a535">StringVector</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera2">getScriptPatterns</a> (void) const </td></tr>
29
30<tr><td class="mdescLeft">&nbsp;</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>
31<dl compact><dt><b>Returns:</b></dt><dd>A list of file patterns, in the order they should be searched in. </dd></dl>
32  <a href="#Ogre_1_1Quake3ShaderManagera2"></a><br><br></td></tr>
33<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</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> &amp;stream, const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;groupName)</td></tr>
34
35<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl compact><dt><b>Parameters:</b></dt><dd>
36  <table border="0" cellspacing="2" cellpadding="0">
37    <tr><td valign=top><em>stream</em>&nbsp;</td><td>Weak reference to a data stream which is the source of the script </td></tr>
38    <tr><td valign=top><em>groupName</em>&nbsp;</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>
39  </table>
40</dl>
41  <a href="#Ogre_1_1Quake3ShaderManagera3"></a><br><br></td></tr>
42<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a420">Real</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera4">getLoadingOrder</a> (void) const </td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><dl compact><dt><b>Parameters:</b></dt><dd>
45  <table border="0" cellspacing="2" cellpadding="0">
46    <tr><td valign=top><em>stream</em>&nbsp;</td><td>Weak reference to a data stream which is the source of the script </td></tr>
47    <tr><td valign=top><em>groupName</em>&nbsp;</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>
48  </table>
49</dl>
50  <a href="#Ogre_1_1Quake3ShaderManagera4"></a><br><br></td></tr>
51<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> *&nbsp;</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> &amp;name)</td></tr>
52
53<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create implementation.  <a href="#Ogre_1_1Quake3ShaderManagera5"></a><br><br></td></tr>
54<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagera6">clear</a> (void)</td></tr>
55
56<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear all the current shaders.  <a href="#Ogre_1_1Quake3ShaderManagera6"></a><br><br></td></tr>
57<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> *&nbsp;</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> &amp;name)</td></tr>
58
59<tr><td class="mdescLeft">&nbsp;</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>
60<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
61<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagere0">getSingleton</a> (void)</td></tr>
62
63<tr><td class="mdescLeft">&nbsp;</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>
64<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagere1">getSingletonPtr</a> (void)</td></tr>
65
66<tr><td class="mdescLeft">&nbsp;</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>
67<tr><td colspan=2><br><h2>Protected Types</h2></td></tr>
68<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::map&lt; <a class="el" href="namespaceOgre.html#a426">String</a>,<br>
69 <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerx0">Quake3ShaderMap</a></td></tr>
70
71<tr><td colspan=2><br><h2>Protected Member Functions</h2></td></tr>
72<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</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> &amp;stream, <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> *pShader)</td></tr>
73
74<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</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> &amp;line, <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> *pShader)</td></tr>
75
76<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</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> &amp;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>
77
78<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a636">SceneBlendFactor</a>&nbsp;</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> &amp;q3func)</td></tr>
79
80<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
81<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerx0">Quake3ShaderMap</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerp0">mShaderMap</a></td></tr>
82
83<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a535">StringVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerp1">mScriptPatterns</a></td></tr>
84
85<tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr>
86<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletont0">ms_Singleton</a></td></tr>
87
88</table>
89<hr><a name="_details"></a><h2>Detailed Description</h2>
90Class for managing Quake3 custom shaders.
91<p>
92Quake3 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.
93<p>
94
95<p>
96Definition 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>
97<a class="anchor" name="Ogre_1_1Quake3ShaderManagerx0" doxytag="Ogre::Quake3ShaderManager::Quake3ShaderMap" ></a><p>
98<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
99  <tr>
100    <td class="mdRow">
101      <table cellpadding="0" cellspacing="0" border="0">
102        <tr>
103          <td class="md" nowrap valign="top"> typedef std::map&lt;<a class="el" href="namespaceOgre.html#a426">String</a>, <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a>*&gt; <a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerx0">Ogre::Quake3ShaderManager::Quake3ShaderMap</a><code> [protected]</code>
104      </table>
105    </td>
106  </tr>
107</table>
108<table cellspacing=5 cellpadding=0 border=0>
109  <tr>
110    <td>
111      &nbsp;
112    </td>
113    <td>
114
115<p>
116
117<p>
118Definition 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>
119  </tr>
120</table>
121<hr><h2>Constructor &amp; Destructor Documentation</h2>
122<a class="anchor" name="Ogre_1_1Quake3ShaderManagera0" doxytag="Ogre::Quake3ShaderManager::Quake3ShaderManager" ></a><p>
123<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
124  <tr>
125    <td class="mdRow">
126      <table cellpadding="0" cellspacing="0" border="0">
127        <tr>
128          <td class="md" nowrap valign="top"> Ogre::Quake3ShaderManager::Quake3ShaderManager </td>
129          <td class="md" valign="top">(&nbsp;</td>
130          <td class="mdname1" valign="top" nowrap>          </td>
131          <td class="md" valign="top">&nbsp;)&nbsp;</td>
132          <td class="md" nowrap></td>
133        </tr>
134
135      </table>
136    </td>
137  </tr>
138</table>
139<table cellspacing=5 cellpadding=0 border=0>
140  <tr>
141    <td>
142      &nbsp;
143    </td>
144    <td>
145
146<p>
147    </td>
148  </tr>
149</table>
150<a class="anchor" name="Ogre_1_1Quake3ShaderManagera1" doxytag="Ogre::Quake3ShaderManager::~Quake3ShaderManager" ></a><p>
151<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
152  <tr>
153    <td class="mdRow">
154      <table cellpadding="0" cellspacing="0" border="0">
155        <tr>
156          <td class="md" nowrap valign="top"> virtual Ogre::Quake3ShaderManager::~<a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a> </td>
157          <td class="md" valign="top">(&nbsp;</td>
158          <td class="mdname1" valign="top" nowrap>          </td>
159          <td class="md" valign="top">&nbsp;)&nbsp;</td>
160          <td class="md" nowrap><code> [virtual]</code></td>
161        </tr>
162
163      </table>
164    </td>
165  </tr>
166</table>
167<table cellspacing=5 cellpadding=0 border=0>
168  <tr>
169    <td>
170      &nbsp;
171    </td>
172    <td>
173
174<p>
175    </td>
176  </tr>
177</table>
178<hr><h2>Member Function Documentation</h2>
179<a class="anchor" name="Ogre_1_1Quake3ShaderManagera6" doxytag="Ogre::Quake3ShaderManager::clear" ></a><p>
180<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
181  <tr>
182    <td class="mdRow">
183      <table cellpadding="0" cellspacing="0" border="0">
184        <tr>
185          <td class="md" nowrap valign="top"> void Ogre::Quake3ShaderManager::clear </td>
186          <td class="md" valign="top">(&nbsp;</td>
187          <td class="md" nowrap valign="top">void&nbsp;</td>
188          <td class="mdname1" valign="top" nowrap>          </td>
189          <td class="md" valign="top">&nbsp;)&nbsp;</td>
190          <td class="md" nowrap></td>
191        </tr>
192
193      </table>
194    </td>
195  </tr>
196</table>
197<table cellspacing=5 cellpadding=0 border=0>
198  <tr>
199    <td>
200      &nbsp;
201    </td>
202    <td>
203
204<p>
205Clear all the current shaders.
206<p>
207    </td>
208  </tr>
209</table>
210<a class="anchor" name="Ogre_1_1Quake3ShaderManagerb3" doxytag="Ogre::Quake3ShaderManager::convertBlendFunc" ></a><p>
211<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
212  <tr>
213    <td class="mdRow">
214      <table cellpadding="0" cellspacing="0" border="0">
215        <tr>
216          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a636">SceneBlendFactor</a> Ogre::Quake3ShaderManager::convertBlendFunc </td>
217          <td class="md" valign="top">(&nbsp;</td>
218          <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
219          <td class="mdname1" valign="top" nowrap> <em>q3func</em>          </td>
220          <td class="md" valign="top">&nbsp;)&nbsp;</td>
221          <td class="md" nowrap><code> [protected]</code></td>
222        </tr>
223
224      </table>
225    </td>
226  </tr>
227</table>
228<table cellspacing=5 cellpadding=0 border=0>
229  <tr>
230    <td>
231      &nbsp;
232    </td>
233    <td>
234
235<p>
236    </td>
237  </tr>
238</table>
239<a class="anchor" name="Ogre_1_1Quake3ShaderManagera5" doxytag="Ogre::Quake3ShaderManager::create" ></a><p>
240<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
241  <tr>
242    <td class="mdRow">
243      <table cellpadding="0" cellspacing="0" border="0">
244        <tr>
245          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a>* Ogre::Quake3ShaderManager::create </td>
246          <td class="md" valign="top">(&nbsp;</td>
247          <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
248          <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
249          <td class="md" valign="top">&nbsp;)&nbsp;</td>
250          <td class="md" nowrap></td>
251        </tr>
252
253      </table>
254    </td>
255  </tr>
256</table>
257<table cellspacing=5 cellpadding=0 border=0>
258  <tr>
259    <td>
260      &nbsp;
261    </td>
262    <td>
263
264<p>
265Create implementation.
266<p>
267    </td>
268  </tr>
269</table>
270<a class="anchor" name="Ogre_1_1Quake3ShaderManagera7" doxytag="Ogre::Quake3ShaderManager::getByName" ></a><p>
271<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
272  <tr>
273    <td class="mdRow">
274      <table cellpadding="0" cellspacing="0" border="0">
275        <tr>
276          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a>* Ogre::Quake3ShaderManager::getByName </td>
277          <td class="md" valign="top">(&nbsp;</td>
278          <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
279          <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
280          <td class="md" valign="top">&nbsp;)&nbsp;</td>
281          <td class="md" nowrap></td>
282        </tr>
283
284      </table>
285    </td>
286  </tr>
287</table>
288<table cellspacing=5 cellpadding=0 border=0>
289  <tr>
290    <td>
291      &nbsp;
292    </td>
293    <td>
294
295<p>
296Retrieve a <a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> by name.
297<p>
298    </td>
299  </tr>
300</table>
301<a class="anchor" name="Ogre_1_1Quake3ShaderManagera4" doxytag="Ogre::Quake3ShaderManager::getLoadingOrder" ></a><p>
302<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
303  <tr>
304    <td class="mdRow">
305      <table cellpadding="0" cellspacing="0" border="0">
306        <tr>
307          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a420">Real</a> Ogre::Quake3ShaderManager::getLoadingOrder </td>
308          <td class="md" valign="top">(&nbsp;</td>
309          <td class="md" nowrap valign="top">void&nbsp;</td>
310          <td class="mdname1" valign="top" nowrap>          </td>
311          <td class="md" valign="top">&nbsp;)&nbsp;</td>
312          <td class="md" nowrap> const<code> [virtual]</code></td>
313        </tr>
314
315      </table>
316    </td>
317  </tr>
318</table>
319<table cellspacing=5 cellpadding=0 border=0>
320  <tr>
321    <td>
322      &nbsp;
323    </td>
324    <td>
325
326<p>
327<dl compact><dt><b>Parameters:</b></dt><dd>
328  <table border="0" cellspacing="2" cellpadding="0">
329    <tr><td valign=top><em>stream</em>&nbsp;</td><td>Weak reference to a data stream which is the source of the script </td></tr>
330    <tr><td valign=top><em>groupName</em>&nbsp;</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>
331  </table>
332</dl>
333 
334<p>
335
336<p>
337Implements <a class="el" href="classOgre_1_1ScriptLoader.html#Ogre_1_1ScriptLoadera3">Ogre::ScriptLoader</a>.    </td>
338  </tr>
339</table>
340<a class="anchor" name="Ogre_1_1Quake3ShaderManagera2" doxytag="Ogre::Quake3ShaderManager::getScriptPatterns" ></a><p>
341<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
342  <tr>
343    <td class="mdRow">
344      <table cellpadding="0" cellspacing="0" border="0">
345        <tr>
346          <td class="md" nowrap valign="top"> const <a class="el" href="namespaceOgre.html#a535">StringVector</a>&amp; Ogre::Quake3ShaderManager::getScriptPatterns </td>
347          <td class="md" valign="top">(&nbsp;</td>
348          <td class="md" nowrap valign="top">void&nbsp;</td>
349          <td class="mdname1" valign="top" nowrap>          </td>
350          <td class="md" valign="top">&nbsp;)&nbsp;</td>
351          <td class="md" nowrap> const<code> [virtual]</code></td>
352        </tr>
353
354      </table>
355    </td>
356  </tr>
357</table>
358<table cellspacing=5 cellpadding=0 border=0>
359  <tr>
360    <td>
361      &nbsp;
362    </td>
363    <td>
364
365<p>
366<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>
367<dl compact><dt><b>Returns:</b></dt><dd>A list of file patterns, in the order they should be searched in. </dd></dl>
368 
369<p>
370
371<p>
372Implements <a class="el" href="classOgre_1_1ScriptLoader.html#Ogre_1_1ScriptLoadera1">Ogre::ScriptLoader</a>.    </td>
373  </tr>
374</table>
375<a class="anchor" name="Ogre_1_1Quake3ShaderManagere0" doxytag="Ogre::Quake3ShaderManager::getSingleton" ></a><p>
376<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
377  <tr>
378    <td class="mdRow">
379      <table cellpadding="0" cellspacing="0" border="0">
380        <tr>
381          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a>&amp; Ogre::Quake3ShaderManager::getSingleton </td>
382          <td class="md" valign="top">(&nbsp;</td>
383          <td class="md" nowrap valign="top">void&nbsp;</td>
384          <td class="mdname1" valign="top" nowrap>          </td>
385          <td class="md" valign="top">&nbsp;)&nbsp;</td>
386          <td class="md" nowrap><code> [static]</code></td>
387        </tr>
388
389      </table>
390    </td>
391  </tr>
392</table>
393<table cellspacing=5 cellpadding=0 border=0>
394  <tr>
395    <td>
396      &nbsp;
397    </td>
398    <td>
399
400<p>
401Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval.
402<p>
403<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>
404<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>
405
406<p>
407Reimplemented from <a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletone0">Ogre::Singleton&lt; Quake3ShaderManager &gt;</a>.    </td>
408  </tr>
409</table>
410<a class="anchor" name="Ogre_1_1Quake3ShaderManagere1" doxytag="Ogre::Quake3ShaderManager::getSingletonPtr" ></a><p>
411<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
412  <tr>
413    <td class="mdRow">
414      <table cellpadding="0" cellspacing="0" border="0">
415        <tr>
416          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a>* Ogre::Quake3ShaderManager::getSingletonPtr </td>
417          <td class="md" valign="top">(&nbsp;</td>
418          <td class="md" nowrap valign="top">void&nbsp;</td>
419          <td class="mdname1" valign="top" nowrap>          </td>
420          <td class="md" valign="top">&nbsp;)&nbsp;</td>
421          <td class="md" nowrap><code> [static]</code></td>
422        </tr>
423
424      </table>
425    </td>
426  </tr>
427</table>
428<table cellspacing=5 cellpadding=0 border=0>
429  <tr>
430    <td>
431      &nbsp;
432    </td>
433    <td>
434
435<p>
436Override standard <a class="el" href="classOgre_1_1Singleton.html">Singleton</a> retrieval.
437<p>
438<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>
439<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>
440
441<p>
442Reimplemented from <a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletone1">Ogre::Singleton&lt; Quake3ShaderManager &gt;</a>.    </td>
443  </tr>
444</table>
445<a class="anchor" name="Ogre_1_1Quake3ShaderManagerb0" doxytag="Ogre::Quake3ShaderManager::parseNewShaderPass" ></a><p>
446<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
447  <tr>
448    <td class="mdRow">
449      <table cellpadding="0" cellspacing="0" border="0">
450        <tr>
451          <td class="md" nowrap valign="top"> void Ogre::Quake3ShaderManager::parseNewShaderPass </td>
452          <td class="md" valign="top">(&nbsp;</td>
453          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1SharedPtr.html">DataStreamPtr</a> &amp;&nbsp;</td>
454          <td class="mdname" nowrap> <em>stream</em>, </td>
455        </tr>
456        <tr>
457          <td class="md" nowrap align="right"></td>
458          <td></td>
459          <td class="md" nowrap><a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> *&nbsp;</td>
460          <td class="mdname" nowrap> <em>pShader</em></td>
461        </tr>
462        <tr>
463          <td></td>
464          <td class="md">)&nbsp;</td>
465          <td class="md" colspan="2"><code> [protected]</code></td>
466        </tr>
467
468      </table>
469    </td>
470  </tr>
471</table>
472<table cellspacing=5 cellpadding=0 border=0>
473  <tr>
474    <td>
475      &nbsp;
476    </td>
477    <td>
478
479<p>
480    </td>
481  </tr>
482</table>
483<a class="anchor" name="Ogre_1_1Quake3ShaderManagera3" doxytag="Ogre::Quake3ShaderManager::parseScript" ></a><p>
484<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
485  <tr>
486    <td class="mdRow">
487      <table cellpadding="0" cellspacing="0" border="0">
488        <tr>
489          <td class="md" nowrap valign="top"> void Ogre::Quake3ShaderManager::parseScript </td>
490          <td class="md" valign="top">(&nbsp;</td>
491          <td class="md" nowrap valign="top"><a class="el" href="classOgre_1_1SharedPtr.html">DataStreamPtr</a> &amp;&nbsp;</td>
492          <td class="mdname" nowrap> <em>stream</em>, </td>
493        </tr>
494        <tr>
495          <td class="md" nowrap align="right"></td>
496          <td></td>
497          <td class="md" nowrap>const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
498          <td class="mdname" nowrap> <em>groupName</em></td>
499        </tr>
500        <tr>
501          <td></td>
502          <td class="md">)&nbsp;</td>
503          <td class="md" colspan="2"><code> [virtual]</code></td>
504        </tr>
505
506      </table>
507    </td>
508  </tr>
509</table>
510<table cellspacing=5 cellpadding=0 border=0>
511  <tr>
512    <td>
513      &nbsp;
514    </td>
515    <td>
516
517<p>
518<dl compact><dt><b>Parameters:</b></dt><dd>
519  <table border="0" cellspacing="2" cellpadding="0">
520    <tr><td valign=top><em>stream</em>&nbsp;</td><td>Weak reference to a data stream which is the source of the script </td></tr>
521    <tr><td valign=top><em>groupName</em>&nbsp;</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>
522  </table>
523</dl>
524 
525<p>
526
527<p>
528Implements <a class="el" href="classOgre_1_1ScriptLoader.html#Ogre_1_1ScriptLoadera2">Ogre::ScriptLoader</a>.    </td>
529  </tr>
530</table>
531<a class="anchor" name="Ogre_1_1Quake3ShaderManagerb1" doxytag="Ogre::Quake3ShaderManager::parseShaderAttrib" ></a><p>
532<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
533  <tr>
534    <td class="mdRow">
535      <table cellpadding="0" cellspacing="0" border="0">
536        <tr>
537          <td class="md" nowrap valign="top"> void Ogre::Quake3ShaderManager::parseShaderAttrib </td>
538          <td class="md" valign="top">(&nbsp;</td>
539          <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
540          <td class="mdname" nowrap> <em>line</em>, </td>
541        </tr>
542        <tr>
543          <td class="md" nowrap align="right"></td>
544          <td></td>
545          <td class="md" nowrap><a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> *&nbsp;</td>
546          <td class="mdname" nowrap> <em>pShader</em></td>
547        </tr>
548        <tr>
549          <td></td>
550          <td class="md">)&nbsp;</td>
551          <td class="md" colspan="2"><code> [protected]</code></td>
552        </tr>
553
554      </table>
555    </td>
556  </tr>
557</table>
558<table cellspacing=5 cellpadding=0 border=0>
559  <tr>
560    <td>
561      &nbsp;
562    </td>
563    <td>
564
565<p>
566    </td>
567  </tr>
568</table>
569<a class="anchor" name="Ogre_1_1Quake3ShaderManagerb2" doxytag="Ogre::Quake3ShaderManager::parseShaderPassAttrib" ></a><p>
570<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
571  <tr>
572    <td class="mdRow">
573      <table cellpadding="0" cellspacing="0" border="0">
574        <tr>
575          <td class="md" nowrap valign="top"> void Ogre::Quake3ShaderManager::parseShaderPassAttrib </td>
576          <td class="md" valign="top">(&nbsp;</td>
577          <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
578          <td class="mdname" nowrap> <em>line</em>, </td>
579        </tr>
580        <tr>
581          <td class="md" nowrap align="right"></td>
582          <td></td>
583          <td class="md" nowrap><a class="el" href="classOgre_1_1Quake3Shader.html">Quake3Shader</a> *&nbsp;</td>
584          <td class="mdname" nowrap> <em>pShader</em>, </td>
585        </tr>
586        <tr>
587          <td class="md" nowrap align="right"></td>
588          <td></td>
589          <td class="md" nowrap><a class="el" href="structOgre_1_1Quake3Shader_1_1Pass.html">Quake3Shader::Pass</a> *&nbsp;</td>
590          <td class="mdname" nowrap> <em>pPass</em></td>
591        </tr>
592        <tr>
593          <td></td>
594          <td class="md">)&nbsp;</td>
595          <td class="md" colspan="2"><code> [protected]</code></td>
596        </tr>
597
598      </table>
599    </td>
600  </tr>
601</table>
602<table cellspacing=5 cellpadding=0 border=0>
603  <tr>
604    <td>
605      &nbsp;
606    </td>
607    <td>
608
609<p>
610    </td>
611  </tr>
612</table>
613<hr><h2>Member Data Documentation</h2>
614<a class="anchor" name="Ogre_1_1Singletont0" doxytag="Ogre::Quake3ShaderManager::ms_Singleton" ></a><p>
615<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
616  <tr>
617    <td class="mdRow">
618      <table cellpadding="0" cellspacing="0" border="0">
619        <tr>
620          <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>&lt; <a class="el" href="classOgre_1_1Quake3ShaderManager.html">Quake3ShaderManager</a>  &gt;::<a class="el" href="classOgre_1_1Singleton.html#Ogre_1_1Singletont0">ms_Singleton</a><code> [static, protected, inherited]</code>
621      </table>
622    </td>
623  </tr>
624</table>
625<table cellspacing=5 cellpadding=0 border=0>
626  <tr>
627    <td>
628      &nbsp;
629    </td>
630    <td>
631
632<p>
633
634<p>
635Definition 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>
636  </tr>
637</table>
638<a class="anchor" name="Ogre_1_1Quake3ShaderManagerp1" doxytag="Ogre::Quake3ShaderManager::mScriptPatterns" ></a><p>
639<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
640  <tr>
641    <td class="mdRow">
642      <table cellpadding="0" cellspacing="0" border="0">
643        <tr>
644          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a535">StringVector</a> <a class="el" href="classOgre_1_1Quake3ShaderManager.html#Ogre_1_1Quake3ShaderManagerp1">Ogre::Quake3ShaderManager::mScriptPatterns</a><code> [protected]</code>
645      </table>
646    </td>
647  </tr>
648</table>
649<table cellspacing=5 cellpadding=0 border=0>
650  <tr>
651    <td>
652      &nbsp;
653    </td>
654    <td>
655
656<p>
657
658<p>
659Definition 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>
660  </tr>
661</table>
662<a class="anchor" name="Ogre_1_1Quake3ShaderManagerp0" doxytag="Ogre::Quake3ShaderManager::mShaderMap" ></a><p>
663<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
664  <tr>
665    <td class="mdRow">
666      <table cellpadding="0" cellspacing="0" border="0">
667        <tr>
668          <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>
669      </table>
670    </td>
671  </tr>
672</table>
673<table cellspacing=5 cellpadding=0 border=0>
674  <tr>
675    <td>
676      &nbsp;
677    </td>
678    <td>
679
680<p>
681
682<p>
683Definition 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>
684  </tr>
685</table>
686<hr>The documentation for this class was generated from the following file:<ul>
687<li><a class="el" href="OgreQuake3ShaderManager_8h-source.html">OgreQuake3ShaderManager.h</a></ul>
688<hr>
689<p>
690Copyright &copy; 2000-2005 by The OGRE Team<br />
691<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
692This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
693                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
694                <Work rdf:about="">
695                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
696        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
697                </Work>
698                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
699
700Last modified Sun Feb 12 13:05:42 2006
701</p>
702</body>
703</html>
Note: See TracBrowser for help on using the repository browser.