source: OGRE/trunk/ogrenew/Docs/api/html/OgreRenderSystem_8h-source.html @ 692

Revision 692, 43.2 KB checked in by mattausch, 19 years ago (diff)

adding ogre 1.2 and dependencies

Line 
1<html>
2<head>
3<title>OgreRenderSystem.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>OgreRenderSystem.h</h1><a href="OgreRenderSystem_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 __RenderSystem_H_</span>
3500026 <span class="preprocessor"></span><span class="preprocessor">#define __RenderSystem_H_</span>
3600027 <span class="preprocessor"></span>
3700028 <span class="comment">// Precompiler options</span>
3800029 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span>
3900030
4000031 <span class="preprocessor">#include "<a class="code" href="OgreString_8h.html">OgreString.h</a>"</span>
4100032
4200033 <span class="preprocessor">#include "<a class="code" href="OgreTextureUnitState_8h.html">OgreTextureUnitState.h</a>"</span>
4300034 <span class="preprocessor">#include "<a class="code" href="OgreCommon_8h.html">OgreCommon.h</a>"</span>
4400035
4500036 <span class="preprocessor">#include "<a class="code" href="OgreRenderOperation_8h.html">OgreRenderOperation.h</a>"</span>
4600037 <span class="preprocessor">#include "<a class="code" href="OgreRenderSystemCapabilities_8h.html">OgreRenderSystemCapabilities.h</a>"</span>
4700038 <span class="preprocessor">#include "<a class="code" href="OgreRenderTarget_8h.html">OgreRenderTarget.h</a>"</span>
4800039 <span class="preprocessor">#include "<a class="code" href="OgreRenderTexture_8h.html">OgreRenderTexture.h</a>"</span>
4900040 <span class="preprocessor">#include "<a class="code" href="OgreFrameListener_8h.html">OgreFrameListener.h</a>"</span>
5000041 <span class="preprocessor">#include "<a class="code" href="OgreConfigOptionMap_8h.html">OgreConfigOptionMap.h</a>"</span>
5100042 <span class="preprocessor">#include "<a class="code" href="OgreGpuProgram_8h.html">OgreGpuProgram.h</a>"</span>
5200043 <span class="preprocessor">#include "<a class="code" href="OgrePlane_8h.html">OgrePlane.h</a>"</span>
5300044 <span class="preprocessor">#include "<a class="code" href="OgreIteratorWrappers_8h.html">OgreIteratorWrappers.h</a>"</span>
5400045
5500046 <span class="keyword">namespace </span>Ogre
5600047 {
57<a name="l00048"></a><a class="code" href="namespaceOgre.html#a489">00048</a>     <span class="keyword">typedef</span> std::map&lt; String, RenderTarget * &gt; <a class="code" href="namespaceOgre.html#a489">RenderTargetMap</a>;
58<a name="l00049"></a><a class="code" href="namespaceOgre.html#a490">00049</a>     <span class="keyword">typedef</span> std::multimap&lt;uchar, RenderTarget * &gt; <a class="code" href="namespaceOgre.html#a490">RenderTargetPriorityMap</a>;
5900050
6000051     <span class="keyword">class </span><a class="code" href="classOgre_1_1TextureManager.html">TextureManager</a>;
61<a name="l00053"></a><a class="code" href="namespaceOgre.html#a675">00053</a>     <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a675">TexCoordCalcMethod</a>
6200054     {
6300056         <a class="code" href="namespaceOgre.html#a675a491">TEXCALC_NONE</a>,
6400058         <a class="code" href="namespaceOgre.html#a675a492">TEXCALC_ENVIRONMENT_MAP</a>,
6500060         <a class="code" href="namespaceOgre.html#a675a493">TEXCALC_ENVIRONMENT_MAP_PLANAR</a>,
6600061         <a class="code" href="namespaceOgre.html#a675a494">TEXCALC_ENVIRONMENT_MAP_REFLECTION</a>,
6700062         <a class="code" href="namespaceOgre.html#a675a495">TEXCALC_ENVIRONMENT_MAP_NORMAL</a>,
6800064         <a class="code" href="namespaceOgre.html#a675a496">TEXCALC_PROJECTIVE_TEXTURE</a>
6900065     };
70<a name="l00067"></a><a class="code" href="namespaceOgre.html#a676">00067</a>     <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a676">StencilOperation</a>
7100068     {
7200070         <a class="code" href="namespaceOgre.html#a676a497">SOP_KEEP</a>,
7300072         <a class="code" href="namespaceOgre.html#a676a498">SOP_ZERO</a>,
7400074         <a class="code" href="namespaceOgre.html#a676a499">SOP_REPLACE</a>,
7500076         <a class="code" href="namespaceOgre.html#a676a500">SOP_INCREMENT</a>,
7600078         <a class="code" href="namespaceOgre.html#a676a501">SOP_DECREMENT</a>,
7700080         <a class="code" href="namespaceOgre.html#a676a502">SOP_INCREMENT_WRAP</a>,
7800082         <a class="code" href="namespaceOgre.html#a676a503">SOP_DECREMENT_WRAP</a>,
7900084         <a class="code" href="namespaceOgre.html#a676a504">SOP_INVERT</a>
8000085     };
8100086
82<a name="l00110"></a><a class="code" href="classOgre_1_1RenderSystem.html">00110</a>     <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a16">_OgreExport</a> RenderSystem
8300111     {
8400112     <span class="keyword">public</span>:
8500115         RenderSystem();
8600116
8700119         <span class="keyword">virtual</span> ~RenderSystem();
8800120
8900123         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; getName(<span class="keywordtype">void</span>) <span class="keyword">const</span> = 0;
9000124
9100146         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a143">ConfigOptionMap</a>&amp; getConfigOptions(<span class="keywordtype">void</span>) = 0;
9200147
9300167         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setConfigOption(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a> &amp;name, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a> &amp;value) = 0;
9400168
9500171         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1HardwareOcclusionQuery.html">HardwareOcclusionQuery</a>* createHardwareOcclusionQuery(<span class="keywordtype">void</span>) = 0;
9600172
9700175         <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyHardwareOcclusionQuery(<a class="code" href="classOgre_1_1HardwareOcclusionQuery.html">HardwareOcclusionQuery</a> *hq);
9800176
9900181         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a471">String</a> validateConfigOptions(<span class="keywordtype">void</span>) = 0;
10000182
10100199         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1RenderWindow.html">RenderWindow</a>* initialise(<span class="keywordtype">bool</span> autoCreateWindow, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; windowTitle = <span class="stringliteral">"OGRE Render Window"</span>);
10200200
10300203         <span class="keyword">virtual</span> <span class="keywordtype">void</span> reinitialise(<span class="keywordtype">void</span>) = 0;
10400204
10500207         <span class="keyword">virtual</span> <span class="keywordtype">void</span> shutdown(<span class="keywordtype">void</span>);
10600208
10700209
10800212         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setAmbientLight(<span class="keywordtype">float</span> r, <span class="keywordtype">float</span> g, <span class="keywordtype">float</span> b) = 0;
10900213
11000216         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadingType(<a class="code" href="namespaceOgre.html#a644">ShadeOptions</a> so) = 0;
11100217
11200223         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLightingEnabled(<span class="keywordtype">bool</span> enabled) = 0;
11300224
11400231         <span class="keywordtype">void</span> setWBufferEnabled(<span class="keywordtype">bool</span> enabled);
11500232
11600235         <span class="keywordtype">bool</span> getWBufferEnabled(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
11700236
11800338         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1RenderWindow.html">RenderWindow</a>* createRenderWindow(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a> &amp;name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> height,
11900339             <span class="keywordtype">bool</span> fullScreen, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a76">NameValuePairList</a> *miscParams = 0) = 0;
12000340
12100367         <a class="code" href="classOgre_1_1RenderTexture.html">RenderTexture</a> * createRenderTexture( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a> &amp; name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> height,
12200368             <a class="code" href="namespaceOgre.html#a685">TextureType</a> texType = <a class="code" href="namespaceOgre.html#a685a592">TEX_TYPE_2D</a>, <a class="code" href="namespaceOgre.html#a671">PixelFormat</a> internalFormat = <a class="code" href="namespaceOgre.html#a671a420">PF_X8R8G8B8</a>,
12300369             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a76">NameValuePairList</a> *miscParams = 0 );
12400370
12500375         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1MultiRenderTarget.html">MultiRenderTarget</a> * createMultiRenderTarget(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a> &amp; name) = 0;
12600376
12700378         <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyRenderWindow(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; name);
12800380         <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyRenderTexture(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; name);
12900382         <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyRenderTarget(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; name);
13000383
13100386         <span class="keyword">virtual</span> <span class="keywordtype">void</span> attachRenderTarget( <a class="code" href="classOgre_1_1RenderTarget.html">RenderTarget</a> &amp;target );
13200390         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1RenderTarget.html">RenderTarget</a> * getRenderTarget( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a> &amp;name );
13300396         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1RenderTarget.html">RenderTarget</a> * detachRenderTarget( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a> &amp;name );
13400397
135<a name="l00399"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemw0">00399</a>         <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1MapIterator.html">MapIterator&lt;Ogre::RenderTargetMap&gt;</a> <a class="code" href="classOgre_1_1MapIterator.html">RenderTargetIterator</a>;
13600400
137<a name="l00402"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystema25">00402</a>         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1MapIterator.html">RenderTargetIterator</a> getRenderTargetIterator(<span class="keywordtype">void</span>) {
13800403             <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1MapIterator.html">RenderTargetIterator</a>( mRenderTargets.begin(), mRenderTargets.end() );
13900404         }
14000407         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a471">String</a> getErrorDescription(<span class="keywordtype">long</span> errorNumber) <span class="keyword">const</span> = 0;
14100408
14200422         <span class="keywordtype">void</span> setWaitForVerticalBlank(<span class="keywordtype">bool</span> enabled);
14300423
14400426         <span class="keywordtype">bool</span> getWaitForVerticalBlank(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
14500427
14600428         <span class="comment">// ------------------------------------------------------------------------</span>
14700429         <span class="comment">//                     Internal Rendering Access</span>
14800430         <span class="comment">// All methods below here are normally only called by other OGRE classes</span>
14900431         <span class="comment">// They can be called by library user if required</span>
15000432         <span class="comment">// ------------------------------------------------------------------------</span>
15100433
15200434
15300438         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _useLights(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a73">LightList</a>&amp; lights, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> limit) = 0;
15400440         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setWorldMatrix(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;m) = 0;
15500442         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setWorldMatrices(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>* m, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> count);
15600444         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setViewMatrix(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;m) = 0;
15700446         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setProjectionMatrix(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a> &amp;m) = 0;
15800452         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureUnitSettings(size_t texUnit, <a class="code" href="classOgre_1_1TextureUnitState.html">TextureUnitState</a>&amp; tl);
15900454         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _disableTextureUnit(size_t texUnit);
16000456         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _disableTextureUnitsFrom(size_t texUnit);
16100490         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setSurfaceParams(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> &amp;ambient,
16200491             <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> &amp;diffuse, <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> &amp;specular,
16300492             <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> &amp;emissive, <a class="code" href="namespaceOgre.html#a465">Real</a> shininess,
16400493             <a class="code" href="namespaceOgre.html#a72">TrackVertexColourType</a> tracking = TVC_NONE) = 0;
16500494
16600500         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setPointSpritesEnabled(<span class="keywordtype">bool</span> enabled) = 0;
16700501
16800512         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setPointParameters(<a class="code" href="namespaceOgre.html#a465">Real</a> size, <span class="keywordtype">bool</span> attenuationEnabled,
16900513             <a class="code" href="namespaceOgre.html#a465">Real</a> constant, <a class="code" href="namespaceOgre.html#a465">Real</a> linear, <a class="code" href="namespaceOgre.html#a465">Real</a> quadratic, <a class="code" href="namespaceOgre.html#a465">Real</a> minSize, <a class="code" href="namespaceOgre.html#a465">Real</a> maxSize) = 0;
17000514
17100515
17200532         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTexture(size_t unit, <span class="keywordtype">bool</span> enabled, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a> &amp;texname) = 0;
17300533
17400543         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureCoordSet(size_t unit, size_t index) = 0;
17500544
17600552         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureCoordCalculation(size_t unit, TexCoordCalcMethod m,
17700553             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Frustum.html">Frustum</a>* frustum = 0) = 0;
17800554
17900561         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureBlendMode(size_t unit, <span class="keyword">const</span> <a class="code" href="classOgre_1_1LayerBlendModeEx.html">LayerBlendModeEx</a>&amp; bm) = 0;
18000562
18100569         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureUnitFiltering(size_t unit, FilterOptions minFilter,
18200570             FilterOptions magFilter, FilterOptions mipFilter);
18300571
18400577         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureUnitFiltering(size_t unit, FilterType ftype, FilterOptions filter) = 0;
18500578
18600580         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureLayerAnisotropy(size_t unit, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxAnisotropy) = 0;
18700581
18800583         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureAddressingMode(size_t unit, <span class="keyword">const</span> <a class="code" href="structOgre_1_1TextureUnitState_1_1UVWAddressingMode.html">TextureUnitState::UVWAddressingMode</a>&amp; uvw) = 0;
18900584
19000586         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureBorderColour(size_t unit, <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; colour) = 0;
19100587
19200592         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureMatrix(size_t unit, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; xform) = 0;
19300593
19400602         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setSceneBlending(SceneBlendFactor sourceFactor, SceneBlendFactor destFactor) = 0;
19500603
19600609         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setAlphaRejectSettings(CompareFunction func, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> value) = 0;
19700614         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _beginFrame(<span class="keywordtype">void</span>) = 0;
19800615
19900616
20000620         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _endFrame(<span class="keywordtype">void</span>) = 0;
20100628         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setViewport(<a class="code" href="classOgre_1_1Viewport.html">Viewport</a> *vp) = 0;
20200630         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Viewport.html">Viewport</a>* _getViewport(<span class="keywordtype">void</span>);
20300631
20400643         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setCullingMode(CullingMode mode) = 0;
20500644
20600645         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a646">CullingMode</a> _getCullingMode(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
20700646
20800660         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBufferParams(<span class="keywordtype">bool</span> depthTest = <span class="keyword">true</span>, <span class="keywordtype">bool</span> depthWrite = <span class="keyword">true</span>, CompareFunction depthFunction = CMPF_LESS_EQUAL) = 0;
20900661
21000666         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBufferCheckEnabled(<span class="keywordtype">bool</span> enabled = <span class="keyword">true</span>) = 0;
21100671         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBufferWriteEnabled(<span class="keywordtype">bool</span> enabled = <span class="keyword">true</span>) = 0;
21200679         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBufferFunction(CompareFunction func = CMPF_LESS_EQUAL) = 0;
21300687         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setColourBufferWriteEnabled(<span class="keywordtype">bool</span> red, <span class="keywordtype">bool</span> green, <span class="keywordtype">bool</span> blue, <span class="keywordtype">bool</span> alpha) = 0;
21400700         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBias(<a class="code" href="namespaceOgre.html#a467">ushort</a> bias) = 0;
21500712         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setFog(FogMode mode = FOG_NONE, <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; colour = ColourValue::White, <a class="code" href="namespaceOgre.html#a465">Real</a> expDensity = 1.0, <a class="code" href="namespaceOgre.html#a465">Real</a> linearStart = 0.0, <a class="code" href="namespaceOgre.html#a465">Real</a> linearEnd = 1.0) = 0;
21600713
21700714
21800716         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _beginGeometryCount(<span class="keywordtype">void</span>);
21900718         <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _getFaceCount(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
22000720         <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _getVertexCount(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
22100721
22200730         <span class="keyword">virtual</span> <span class="keywordtype">void</span> convertColourValue(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; colour, <a class="code" href="namespaceOgre.html#a455">uint32</a>* pDest);
22300734         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a660">VertexElementType</a> getColourVertexElementType(<span class="keywordtype">void</span>) <span class="keyword">const</span> = 0;
22400735
22500742         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _convertProjectionMatrix(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; matrix,
22600743             <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; dest, <span class="keywordtype">bool</span> forGpuProgram = <span class="keyword">false</span>) = 0;
22700744
22800751         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _makeProjectionMatrix(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; fovy, <a class="code" href="namespaceOgre.html#a465">Real</a> aspect, <a class="code" href="namespaceOgre.html#a465">Real</a> nearPlane, <a class="code" href="namespaceOgre.html#a465">Real</a> farPlane,
22900752             <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; dest, <span class="keywordtype">bool</span> forGpuProgram = <span class="keyword">false</span>) = 0;
23000753
23100760         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _makeProjectionMatrix(<a class="code" href="namespaceOgre.html#a465">Real</a> left, <a class="code" href="namespaceOgre.html#a465">Real</a> right, <a class="code" href="namespaceOgre.html#a465">Real</a> bottom, <a class="code" href="namespaceOgre.html#a465">Real</a> top,
23200761             <a class="code" href="namespaceOgre.html#a465">Real</a> nearPlane, <a class="code" href="namespaceOgre.html#a465">Real</a> farPlane, <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; dest, <span class="keywordtype">bool</span> forGpuProgram = <span class="keyword">false</span>) = 0;
23300768         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _makeOrthoMatrix(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; fovy, <a class="code" href="namespaceOgre.html#a465">Real</a> aspect, <a class="code" href="namespaceOgre.html#a465">Real</a> nearPlane, <a class="code" href="namespaceOgre.html#a465">Real</a> farPlane,
23400769             <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; dest, <span class="keywordtype">bool</span> forGpuProgram = <span class="keyword">false</span>) = 0;
23500770
23600787         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _applyObliqueDepthProjection(<a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; matrix, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Plane.html">Plane</a>&amp; plane,
23700788             <span class="keywordtype">bool</span> forGpuProgram) = 0;
23800789         
23900791         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setPolygonMode(PolygonMode level) = 0;
24000792
24100799         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStencilCheckEnabled(<span class="keywordtype">bool</span> enabled) = 0;
24200815         <span class="comment">/*virtual bool hasHardwareStencil(void) = 0;*/</span>
24300816
24400852         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStencilBufferParams(CompareFunction func = CMPF_ALWAYS_PASS,
24500853             <a class="code" href="namespaceOgre.html#a455">uint32</a> refValue = 0, <a class="code" href="namespaceOgre.html#a455">uint32</a> mask = 0xFFFFFFFF,
24600854             StencilOperation stencilFailOp = SOP_KEEP,
24700855             StencilOperation depthFailOp = SOP_KEEP,
24800856             StencilOperation passOp = SOP_KEEP,
24900857             <span class="keywordtype">bool</span> twoSidedOperation = <span class="keyword">false</span>) = 0;
25000858
25100859
25200860
25300862         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setVertexDeclaration(<a class="code" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>* decl) = 0;
25400864         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setVertexBufferBinding(<a class="code" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>* binding) = 0;
25500865
25600876         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setNormaliseNormals(<span class="keywordtype">bool</span> normalise) = 0;
25700877
25800890         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _render(<span class="keyword">const</span> <a class="code" href="classOgre_1_1RenderOperation.html">RenderOperation</a>&amp; op);
25900891
260<a name="l00893"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystema82">00893</a>         <span class="keyword">const</span> <a class="code" href="classOgre_1_1RenderSystemCapabilities.html">RenderSystemCapabilities</a>* getCapabilities(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mCapabilities; }
26100894
26200899         <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindGpuProgram(<a class="code" href="classOgre_1_1GpuProgram.html">GpuProgram</a>* prg);
26300900
26400903         <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindGpuProgramParameters(GpuProgramType gptype, <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> params) = 0;
26500906         <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindGpuProgramPassIterationParameters(GpuProgramType gptype) = 0;
26600911         <span class="keyword">virtual</span> <span class="keywordtype">void</span> unbindGpuProgram(GpuProgramType gptype);
26700912         
26800914         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isGpuProgramBound(GpuProgramType gptype);
26900915
27000918         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setClipPlanes(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a453">PlaneList</a>&amp; clipPlanes) = 0;
27100919
27200921         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _initRenderTargets(<span class="keywordtype">void</span>);
27300922
27400926         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _notifyCameraRemoved(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam);
27500927
27600929         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _updateAllRenderTargets(<span class="keywordtype">void</span>);
27700930
27800932         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setClipPlane (<a class="code" href="namespaceOgre.html#a467">ushort</a> index, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Plane.html">Plane</a> &amp;p);
27900934         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setClipPlane (<a class="code" href="namespaceOgre.html#a467">ushort</a> index, <a class="code" href="namespaceOgre.html#a465">Real</a> A, <a class="code" href="namespaceOgre.html#a465">Real</a> B, <a class="code" href="namespaceOgre.html#a465">Real</a> C, <a class="code" href="namespaceOgre.html#a465">Real</a> D) = 0;
28000936         <span class="keyword">virtual</span> <span class="keywordtype">void</span> enableClipPlane (<a class="code" href="namespaceOgre.html#a467">ushort</a> index, <span class="keywordtype">bool</span> enable) = 0;
28100937
28200940         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setInvertVertexWinding(<span class="keywordtype">bool</span> invert);
28300952         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setScissorTest(<span class="keywordtype">bool</span> enabled, size_t left = 0, size_t top = 0,
28400953             size_t right = 800, size_t bottom = 600) = 0;
28500954
28600962         <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearFrameBuffer(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> buffers,
28700963             <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; colour = ColourValue::Black,
28800964             <a class="code" href="namespaceOgre.html#a465">Real</a> depth = 1.0f, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> stencil = 0) = 0;
28900974         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a465">Real</a> getHorizontalTexelOffset(<span class="keywordtype">void</span>) = 0;
29000984         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a465">Real</a> getVerticalTexelOffset(<span class="keywordtype">void</span>) = 0;
29100985
29200994         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a465">Real</a> getMinimumDepthInputValue(<span class="keywordtype">void</span>) = 0;
29301003         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a465">Real</a> getMaximumDepthInputValue(<span class="keywordtype">void</span>) = 0;
294<a name="l01009"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystema102">01009</a>         <span class="keywordtype">void</span> setCurrentPassIterationCount(<span class="keyword">const</span> size_t count) { mCurrentPassIterationCount = count; }
29501010
296<a name="l01015"></a><a class="code" href="classOgre_1_1RenderSystem_1_1Listener.html">01015</a>         <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> Listener
29701016         {
29801017         <span class="keyword">public</span>:
299<a name="l01018"></a><a class="code" href="classOgre_1_1RenderSystem_1_1Listener.html#Ogre_1_1RenderSystem_1_1Listenera0">01018</a>             Listener() {}
300<a name="l01019"></a><a class="code" href="classOgre_1_1RenderSystem_1_1Listener.html#Ogre_1_1RenderSystem_1_1Listenera1">01019</a>             <span class="keyword">virtual</span> ~Listener() {}
30101020
30201026             <span class="keyword">virtual</span> <span class="keywordtype">void</span> eventOccurred(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; eventName,
30301027                 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a76">NameValuePairList</a>* parameters = 0) = 0;
30401028         };
30501042         <span class="keyword">virtual</span> <span class="keywordtype">void</span> addListener(Listener* l);
30601045         <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeListener(Listener* l);
30701046
308<a name="l01051"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystema105">01051</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a580">StringVector</a>&amp; getRenderSystemEvents(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mEventNames; }
30901052     <span class="keyword">protected</span>:
31001053
31101054         
312<a name="l01056"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp0">01056</a>         <a class="code" href="namespaceOgre.html#a489">RenderTargetMap</a> mRenderTargets;
313<a name="l01058"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp1">01058</a>         <a class="code" href="namespaceOgre.html#a490">RenderTargetPriorityMap</a> mPrioritisedRenderTargets;
314<a name="l01060"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp2">01060</a>         <a class="code" href="classOgre_1_1RenderTarget.html">RenderTarget</a> * mActiveRenderTarget;
315<a name="l01062"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp3">01062</a>         <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> mActiveVertexGpuProgramParameters;
316<a name="l01063"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp4">01063</a>         <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> mActiveFragmentGpuProgramParameters;
31701064
31801065         <span class="comment">// Texture manager</span>
31901066         <span class="comment">// A concrete class of this will be created and</span>
32001067         <span class="comment">// made available under the TextureManager singleton,</span>
32101068         <span class="comment">// managed by the RenderSystem</span>
322<a name="l01069"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp5">01069</a>         <a class="code" href="classOgre_1_1TextureManager.html">TextureManager</a>* mTextureManager;
32301070
324<a name="l01072"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp6">01072</a>         <a class="code" href="classOgre_1_1RenderSystemCapabilities.html">RenderSystemCapabilities</a>* mCapabilities;
32501073
32601074         <span class="comment">// Active viewport (dest for future rendering operations)</span>
327<a name="l01075"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp7">01075</a>         <a class="code" href="classOgre_1_1Viewport.html">Viewport</a>* mActiveViewport;
32801076
329<a name="l01077"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp8">01077</a>         <a class="code" href="namespaceOgre.html#a646">CullingMode</a> mCullingMode;
33001078
331<a name="l01079"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp9">01079</a>         <span class="keywordtype">bool</span> mVSync;
332<a name="l01080"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp10">01080</a>         <span class="keywordtype">bool</span> mWBuffer;
33301081
334<a name="l01082"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp11">01082</a>         size_t mFaceCount;
335<a name="l01083"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp12">01083</a>         size_t mVertexCount;
33601084
337<a name="l01086"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp13">01086</a>         <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a> mWorldMatrices[256];
33801087
339<a name="l01089"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp14">01089</a>         <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> mManualBlendColours[<a class="code" href="OgreConfig_8h.html#a7">OGRE_MAX_TEXTURE_LAYERS</a>][2];
34001090
341<a name="l01091"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp15">01091</a>         <span class="keywordtype">bool</span> mInvertVertexWinding;
34201092
343<a name="l01094"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp16">01094</a>         size_t mCurrentPassIterationCount;
34401095
34501100         <span class="keywordtype">bool</span> updatePassIterationRenderState(<span class="keywordtype">void</span>);
34601101
347<a name="l01103"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp17">01103</a>         <a class="code" href="namespaceOgre.html#a580">StringVector</a> mEventNames;
34801104
34901106         <span class="keyword">virtual</span> <span class="keywordtype">void</span> fireEvent(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a471">String</a>&amp; name, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a76">NameValuePairList</a>* params = 0);
35001107
351<a name="l01108"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx0">01108</a>         <span class="keyword">typedef</span> std::list&lt;Listener*&gt; <a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx0">ListenerList</a>;
352<a name="l01109"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp18">01109</a>         <a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx0">ListenerList</a> mEventListeners;
35301110
354<a name="l01111"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx1">01111</a>         <span class="keyword">typedef</span> std::list&lt;HardwareOcclusionQuery*&gt; <a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx1">HardwareOcclusionQueryList</a>;
355<a name="l01112"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp19">01112</a>         <a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx1">HardwareOcclusionQueryList</a> mHwOcclusionQueries;
35601113         
357<a name="l01114"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp20">01114</a>         <span class="keywordtype">bool</span> mVertexProgramBound;
358<a name="l01115"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp21">01115</a>         <span class="keywordtype">bool</span> mFragmentProgramBound;
35901116         
36001117
36101118
36201119     };
36301120 }
36401121
36501122 <span class="preprocessor">#endif</span>
366</pre></div><hr>
367<p>
368Copyright &copy; 2000-2005 by The OGRE Team<br />
369<!--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/>
370This 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/>
371                <!--/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#">
372                <Work rdf:about="">
373                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
374        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
375                </Work>
376                <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> -->
377
378Last modified Sun Mar 12 14:37:48 2006
379</p>
380</body>
381</html>
Note: See TracBrowser for help on using the repository browser.