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

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

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>OgrePass.h Source File - 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>OgrePass.h</h1><a href="OgrePass_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
1100002 <span class="comment">-----------------------------------------------------------------------------</span>
1200003 <span class="comment">This source file is part of OGRE</span>
1300004 <span class="comment">(Object-oriented Graphics Rendering Engine)</span>
1400005 <span class="comment">For the latest info, see http://ogre.sourceforge.net/</span>
1500006 <span class="comment"></span>
1600007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span>
1700008 <span class="comment">Also see acknowledgements in Readme.html</span>
1800009 <span class="comment"></span>
1900010 <span class="comment">This program is free software; you can redistribute it and/or modify it under</span>
2000011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software</span>
2100012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later</span>
2200013 <span class="comment">version.</span>
2300014 <span class="comment"></span>
2400015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT</span>
2500016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span>
2600017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span>
2700018 <span class="comment"></span>
2800019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with</span>
2900020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple</span>
3000021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to</span>
3100022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span>
3200023 <span class="comment">-----------------------------------------------------------------------------</span>
3300024 <span class="comment">*/</span>
3400025 <span class="preprocessor">#ifndef __Pass_H__</span>
3500026 <span class="preprocessor"></span><span class="preprocessor">#define __Pass_H__</span>
3600027 <span class="preprocessor"></span>
3700028 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span>
3800029 <span class="preprocessor">#include "<a class="code" href="OgreGpuProgram_8h.html">OgreGpuProgram.h</a>"</span>
3900030 <span class="preprocessor">#include "<a class="code" href="OgreColourValue_8h.html">OgreColourValue.h</a>"</span>
4000031 <span class="preprocessor">#include "<a class="code" href="OgreBlendMode_8h.html">OgreBlendMode.h</a>"</span>
4100032 <span class="preprocessor">#include "<a class="code" href="OgreCommon_8h.html">OgreCommon.h</a>"</span>
4200033 <span class="preprocessor">#include "<a class="code" href="OgreLight_8h.html">OgreLight.h</a>"</span>
4300034
4400035 <span class="keyword">namespace </span>Ogre {
45<a name="l00055"></a><a class="code" href="classOgre_1_1Pass.html">00055</a>     <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a16">_OgreExport</a> Pass
4600056     {
4700057     <span class="keyword">protected</span>:
48<a name="l00058"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp0">00058</a>         <a class="code" href="classOgre_1_1Technique.html">Technique</a>* mParent;
49<a name="l00059"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp1">00059</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> mIndex; <span class="comment">// pass index</span>
50<a name="l00060"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp2">00060</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mHash; <span class="comment">// pass hash</span>
5100061         <span class="comment">//-------------------------------------------------------------------------</span>
5200062         <span class="comment">// Colour properties, only applicable in fixed-function passes</span>
53<a name="l00063"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp3">00063</a>         <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> mAmbient;
54<a name="l00064"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp4">00064</a>         <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> mDiffuse;
55<a name="l00065"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp5">00065</a>         <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> mSpecular;   
56<a name="l00066"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp6">00066</a>         <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> mEmissive;
57<a name="l00067"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp7">00067</a>         <a class="code" href="namespaceOgre.html#a420">Real</a> mShininess;
58<a name="l00068"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp8">00068</a>         <a class="code" href="namespaceOgre.html#a58">TrackVertexColourType</a> mTracking;
5900069         <span class="comment">//-------------------------------------------------------------------------</span>
6000070
6100071         <span class="comment">//-------------------------------------------------------------------------</span>
6200072         <span class="comment">// Blending factors</span>
63<a name="l00073"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp9">00073</a>         <a class="code" href="namespaceOgre.html#a636">SceneBlendFactor</a> mSourceBlendFactor;   
64<a name="l00074"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp10">00074</a>         <a class="code" href="namespaceOgre.html#a636">SceneBlendFactor</a> mDestBlendFactor;
6500075         <span class="comment">//-------------------------------------------------------------------------</span>
6600076
6700077         <span class="comment">//-------------------------------------------------------------------------    </span>
6800078         <span class="comment">// Depth buffer settings</span>
69<a name="l00079"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp11">00079</a>         <span class="keywordtype">bool</span> mDepthCheck;
70<a name="l00080"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp12">00080</a>         <span class="keywordtype">bool</span> mDepthWrite;
71<a name="l00081"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp13">00081</a>         <a class="code" href="namespaceOgre.html#a637">CompareFunction</a> mDepthFunc;
72<a name="l00082"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp14">00082</a>         <a class="code" href="namespaceOgre.html#a422">ushort</a> mDepthBias;
7300083
7400084         <span class="comment">// Colour buffer settings</span>
75<a name="l00085"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp15">00085</a>         <span class="keywordtype">bool</span> mColourWrite;
7600086         
7700087         <span class="comment">// Alpha reject settings</span>
78<a name="l00088"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp16">00088</a>         <a class="code" href="namespaceOgre.html#a637">CompareFunction</a> mAlphaRejectFunc;
79<a name="l00089"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp17">00089</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> mAlphaRejectVal;
8000090         <span class="comment">//-------------------------------------------------------------------------    </span>
8100091
8200092         <span class="comment">//-------------------------------------------------------------------------</span>
8300093         <span class="comment">// Culling mode</span>
84<a name="l00094"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp18">00094</a>         <a class="code" href="namespaceOgre.html#a643">CullingMode</a> mCullMode;
85<a name="l00095"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp19">00095</a>         <a class="code" href="namespaceOgre.html#a644">ManualCullingMode</a> mManualCullMode;
8600096         <span class="comment">//-------------------------------------------------------------------------</span>
8700097
88<a name="l00099"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp20">00099</a>         <span class="keywordtype">bool</span> mLightingEnabled;
89<a name="l00101"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp21">00101</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> mMaxSimultaneousLights;
90<a name="l00103"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp22">00103</a>         <span class="keywordtype">bool</span> mRunOncePerLight;
9100104         <span class="comment">// Should it only be run for a certain light type?</span>
92<a name="l00105"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp23">00105</a>         <span class="keywordtype">bool</span> mRunOnlyForOneLightType;
93<a name="l00106"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp24">00106</a>         Light::LightTypes mOnlyLightType;
9400107
95<a name="l00109"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp25">00109</a>         <a class="code" href="namespaceOgre.html#a641">ShadeOptions</a> mShadeOptions;
9600110
9700111         <span class="comment">//-------------------------------------------------------------------------    </span>
9800112         <span class="comment">// Fog</span>
99<a name="l00113"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp26">00113</a>         <span class="keywordtype">bool</span> mFogOverride;
100<a name="l00114"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp27">00114</a>         <a class="code" href="namespaceOgre.html#a642">FogMode</a> mFogMode;
101<a name="l00115"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp28">00115</a>         <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> mFogColour;
102<a name="l00116"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp29">00116</a>         <a class="code" href="namespaceOgre.html#a420">Real</a> mFogStart;
103<a name="l00117"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp30">00117</a>         <a class="code" href="namespaceOgre.html#a420">Real</a> mFogEnd;
104<a name="l00118"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp31">00118</a>         <a class="code" href="namespaceOgre.html#a420">Real</a> mFogDensity;
10500119         <span class="comment">//-------------------------------------------------------------------------    </span>
10600120
107<a name="l00122"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passx0">00122</a>         <span class="keyword">typedef</span> std::vector&lt;TextureUnitState*&gt; <a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passx0">TextureUnitStates</a>;
108<a name="l00123"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp32">00123</a>         <a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passx0">TextureUnitStates</a> mTextureUnitStates;   
10900124
11000125         <span class="comment">// Vertex program details</span>
111<a name="l00126"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp33">00126</a>         <a class="code" href="classOgre_1_1GpuProgramUsage.html">GpuProgramUsage</a> *mVertexProgramUsage;
11200127         <span class="comment">// Vertex program details</span>
113<a name="l00128"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp34">00128</a>         <a class="code" href="classOgre_1_1GpuProgramUsage.html">GpuProgramUsage</a> *mShadowCasterVertexProgramUsage;
11400129         <span class="comment">// Vertex program details</span>
115<a name="l00130"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp35">00130</a>         <a class="code" href="classOgre_1_1GpuProgramUsage.html">GpuProgramUsage</a> *mShadowReceiverVertexProgramUsage;
11600131         <span class="comment">// Fragment program details</span>
117<a name="l00132"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp36">00132</a>         <a class="code" href="classOgre_1_1GpuProgramUsage.html">GpuProgramUsage</a> *mFragmentProgramUsage;
11800133         <span class="comment">// Is this pass queued for deletion?</span>
119<a name="l00134"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passp37">00134</a>         <span class="keywordtype">bool</span> mQueuedForDeletion;
12000135     <span class="keyword">public</span>:
121<a name="l00136"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passw0">00136</a>         <span class="keyword">typedef</span> std::set&lt;Pass*&gt; <a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passw0">PassSet</a>;
12200137     <span class="keyword">protected</span>:
123<a name="l00139"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passt0">00139</a>         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passw0">PassSet</a> msDirtyHashList;
124<a name="l00141"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passt1">00141</a>         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passw0">PassSet</a> msPassGraveyard;
12500142     <span class="keyword">public</span>:
12600144         Pass(<a class="code" href="classOgre_1_1Technique.html">Technique</a>* parent, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> index);
12700146         Pass(<a class="code" href="classOgre_1_1Technique.html">Technique</a>* parent, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> index, <span class="keyword">const</span> Pass&amp; oth );
12800148         Pass&amp; operator=(<span class="keyword">const</span> Pass&amp; oth);
12900149         ~Pass();
13000150
131<a name="l00152"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passa4">00152</a>         <span class="keywordtype">bool</span> isProgrammable(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mVertexProgramUsage || mFragmentProgramUsage; }
13200153
133<a name="l00155"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passa5">00155</a>         <span class="keywordtype">bool</span> hasVertexProgram(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mVertexProgramUsage != NULL; }
13400156
135<a name="l00158"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passa6">00158</a>         <span class="keywordtype">bool</span> hasFragmentProgram(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mFragmentProgramUsage != NULL; }
13600159
137<a name="l00161"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passa7">00161</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> getIndex(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mIndex; }
13800173         <span class="keywordtype">void</span> setAmbient(<a class="code" href="namespaceOgre.html#a420">Real</a> red, <a class="code" href="namespaceOgre.html#a420">Real</a> green, <a class="code" href="namespaceOgre.html#a420">Real</a> blue);
13900174
14000187         <span class="keywordtype">void</span> setAmbient(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; ambient);
14100188
14200199         <span class="keywordtype">void</span> setDiffuse(<a class="code" href="namespaceOgre.html#a420">Real</a> red, <a class="code" href="namespaceOgre.html#a420">Real</a> green, <a class="code" href="namespaceOgre.html#a420">Real</a> blue, <a class="code" href="namespaceOgre.html#a420">Real</a> alpha);
14300200
14400211         <span class="keywordtype">void</span> setDiffuse(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; diffuse);
14500212
14600225         <span class="keywordtype">void</span> setSpecular(<a class="code" href="namespaceOgre.html#a420">Real</a> red, <a class="code" href="namespaceOgre.html#a420">Real</a> green, <a class="code" href="namespaceOgre.html#a420">Real</a> blue, <a class="code" href="namespaceOgre.html#a420">Real</a> alpha);
14700226
14800239         <span class="keywordtype">void</span> setSpecular(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; specular);
14900240
15000246         <span class="keywordtype">void</span> setShininess(<a class="code" href="namespaceOgre.html#a420">Real</a> val);
15100247
15200257         <span class="keywordtype">void</span> setSelfIllumination(<a class="code" href="namespaceOgre.html#a420">Real</a> red, <a class="code" href="namespaceOgre.html#a420">Real</a> green, <a class="code" href="namespaceOgre.html#a420">Real</a> blue);
15300258
15400268         <span class="keywordtype">void</span> setSelfIllumination(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; selfIllum);
15500269
15600272         <span class="keywordtype">void</span> setVertexColourTracking(<a class="code" href="namespaceOgre.html#a58">TrackVertexColourType</a> tracking);
15700273
15800276         <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; getAmbient(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
15900277
16000280         <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; getDiffuse(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
16100281
16200284         <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; getSpecular(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
16300285
16400288         <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; getSelfIllumination(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
16500289
16600292         <a class="code" href="namespaceOgre.html#a420">Real</a> getShininess(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
16700293         
16800296         <a class="code" href="namespaceOgre.html#a58">TrackVertexColourType</a> getVertexColourTracking(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
16900297
17000302         <a class="code" href="classOgre_1_1TextureUnitState.html">TextureUnitState</a>* createTextureUnitState(<span class="keywordtype">void</span>);
17100313         <a class="code" href="classOgre_1_1TextureUnitState.html">TextureUnitState</a>* createTextureUnitState( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; textureName, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> texCoordSet = 0);
17200315         <span class="keywordtype">void</span> addTextureUnitState(<a class="code" href="classOgre_1_1TextureUnitState.html">TextureUnitState</a>* state);
17300318         <a class="code" href="classOgre_1_1TextureUnitState.html">TextureUnitState</a>* getTextureUnitState(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> index);
17400319
175<a name="l00320"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passw1">00320</a>         <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1VectorIterator.html">VectorIterator&lt;TextureUnitStates&gt;</a> <a class="code" href="classOgre_1_1VectorIterator.html">TextureUnitStateIterator</a>;
17600322         <a class="code" href="classOgre_1_1VectorIterator.html">TextureUnitStateIterator</a> getTextureUnitStateIterator(<span class="keywordtype">void</span>);
17700323
17800328         <span class="keywordtype">void</span> removeTextureUnitState(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> index);
17900329
18000332         <span class="keywordtype">void</span> removeAllTextureUnitStates(<span class="keywordtype">void</span>);
18100333
182<a name="l00336"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passa31">00336</a>         size_t getNumTextureUnitStates(<span class="keywordtype">void</span>)<span class="keyword"> const</span>
18300337 <span class="keyword">        </span>{
18400338             <span class="keywordflow">return</span> mTextureUnitStates.size();
18500339         }
18600340
18700357         <span class="keywordtype">void</span> setSceneBlending( <span class="keyword">const</span> SceneBlendType sbt );
18800358
18900381         <span class="keywordtype">void</span> setSceneBlending( <span class="keyword">const</span> SceneBlendFactor sourceFactor, <span class="keyword">const</span> SceneBlendFactor destFactor);
19000382
19100385         <a class="code" href="namespaceOgre.html#a636">SceneBlendFactor</a> getSourceBlendFactor() <span class="keyword">const</span>;
19200386
19300389         <a class="code" href="namespaceOgre.html#a636">SceneBlendFactor</a> getDestBlendFactor() <span class="keyword">const</span>;
19400390
19500392         <span class="keywordtype">bool</span> isTransparent(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
19600393
19700405         <span class="keywordtype">void</span> setDepthCheckEnabled(<span class="keywordtype">bool</span> enabled);
19800406
19900411         <span class="keywordtype">bool</span> getDepthCheckEnabled(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
20000412
20100423         <span class="keywordtype">void</span> setDepthWriteEnabled(<span class="keywordtype">bool</span> enabled);
20200424
20300429         <span class="keywordtype">bool</span> getDepthWriteEnabled(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
20400430
20500438         <span class="keywordtype">void</span> setDepthFunction( CompareFunction func );
20600443         <a class="code" href="namespaceOgre.html#a637">CompareFunction</a> getDepthFunction(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
20700444
20800455         <span class="keywordtype">void</span> setColourWriteEnabled(<span class="keywordtype">bool</span> enabled);
20900457         <span class="keywordtype">bool</span> getColourWriteEnabled(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
21000458
21100472         <span class="keywordtype">void</span> setCullingMode( CullingMode mode );
21200473
21300476         <a class="code" href="namespaceOgre.html#a643">CullingMode</a> getCullingMode(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
21400477
21500491         <span class="keywordtype">void</span> setManualCullingMode( ManualCullingMode mode );
21600492
21700497         <a class="code" href="namespaceOgre.html#a644">ManualCullingMode</a> getManualCullingMode(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
21800498
21900507         <span class="keywordtype">void</span> setLightingEnabled(<span class="keywordtype">bool</span> enabled);
22000508
22100511         <span class="keywordtype">bool</span> getLightingEnabled(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
22200512
22300521         <span class="keywordtype">void</span> setMaxSimultaneousLights(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> maxLights);
22400523         <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> getMaxSimultaneousLights(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
22500524
22600529         <span class="keywordtype">void</span> setShadingMode( ShadeOptions mode );
22700530
22800533         <a class="code" href="namespaceOgre.html#a641">ShadeOptions</a> getShadingMode(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
22900534
23000535
23100565         <span class="keywordtype">void</span> setFog(
23200566             <span class="keywordtype">bool</span> overrideScene,
23300567             FogMode mode = FOG_NONE,
23400568             <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; colour = ColourValue::White,
23500569             <a class="code" href="namespaceOgre.html#a420">Real</a> expDensity = 0.001, <a class="code" href="namespaceOgre.html#a420">Real</a> linearStart = 0.0, <a class="code" href="namespaceOgre.html#a420">Real</a> linearEnd = 1.0 );
23600570
23700573         <span class="keywordtype">bool</span> getFogOverride(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
23800574
23900579         <a class="code" href="namespaceOgre.html#a642">FogMode</a> getFogMode(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
24000580
24100583         <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; getFogColour(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
24200584
24300589         <a class="code" href="namespaceOgre.html#a420">Real</a> getFogStart(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
24400590
24500595         <a class="code" href="namespaceOgre.html#a420">Real</a> getFogEnd(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
24600596
24700601         <a class="code" href="namespaceOgre.html#a420">Real</a> getFogDensity(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
24800602
24900615         <span class="keywordtype">void</span> setDepthBias(<a class="code" href="namespaceOgre.html#a422">ushort</a> bias);
25000616
25100618         <a class="code" href="namespaceOgre.html#a422">ushort</a> getDepthBias(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
25200619
25300628         <span class="keywordtype">void</span> setAlphaRejectSettings(CompareFunction func, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> value);
25400629
25500632         <span class="keywordtype">void</span> setAlphaRejectFunction(CompareFunction func);
25600633
25700636         <span class="keywordtype">void</span> setAlphaRejectValue(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> val);
25800637
259<a name="l00640"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passa67">00640</a>         <a class="code" href="namespaceOgre.html#a637">CompareFunction</a> getAlphaRejectFunction(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mAlphaRejectFunc; }
26000641
261<a name="l00644"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passa68">00644</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> getAlphaRejectValue(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mAlphaRejectVal; }
26200680         <span class="keywordtype">void</span> setRunOncePerLight(<span class="keywordtype">bool</span> enabled,
26300681             <span class="keywordtype">bool</span> onlyForOneLightType = <span class="keyword">true</span>, Light::LightTypes lightType = Light::LT_POINT);
26400682
265<a name="l00684"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passa70">00684</a>         <span class="keywordtype">bool</span> getRunOncePerLight(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mRunOncePerLight; }
266<a name="l00686"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passa71">00686</a>         <span class="keywordtype">bool</span> getRunOnlyForOneLightType(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mRunOnlyForOneLightType; }
267<a name="l00689"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passa72">00689</a>         Light::LightTypes getOnlyLightType()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mOnlyLightType; }
26800690         
269<a name="l00692"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passa73">00692</a>         <a class="code" href="classOgre_1_1Technique.html">Technique</a>* getParent(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mParent; }
27000693
27100695         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getResourceGroup(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
27200696
27300713         <span class="keywordtype">void</span> setVertexProgram(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name, <span class="keywordtype">bool</span> resetParams = <span class="keyword">true</span>);
27400720         <span class="keywordtype">void</span> setVertexProgramParameters(<a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> <a class="code" href="OgreGLPrerequisites_8h.html#a74">params</a>);
27500722         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getVertexProgramName(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
27600724         <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> getVertexProgramParameters(<span class="keywordtype">void</span>);
27700726         <span class="keyword">const</span> <a class="code" href="classOgre_1_1GpuProgramPtr.html">GpuProgramPtr</a>&amp; getVertexProgram(<span class="keywordtype">void</span>);
27800727
27900728
28000758         <span class="keywordtype">void</span> setShadowCasterVertexProgram(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name);
28100765         <span class="keywordtype">void</span> setShadowCasterVertexProgramParameters(<a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> <a class="code" href="OgreGLPrerequisites_8h.html#a74">params</a>);
28200767         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getShadowCasterVertexProgramName(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
28300769         <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> getShadowCasterVertexProgramParameters(<span class="keywordtype">void</span>);
28400772         <span class="keyword">const</span> <a class="code" href="classOgre_1_1GpuProgramPtr.html">GpuProgramPtr</a>&amp; getShadowCasterVertexProgram(<span class="keywordtype">void</span>);
28500773
28600799         <span class="keywordtype">void</span> setShadowReceiverVertexProgram(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name);
28700806         <span class="keywordtype">void</span> setShadowReceiverVertexProgramParameters(<a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> <a class="code" href="OgreGLPrerequisites_8h.html#a74">params</a>);
28800808         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getShadowReceiverVertexProgramName(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
28900810         <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> getShadowReceiverVertexProgramParameters(<span class="keywordtype">void</span>);
29000813         <span class="keyword">const</span> <a class="code" href="classOgre_1_1GpuProgramPtr.html">GpuProgramPtr</a>&amp; getShadowReceiverVertexProgram(<span class="keywordtype">void</span>);
29100814
29200815
29300832         <span class="keywordtype">void</span> setFragmentProgram(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name, <span class="keywordtype">bool</span> resetParams = <span class="keyword">true</span>);
29400837         <span class="keywordtype">void</span> setFragmentProgramParameters(<a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> <a class="code" href="OgreGLPrerequisites_8h.html#a74">params</a>);
29500839         <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getFragmentProgramName(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
29600841         <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> getFragmentProgramParameters(<span class="keywordtype">void</span>);
29700843         <span class="keyword">const</span> <a class="code" href="classOgre_1_1GpuProgramPtr.html">GpuProgramPtr</a>&amp; getFragmentProgram(<span class="keywordtype">void</span>);
29800844
29900856         Pass* _split(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> numUnits);
30000857
30100859         <span class="keywordtype">void</span> _notifyIndex(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> index);
30200860
30300862         <span class="keywordtype">void</span> _load(<span class="keywordtype">void</span>);
30400864         <span class="keywordtype">void</span> _unload(<span class="keywordtype">void</span>);
30500865         <span class="comment">// Is this loaded?</span>
30600866         <span class="keywordtype">bool</span> isLoaded(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
30700867
30800874         <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> getHash(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
30900876         <span class="keywordtype">void</span> _dirtyHash(<span class="keywordtype">void</span>);
31000883         <span class="keywordtype">void</span> _recalculateHash(<span class="keywordtype">void</span>);
31100885         <span class="keywordtype">void</span> _notifyNeedsRecompile(<span class="keywordtype">void</span>);
31200886
31300888         <span class="keywordtype">void</span> _updateAutoParamsNoLights(<span class="keyword">const</span> <a class="code" href="classOgre_1_1AutoParamDataSource.html">AutoParamDataSource</a>&amp; source);
31400890         <span class="keywordtype">void</span> _updateAutoParamsLightsOnly(<span class="keyword">const</span> <a class="code" href="classOgre_1_1AutoParamDataSource.html">AutoParamDataSource</a>&amp; source);
31500891
31600900         <span class="keywordtype">void</span> setTextureFiltering(TextureFilterOptions filterType);
31700909         <span class="keywordtype">void</span> setTextureAnisotropy(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxAniso);
318<a name="l00913"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passe0">00913</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passw0">PassSet</a>&amp; getDirtyHashList(<span class="keywordtype">void</span>)
31900914         { <span class="keywordflow">return</span> msDirtyHashList; }
320<a name="l00917"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passe1">00917</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passw0">PassSet</a>&amp; getPassGraveyard(<span class="keywordtype">void</span>)
32100918         { <span class="keywordflow">return</span> msPassGraveyard; }
322<a name="l00926"></a><a class="code" href="classOgre_1_1Pass.html#Ogre_1_1Passe2">00926</a>         <span class="keyword">static</span> <span class="keywordtype">void</span> clearDirtyHashList(<span class="keywordtype">void</span>) { msDirtyHashList.clear(); }
32300927
32400929         <span class="keyword">static</span> <span class="keywordtype">void</span> processPendingPassUpdates(<span class="keywordtype">void</span>);
32500930
32600932         <span class="keywordtype">void</span> queueForDeletion(<span class="keywordtype">void</span>);
32700933
32800936         <span class="keywordtype">bool</span> isAmbientOnly(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
32900937
33000938         
33100939     };
33200940
333<a name="l00941"></a><a class="code" href="namespaceOgre.html#a666">00941</a>     <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a666">IlluminationStage</a>
33400942     {
33500944         <a class="code" href="namespaceOgre.html#a666a359">IS_AMBIENT</a>,
33600946         <a class="code" href="namespaceOgre.html#a666a360">IS_PER_LIGHT</a>,
33700948         <a class="code" href="namespaceOgre.html#a666a361">IS_DECAL</a>
33800949     };
339<a name="l00959"></a><a class="code" href="structOgre_1_1IlluminationPass.html">00959</a>     <span class="keyword">struct </span><a class="code" href="structOgre_1_1IlluminationPass.html">IlluminationPass</a>
34000960     {
341<a name="l00961"></a><a class="code" href="structOgre_1_1IlluminationPass.html#Ogre_1_1IlluminationPasso0">00961</a>         <a class="code" href="namespaceOgre.html#a666">IlluminationStage</a> <a class="code" href="structOgre_1_1IlluminationPass.html#Ogre_1_1IlluminationPasso0">stage</a>;
342<a name="l00963"></a><a class="code" href="structOgre_1_1IlluminationPass.html#Ogre_1_1IlluminationPasso1">00963</a>         Pass* pass;
343<a name="l00965"></a><a class="code" href="structOgre_1_1IlluminationPass.html#Ogre_1_1IlluminationPasso2">00965</a>         <span class="keywordtype">bool</span> <a class="code" href="structOgre_1_1IlluminationPass.html#Ogre_1_1IlluminationPasso2">destroyOnShutdown</a>;
344<a name="l00967"></a><a class="code" href="structOgre_1_1IlluminationPass.html#Ogre_1_1IlluminationPasso3">00967</a>         Pass* <a class="code" href="structOgre_1_1IlluminationPass.html#Ogre_1_1IlluminationPasso3">originalPass</a>;
34500968     };
34600969
347<a name="l00970"></a><a class="code" href="namespaceOgre.html#a358">00970</a>     <span class="keyword">typedef</span> std::vector&lt;IlluminationPass*&gt; <a class="code" href="namespaceOgre.html#a358">IlluminationPassList</a>;
34800971
34900972
35000973 }
35100974
35200975 <span class="preprocessor">#endif</span>
353</pre></div><hr>
354<p>
355Copyright &copy; 2000-2005 by The OGRE Team<br />
356<!--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/>
357This 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/>
358                <!--/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#">
359                <Work rdf:about="">
360                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
361        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
362                </Work>
363                <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> -->
364
365Last modified Sun Feb 12 12:59:49 2006
366</p>
367</body>
368</html>
Note: See TracBrowser for help on using the repository browser.