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

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

added ogre dependencies and patched ogre sources

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#a442">00048</a>     <span class="keyword">typedef</span> std::map&lt; String, RenderTarget * &gt; <a class="code" href="namespaceOgre.html#a442">RenderTargetMap</a>;
58<a name="l00049"></a><a class="code" href="namespaceOgre.html#a443">00049</a>     <span class="keyword">typedef</span> std::multimap&lt;uchar, RenderTarget * &gt; <a class="code" href="namespaceOgre.html#a443">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#a670">00053</a>     <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a670">TexCoordCalcMethod</a>
6200054     {
6300056         <a class="code" href="namespaceOgre.html#a670a444">TEXCALC_NONE</a>,
6400058         <a class="code" href="namespaceOgre.html#a670a445">TEXCALC_ENVIRONMENT_MAP</a>,
6500060         <a class="code" href="namespaceOgre.html#a670a446">TEXCALC_ENVIRONMENT_MAP_PLANAR</a>,
6600061         <a class="code" href="namespaceOgre.html#a670a447">TEXCALC_ENVIRONMENT_MAP_REFLECTION</a>,
6700062         <a class="code" href="namespaceOgre.html#a670a448">TEXCALC_ENVIRONMENT_MAP_NORMAL</a>,
6800064         <a class="code" href="namespaceOgre.html#a670a449">TEXCALC_PROJECTIVE_TEXTURE</a>
6900065     };
70<a name="l00067"></a><a class="code" href="namespaceOgre.html#a671">00067</a>     <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a671">StencilOperation</a>
7100068     {
7200070         <a class="code" href="namespaceOgre.html#a671a450">SOP_KEEP</a>,
7300072         <a class="code" href="namespaceOgre.html#a671a451">SOP_ZERO</a>,
7400074         <a class="code" href="namespaceOgre.html#a671a452">SOP_REPLACE</a>,
7500076         <a class="code" href="namespaceOgre.html#a671a453">SOP_INCREMENT</a>,
7600078         <a class="code" href="namespaceOgre.html#a671a454">SOP_DECREMENT</a>,
7700080         <a class="code" href="namespaceOgre.html#a671a455">SOP_INCREMENT_WRAP</a>,
7800082         <a class="code" href="namespaceOgre.html#a671a456">SOP_DECREMENT_WRAP</a>,
7900084         <a class="code" href="namespaceOgre.html#a671a457">SOP_INVERT</a>
8000085     };
8100086
82<a name="l00088"></a><a class="code" href="namespaceOgre.html#a672">00088</a>     <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a672">FrameBufferType</a> {
8300089         <a class="code" href="namespaceOgre.html#a672a458">FBT_COLOUR</a>  = 0x1,
8400090         <a class="code" href="namespaceOgre.html#a672a459">FBT_DEPTH</a>   = 0x2,
8500091         <a class="code" href="namespaceOgre.html#a672a460">FBT_STENCIL</a> = 0x4
8600092     };
8700093     
88<a name="l00117"></a><a class="code" href="classOgre_1_1RenderSystem.html">00117</a>     <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a16">_OgreExport</a> RenderSystem
8900118     {
9000119     <span class="keyword">public</span>:
9100122         RenderSystem();
9200123
9300126         <span class="keyword">virtual</span> ~RenderSystem();
9400127
9500130         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getName(<span class="keywordtype">void</span>) <span class="keyword">const</span> = 0;
9600131
9700153         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a114">ConfigOptionMap</a>&amp; getConfigOptions(<span class="keywordtype">void</span>) = 0;
9800154
9900174         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setConfigOption(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a> &amp;name, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a> &amp;value) = 0;
10000175
10100178         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1HardwareOcclusionQuery.html">HardwareOcclusionQuery</a>* createHardwareOcclusionQuery(<span class="keywordtype">void</span>) = 0;
10200179
10300182         <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyHardwareOcclusionQuery(<a class="code" href="classOgre_1_1HardwareOcclusionQuery.html">HardwareOcclusionQuery</a> *hq);
10400183
10500188         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a426">String</a> validateConfigOptions(<span class="keywordtype">void</span>) = 0;
10600189
10700206         <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#a426">String</a>&amp; windowTitle = <span class="stringliteral">"OGRE Render Window"</span>);
10800207
10900210         <span class="keyword">virtual</span> <span class="keywordtype">void</span> reinitialise(<span class="keywordtype">void</span>) = 0;
11000211
11100214         <span class="keyword">virtual</span> <span class="keywordtype">void</span> shutdown(<span class="keywordtype">void</span>);
11200215
11300216
11400219         <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;
11500220
11600223         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadingType(<a class="code" href="namespaceOgre.html#a641">ShadeOptions</a> so) = 0;
11700224
11800230         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLightingEnabled(<span class="keywordtype">bool</span> enabled) = 0;
11900231
12000238         <span class="keywordtype">void</span> setWBufferEnabled(<span class="keywordtype">bool</span> enabled);
12100239
12200242         <span class="keywordtype">bool</span> getWBufferEnabled(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
12300243
12400340         <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#a426">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,
12500341             <span class="keywordtype">bool</span> fullScreen, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a62">NameValuePairList</a> *miscParams = 0) = 0;
12600342
12700377         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1RenderTexture.html">RenderTexture</a> * createRenderTexture( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">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,
12800378             <a class="code" href="namespaceOgre.html#a681">TextureType</a> texType = <a class="code" href="namespaceOgre.html#a681a547">TEX_TYPE_2D</a>, <a class="code" href="namespaceOgre.html#a667">PixelFormat</a> internalFormat = <a class="code" href="namespaceOgre.html#a667a382">PF_X8R8G8B8</a>,
12900379             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a62">NameValuePairList</a> *miscParams = 0 ) = 0;
13000380
13100382         <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyRenderWindow(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name);
13200384         <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyRenderTexture(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name);
13300386         <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyRenderTarget(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name);
13400387
13500390         <span class="keyword">virtual</span> <span class="keywordtype">void</span> attachRenderTarget( <a class="code" href="classOgre_1_1RenderTarget.html">RenderTarget</a> &amp;target );
13600394         <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#a426">String</a> &amp;name );
13700400         <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#a426">String</a> &amp;name );
13800401
139<a name="l00403"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemw0">00403</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>;
14000404
141<a name="l00406"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystema24">00406</a>         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1MapIterator.html">RenderTargetIterator</a> getRenderTargetIterator(<span class="keywordtype">void</span>) {
14200407             <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1MapIterator.html">RenderTargetIterator</a>( mRenderTargets.begin(), mRenderTargets.end() );
14300408         }
14400411         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a426">String</a> getErrorDescription(<span class="keywordtype">long</span> errorNumber) <span class="keyword">const</span> = 0;
14500412
14600426         <span class="keywordtype">void</span> setWaitForVerticalBlank(<span class="keywordtype">bool</span> enabled);
14700427
14800430         <span class="keywordtype">bool</span> getWaitForVerticalBlank(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
14900431
15000432         <span class="comment">// ------------------------------------------------------------------------</span>
15100433         <span class="comment">//                     Internal Rendering Access</span>
15200434         <span class="comment">// All methods below here are normally only called by other OGRE classes</span>
15300435         <span class="comment">// They can be called by library user if required</span>
15400436         <span class="comment">// ------------------------------------------------------------------------</span>
15500437
15600438
15700442         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _useLights(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a59">LightList</a>&amp; lights, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> limit) = 0;
15800444         <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;
15900446         <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);
16000448         <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;
16100450         <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;
16200456         <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);
16300458         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _disableTextureUnit(size_t texUnit);
16400460         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _disableTextureUnitsFrom(size_t texUnit);
16500494         <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,
16600495             <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,
16700496             <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> &amp;emissive, <a class="code" href="namespaceOgre.html#a420">Real</a> shininess,
16800497             <a class="code" href="namespaceOgre.html#a58">TrackVertexColourType</a> tracking = TVC_NONE) = 0;
16900514         <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#a426">String</a> &amp;texname) = 0;
17000515
17100525         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureCoordSet(size_t unit, size_t index) = 0;
17200526
17300534         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureCoordCalculation(size_t unit, TexCoordCalcMethod m,
17400535             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Frustum.html">Frustum</a>* frustum = 0) = 0;
17500536
17600543         <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;
17700544
17800551         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureUnitFiltering(size_t unit, FilterOptions minFilter,
17900552             FilterOptions magFilter, FilterOptions mipFilter);
18000553
18100559         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureUnitFiltering(size_t unit, FilterType ftype, FilterOptions filter) = 0;
18200560
18300562         <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;
18400563
18500565         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureAddressingMode(size_t unit, TextureUnitState::TextureAddressingMode tam) = 0;
18600566
18700571         <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;
18800572
18900581         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setSceneBlending(SceneBlendFactor sourceFactor, SceneBlendFactor destFactor) = 0;
19000582
19100588         <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;
19200593         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _beginFrame(<span class="keywordtype">void</span>) = 0;
19300594
19400595
19500599         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _endFrame(<span class="keywordtype">void</span>) = 0;
19600607         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setViewport(<a class="code" href="classOgre_1_1Viewport.html">Viewport</a> *vp) = 0;
19700609         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Viewport.html">Viewport</a>* _getViewport(<span class="keywordtype">void</span>);
19800610
19900622         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setCullingMode(CullingMode mode) = 0;
20000623
20100624         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a643">CullingMode</a> _getCullingMode(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
20200625
20300639         <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;
20400640
20500645         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBufferCheckEnabled(<span class="keywordtype">bool</span> enabled = <span class="keyword">true</span>) = 0;
20600650         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBufferWriteEnabled(<span class="keywordtype">bool</span> enabled = <span class="keyword">true</span>) = 0;
20700658         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBufferFunction(CompareFunction func = CMPF_LESS_EQUAL) = 0;
20800666         <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;
20900679         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBias(<a class="code" href="namespaceOgre.html#a422">ushort</a> bias) = 0;
21000691         <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#a420">Real</a> expDensity = 1.0, <a class="code" href="namespaceOgre.html#a420">Real</a> linearStart = 0.0, <a class="code" href="namespaceOgre.html#a420">Real</a> linearEnd = 1.0) = 0;
21100692
21200693
21300695         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _beginGeometryCount(<span class="keywordtype">void</span>);
21400697         <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>;
21500699         <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>;
21600700
21700709         <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#a412">uint32</a>* pDest) = 0;
21800710
21900717         <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#a420">Real</a> aspect, <a class="code" href="namespaceOgre.html#a420">Real</a> nearPlane, <a class="code" href="namespaceOgre.html#a420">Real</a> farPlane,
22000718             <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; dest, <span class="keywordtype">bool</span> forGpuProgram = <span class="keyword">false</span>) = 0;
22100719
22200726         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _makeProjectionMatrix(<a class="code" href="namespaceOgre.html#a420">Real</a> left, <a class="code" href="namespaceOgre.html#a420">Real</a> right, <a class="code" href="namespaceOgre.html#a420">Real</a> bottom, <a class="code" href="namespaceOgre.html#a420">Real</a> top,
22300727             <a class="code" href="namespaceOgre.html#a420">Real</a> nearPlane, <a class="code" href="namespaceOgre.html#a420">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;
22400734         <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#a420">Real</a> aspect, <a class="code" href="namespaceOgre.html#a420">Real</a> nearPlane, <a class="code" href="namespaceOgre.html#a420">Real</a> farPlane,
22500735             <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; dest, <span class="keywordtype">bool</span> forGpuProgram = <span class="keyword">false</span>) = 0;
22600736
22700753         <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,
22800754             <span class="keywordtype">bool</span> forGpuProgram) = 0;
22900755         
23000757         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setRasterisationMode(SceneDetailLevel level) = 0;
23100758
23200765         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStencilCheckEnabled(<span class="keywordtype">bool</span> enabled) = 0;
23300781         <span class="comment">/*virtual bool hasHardwareStencil(void) = 0;*/</span>
23400782
23500818         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStencilBufferParams(CompareFunction func = CMPF_ALWAYS_PASS,
23600819             <a class="code" href="namespaceOgre.html#a412">uint32</a> refValue = 0, <a class="code" href="namespaceOgre.html#a412">uint32</a> mask = 0xFFFFFFFF,
23700820             StencilOperation stencilFailOp = SOP_KEEP,
23800821             StencilOperation depthFailOp = SOP_KEEP,
23900822             StencilOperation passOp = SOP_KEEP,
24000823             <span class="keywordtype">bool</span> twoSidedOperation = <span class="keyword">false</span>) = 0;
24100824
24200825
24300826
24400828         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setVertexDeclaration(<a class="code" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>* decl) = 0;
24500830         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setVertexBufferBinding(<a class="code" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>* binding) = 0;
24600831
24700842         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setNormaliseNormals(<span class="keywordtype">bool</span> normalise) = 0;
24800843
24900856         <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);
25000857
251<a name="l00859"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystema76">00859</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; }
25200860
25300865         <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindGpuProgram(<a class="code" href="classOgre_1_1GpuProgram.html">GpuProgram</a>* prg) = 0;
25400866
25500868         <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindGpuProgramParameters(GpuProgramType gptype, <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> <a class="code" href="OgreGLPrerequisites_8h.html#a74">params</a>) = 0;
25600873         <span class="keyword">virtual</span> <span class="keywordtype">void</span> unbindGpuProgram(GpuProgramType gptype) = 0;
25700874
25800877         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setClipPlanes(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a410">PlaneList</a>&amp; clipPlanes) = 0;
25900878
26000880         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _initRenderTargets(<span class="keywordtype">void</span>);
26100881
26200885         <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);
26300886
26400888         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _updateAllRenderTargets(<span class="keywordtype">void</span>);
26500889
26600891         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setClipPlane (<a class="code" href="namespaceOgre.html#a422">ushort</a> index, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Plane.html">Plane</a> &amp;p);
26700893         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setClipPlane (<a class="code" href="namespaceOgre.html#a422">ushort</a> index, <a class="code" href="namespaceOgre.html#a420">Real</a> A, <a class="code" href="namespaceOgre.html#a420">Real</a> B, <a class="code" href="namespaceOgre.html#a420">Real</a> C, <a class="code" href="namespaceOgre.html#a420">Real</a> D) = 0;
26800895         <span class="keyword">virtual</span> <span class="keywordtype">void</span> enableClipPlane (<a class="code" href="namespaceOgre.html#a422">ushort</a> index, <span class="keywordtype">bool</span> enable) = 0;
26900896
27000899         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setInvertVertexWinding(<span class="keywordtype">bool</span> invert);
27100911         <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,
27200912             size_t right = 800, size_t bottom = 600) = 0;
27300913
27400921         <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearFrameBuffer(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> buffers,
27500922             <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; colour = ColourValue::Black,
27600923             <a class="code" href="namespaceOgre.html#a420">Real</a> depth = 1.0f, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> stencil = 0) = 0;
27700933         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getHorizontalTexelOffset(<span class="keywordtype">void</span>) = 0;
27800943         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getVerticalTexelOffset(<span class="keywordtype">void</span>) = 0;
27900944
28000953         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getMinimumDepthInputValue(<span class="keywordtype">void</span>) = 0;
28100962         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getMaximumDepthInputValue(<span class="keywordtype">void</span>) = 0;
28200963
283<a name="l00968"></a><a class="code" href="classOgre_1_1RenderSystem_1_1Listener.html">00968</a>         <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> Listener
28400969         {
28500970         <span class="keyword">public</span>:
286<a name="l00971"></a><a class="code" href="classOgre_1_1RenderSystem_1_1Listener.html#Ogre_1_1RenderSystem_1_1Listenera0">00971</a>             Listener() {}
287<a name="l00972"></a><a class="code" href="classOgre_1_1RenderSystem_1_1Listener.html#Ogre_1_1RenderSystem_1_1Listenera1">00972</a>             <span class="keyword">virtual</span> ~Listener() {}
28800973
28900979             <span class="keyword">virtual</span> <span class="keywordtype">void</span> eventOccurred(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; eventName,
29000980                 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a62">NameValuePairList</a>* parameters = 0) = 0;
29100981         };
29200995         <span class="keyword">virtual</span> <span class="keywordtype">void</span> addListener(Listener* l);
29300998         <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeListener(Listener* l);
29400999
295<a name="l01004"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystema96">01004</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a535">StringVector</a>&amp; getRenderSystemEvents(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mEventNames; }
29601005     <span class="keyword">protected</span>:
29701006
29801007         
299<a name="l01009"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp0">01009</a>         <a class="code" href="namespaceOgre.html#a442">RenderTargetMap</a> mRenderTargets;
300<a name="l01011"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp1">01011</a>         <a class="code" href="namespaceOgre.html#a443">RenderTargetPriorityMap</a> mPrioritisedRenderTargets;
301<a name="l01013"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp2">01013</a>         <a class="code" href="classOgre_1_1RenderTarget.html">RenderTarget</a> * mActiveRenderTarget;
30201014
30301015         <span class="comment">// Texture manager</span>
30401016         <span class="comment">// A concrete class of this will be created and</span>
30501017         <span class="comment">// made available under the TextureManager singleton,</span>
30601018         <span class="comment">// managed by the RenderSystem</span>
307<a name="l01019"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp3">01019</a>         <a class="code" href="classOgre_1_1TextureManager.html">TextureManager</a>* mTextureManager;
30801020
309<a name="l01022"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp4">01022</a>         <a class="code" href="classOgre_1_1RenderSystemCapabilities.html">RenderSystemCapabilities</a>* mCapabilities;
31001023
31101024         <span class="comment">// Active viewport (dest for future rendering operations)</span>
312<a name="l01025"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp5">01025</a>         <a class="code" href="classOgre_1_1Viewport.html">Viewport</a>* mActiveViewport;
31301026
314<a name="l01027"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp6">01027</a>         <a class="code" href="namespaceOgre.html#a643">CullingMode</a> mCullingMode;
31501028
316<a name="l01029"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp7">01029</a>         <span class="keywordtype">bool</span> mVSync;
317<a name="l01030"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp8">01030</a>         <span class="keywordtype">bool</span> mWBuffer;
31801031
319<a name="l01032"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp9">01032</a>         size_t mFaceCount;
320<a name="l01033"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp10">01033</a>         size_t mVertexCount;
32101034
322<a name="l01036"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp11">01036</a>         <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a> mWorldMatrices[256];
32301037
324<a name="l01039"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp12">01039</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];
32501040
326<a name="l01041"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp13">01041</a>         <span class="keywordtype">bool</span> mInvertVertexWinding;
32701042
328<a name="l01044"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp14">01044</a>         <a class="code" href="namespaceOgre.html#a535">StringVector</a> mEventNames;
32901045
33001047         <span class="keyword">virtual</span> <span class="keywordtype">void</span> fireEvent(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a62">NameValuePairList</a>* <a class="code" href="OgreGLPrerequisites_8h.html#a74">params</a> = 0);
33101048
332<a name="l01049"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx0">01049</a>         <span class="keyword">typedef</span> std::list&lt;Listener*&gt; <a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx0">ListenerList</a>;
333<a name="l01050"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp15">01050</a>         <a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx0">ListenerList</a> mEventListeners;
33401051
335<a name="l01052"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx1">01052</a>         <span class="keyword">typedef</span> std::list&lt;HardwareOcclusionQuery*&gt; <a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx1">HardwareOcclusionQueryList</a>;
336<a name="l01053"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp16">01053</a>         <a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemx1">HardwareOcclusionQueryList</a> mHwOcclusionQueries;
33701054
33801055
33901056     };
34001057 }
34101058
34201059 <span class="preprocessor">#endif</span>
343</pre></div><hr>
344<p>
345Copyright &copy; 2000-2005 by The OGRE Team<br />
346<!--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/>
347This 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/>
348                <!--/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#">
349                <Work rdf:about="">
350                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
351        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
352                </Work>
353                <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> -->
354
355Last modified Sun Feb 12 12:59:51 2006
356</p>
357</body>
358</html>
Note: See TracBrowser for help on using the repository browser.