Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > media > contrib > by-pkgid > 04e5d8c10ae76748689b4e7f48e0fa33 > files > 758

libogre5-devel-1.0.0-1mdk.i586.rpm

<html>
<head>
<title>OgreRenderSystem.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<link type="text/css" rel="stylesheet" href="style.css">
</head>

<body>
<!-- Generated by Doxygen 1.3.6 -->
<div class="qindex"><a class="qindex" href="index.html">Main&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>
<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>
00002 <span class="comment">-----------------------------------------------------------------------------</span>
00003 <span class="comment">This source file is part of OGRE</span>
00004 <span class="comment">    (Object-oriented Graphics Rendering Engine)</span>
00005 <span class="comment">For the latest info, see http://ogre.sourceforge.net/</span>
00006 <span class="comment"></span>
00007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span>
00008 <span class="comment">Also see acknowledgements in Readme.html</span>
00009 <span class="comment"></span>
00010 <span class="comment">This program is free software; you can redistribute it and/or modify it under</span>
00011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software</span>
00012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later</span>
00013 <span class="comment">version.</span>
00014 <span class="comment"></span>
00015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT</span>
00016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span>
00017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span>
00018 <span class="comment"></span>
00019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with</span>
00020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple</span>
00021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to</span>
00022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span>
00023 <span class="comment">-----------------------------------------------------------------------------</span>
00024 <span class="comment">*/</span>
00025 <span class="preprocessor">#ifndef __RenderSystem_H_</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define __RenderSystem_H_</span>
00027 <span class="preprocessor"></span>
00028 <span class="comment">// Precompiler options</span>
00029 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span>
00030 
00031 <span class="preprocessor">#include "<a class="code" href="OgreString_8h.html">OgreString.h</a>"</span>
00032 
00033 <span class="preprocessor">#include "<a class="code" href="OgreTextureUnitState_8h.html">OgreTextureUnitState.h</a>"</span>
00034 <span class="preprocessor">#include "<a class="code" href="OgreCommon_8h.html">OgreCommon.h</a>"</span>
00035 
00036 <span class="preprocessor">#include "<a class="code" href="OgreRenderOperation_8h.html">OgreRenderOperation.h</a>"</span>
00037 <span class="preprocessor">#include "<a class="code" href="OgreRenderSystemCapabilities_8h.html">OgreRenderSystemCapabilities.h</a>"</span>
00038 <span class="preprocessor">#include "<a class="code" href="OgreRenderTarget_8h.html">OgreRenderTarget.h</a>"</span>
00039 <span class="preprocessor">#include "<a class="code" href="OgreRenderTexture_8h.html">OgreRenderTexture.h</a>"</span>
00040 <span class="preprocessor">#include "<a class="code" href="OgreFrameListener_8h.html">OgreFrameListener.h</a>"</span>
00041 <span class="preprocessor">#include "<a class="code" href="OgreConfigOptionMap_8h.html">OgreConfigOptionMap.h</a>"</span>
00042 <span class="preprocessor">#include "<a class="code" href="OgreGpuProgram_8h.html">OgreGpuProgram.h</a>"</span>
00043 <span class="preprocessor">#include "<a class="code" href="OgrePlane_8h.html">OgrePlane.h</a>"</span>
00044 
00045 <span class="keyword">namespace </span>Ogre
00046 {
<a name="l00047"></a><a class="code" href="namespaceOgre.html#a442">00047</a>     <span class="keyword">typedef</span> std::map&lt; String, RenderTarget * &gt; <a class="code" href="namespaceOgre.html#a442">RenderTargetMap</a>;
<a name="l00048"></a><a class="code" href="namespaceOgre.html#a443">00048</a>     <span class="keyword">typedef</span> std::multimap&lt;uchar, RenderTarget * &gt; <a class="code" href="namespaceOgre.html#a443">RenderTargetPriorityMap</a>;
00049 
00050     <span class="keyword">class </span><a class="code" href="classOgre_1_1TextureManager.html">TextureManager</a>;
<a name="l00052"></a><a class="code" href="namespaceOgre.html#a669">00052</a>     <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a669">TexCoordCalcMethod</a>
00053     {
00055         <a class="code" href="namespaceOgre.html#a669a444">TEXCALC_NONE</a>,
00057         <a class="code" href="namespaceOgre.html#a669a445">TEXCALC_ENVIRONMENT_MAP</a>,
00059         <a class="code" href="namespaceOgre.html#a669a446">TEXCALC_ENVIRONMENT_MAP_PLANAR</a>,
00060         <a class="code" href="namespaceOgre.html#a669a447">TEXCALC_ENVIRONMENT_MAP_REFLECTION</a>,
00061         <a class="code" href="namespaceOgre.html#a669a448">TEXCALC_ENVIRONMENT_MAP_NORMAL</a>,
00063         <a class="code" href="namespaceOgre.html#a669a449">TEXCALC_PROJECTIVE_TEXTURE</a>
00064     };
<a name="l00066"></a><a class="code" href="namespaceOgre.html#a670">00066</a>     <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a670">StencilOperation</a>
00067     {
00069         <a class="code" href="namespaceOgre.html#a670a450">SOP_KEEP</a>,
00071         <a class="code" href="namespaceOgre.html#a670a451">SOP_ZERO</a>,
00073         <a class="code" href="namespaceOgre.html#a670a452">SOP_REPLACE</a>,
00075         <a class="code" href="namespaceOgre.html#a670a453">SOP_INCREMENT</a>,
00077         <a class="code" href="namespaceOgre.html#a670a454">SOP_DECREMENT</a>,
00079         <a class="code" href="namespaceOgre.html#a670a455">SOP_INCREMENT_WRAP</a>,
00081         <a class="code" href="namespaceOgre.html#a670a456">SOP_DECREMENT_WRAP</a>,
00083         <a class="code" href="namespaceOgre.html#a670a457">SOP_INVERT</a>
00084     };
00085 
<a name="l00087"></a><a class="code" href="namespaceOgre.html#a671">00087</a>     <span class="keyword">enum</span> <a class="code" href="namespaceOgre.html#a671">FrameBufferType</a> {
00088         <a class="code" href="namespaceOgre.html#a671a458">FBT_COLOUR</a>  = 0x1,
00089         <a class="code" href="namespaceOgre.html#a671a459">FBT_DEPTH</a>   = 0x2,
00090         <a class="code" href="namespaceOgre.html#a671a460">FBT_STENCIL</a> = 0x4
00091     };
00092     
<a name="l00116"></a><a class="code" href="classOgre_1_1RenderSystem.html">00116</a>     <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a13">_OgreExport</a> RenderSystem
00117     {
00118     <span class="keyword">public</span>:
00121         RenderSystem();
00122 
00125         <span class="keyword">virtual</span> ~RenderSystem();
00126 
00129         <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;
00130 
00152         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a114">ConfigOptionMap</a>&amp; getConfigOptions(<span class="keywordtype">void</span>) = 0;
00153 
00173         <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;
00174 
00179         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a426">String</a> validateConfigOptions(<span class="keywordtype">void</span>) = 0;
00180 
00197         <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>);
00198 
00201         <span class="keyword">virtual</span> <span class="keywordtype">void</span> reinitialise(<span class="keywordtype">void</span>) = 0;
00202 
00205         <span class="keyword">virtual</span> <span class="keywordtype">void</span> shutdown(<span class="keywordtype">void</span>);
00206 
00207 
00210         <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;
00211 
00214         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadingType(<a class="code" href="namespaceOgre.html#a640">ShadeOptions</a> so) = 0;
00215 
00221         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLightingEnabled(<span class="keywordtype">bool</span> enabled) = 0;
00222 
00229         <span class="keywordtype">void</span> setWBufferEnabled(<span class="keywordtype">bool</span> enabled);
00230 
00233         <span class="keywordtype">bool</span> getWBufferEnabled(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00234 
00319         <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, 
00320             <span class="keywordtype">bool</span> fullScreen, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a62">NameValuePairList</a> *miscParams = 0) = 0;
00321 
00356         <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,
00357             <a class="code" href="namespaceOgre.html#a680">TextureType</a> texType = <a class="code" href="namespaceOgre.html#a680a546">TEX_TYPE_2D</a>, <a class="code" href="namespaceOgre.html#a666">PixelFormat</a> internalFormat = <a class="code" href="namespaceOgre.html#a666a382">PF_X8R8G8B8</a>, 
00358             <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a62">NameValuePairList</a> *miscParams = 0 ) = 0; 
00359 
00361         <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);
00363         <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);
00365         <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);
00366 
00369         <span class="keyword">virtual</span> <span class="keywordtype">void</span> attachRenderTarget( <a class="code" href="classOgre_1_1RenderTarget.html">RenderTarget</a> &amp;target );
00373         <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 );
00379         <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 );
00380 
00383         <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;
00384 
00398         <span class="keywordtype">void</span> setWaitForVerticalBlank(<span class="keywordtype">bool</span> enabled);
00399 
00402         <span class="keywordtype">bool</span> getWaitForVerticalBlank(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00403 
00404         <span class="comment">// ------------------------------------------------------------------------</span>
00405         <span class="comment">//                     Internal Rendering Access</span>
00406         <span class="comment">// All methods below here are normally only called by other OGRE classes</span>
00407         <span class="comment">// They can be called by library user if required</span>
00408         <span class="comment">// ------------------------------------------------------------------------</span>
00409 
00410 
00414         <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;
00416         <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;
00418         <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);
00420         <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;
00422         <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;
00428         <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);
00430         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _disableTextureUnit(size_t texUnit);
00432         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _disableTextureUnitsFrom(size_t texUnit);
00466         <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,
00467             <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,
00468             <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,
00469             <a class="code" href="namespaceOgre.html#a58">TrackVertexColourType</a> tracking = <a class="code" href="namespaceOgre.html#a647a107">TVC_NONE</a>) = 0;
00486         <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;
00487 
00497         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureCoordSet(size_t unit, size_t index) = 0;
00498 
00506         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureCoordCalculation(size_t unit, <a class="code" href="namespaceOgre.html#a669">TexCoordCalcMethod</a> m, 
00507             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Frustum.html">Frustum</a>* frustum = 0) = 0;
00508 
00515         <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;
00516 
00523         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureUnitFiltering(size_t unit, <a class="code" href="namespaceOgre.html#a639">FilterOptions</a> minFilter,
00524             <a class="code" href="namespaceOgre.html#a639">FilterOptions</a> magFilter, <a class="code" href="namespaceOgre.html#a639">FilterOptions</a> mipFilter);
00525 
00531         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureUnitFiltering(size_t unit, <a class="code" href="namespaceOgre.html#a638">FilterType</a> ftype, <a class="code" href="namespaceOgre.html#a639">FilterOptions</a> filter) = 0;
00532 
00534         <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;
00535 
00537         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setTextureAddressingMode(size_t unit, TextureUnitState::TextureAddressingMode tam) = 0;
00538 
00543         <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;
00544 
00553         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setSceneBlending(<a class="code" href="namespaceOgre.html#a635">SceneBlendFactor</a> sourceFactor, <a class="code" href="namespaceOgre.html#a635">SceneBlendFactor</a> destFactor) = 0;
00554 
00560         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setAlphaRejectSettings(<a class="code" href="namespaceOgre.html#a636">CompareFunction</a> func, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> value) = 0;
00565         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _beginFrame(<span class="keywordtype">void</span>) = 0;
00566 
00567 
00571         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _endFrame(<span class="keywordtype">void</span>) = 0;
00579         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setViewport(<a class="code" href="classOgre_1_1Viewport.html">Viewport</a> *vp) = 0;
00581         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Viewport.html">Viewport</a>* _getViewport(<span class="keywordtype">void</span>);
00582 
00594         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setCullingMode(<a class="code" href="namespaceOgre.html#a642">CullingMode</a> mode) = 0;
00595 
00596         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a642">CullingMode</a> _getCullingMode(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00597 
00611         <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>, <a class="code" href="namespaceOgre.html#a636">CompareFunction</a> depthFunction = <a class="code" href="namespaceOgre.html#a636a66">CMPF_LESS_EQUAL</a>) = 0;
00612 
00617         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBufferCheckEnabled(<span class="keywordtype">bool</span> enabled = <span class="keyword">true</span>) = 0;
00622         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBufferWriteEnabled(<span class="keywordtype">bool</span> enabled = <span class="keyword">true</span>) = 0;
00630         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBufferFunction(<a class="code" href="namespaceOgre.html#a636">CompareFunction</a> func = <a class="code" href="namespaceOgre.html#a636a66">CMPF_LESS_EQUAL</a>) = 0;
00638         <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;
00651         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDepthBias(<a class="code" href="namespaceOgre.html#a422">ushort</a> bias) = 0;
00663         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setFog(<a class="code" href="namespaceOgre.html#a641">FogMode</a> mode = <a class="code" href="namespaceOgre.html#a641a85">FOG_NONE</a>, <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;
00664 
00665 
00667         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _beginGeometryCount(<span class="keywordtype">void</span>);
00669         <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>;
00671         <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>;
00672 
00681         <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;
00682 
00689         <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, 
00690             <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; dest, <span class="keywordtype">bool</span> forGpuProgram = <span class="keyword">false</span>) = 0;
00691 
00698         <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, 
00699             <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;
00706         <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, 
00707             <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>&amp; dest, <span class="keywordtype">bool</span> forGpuProgram = <span class="keyword">false</span>) = 0;
00708 
00725         <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, 
00726             <span class="keywordtype">bool</span> forGpuProgram) = 0;
00727         
00729         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setRasterisationMode(<a class="code" href="namespaceOgre.html#a645">SceneDetailLevel</a> level) = 0;
00730 
00737         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStencilCheckEnabled(<span class="keywordtype">bool</span> enabled) = 0;
00753         <span class="comment">/*virtual bool hasHardwareStencil(void) = 0;*/</span>
00754 
00790         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStencilBufferParams(<a class="code" href="namespaceOgre.html#a636">CompareFunction</a> func = <a class="code" href="namespaceOgre.html#a636a64">CMPF_ALWAYS_PASS</a>, 
00791             <a class="code" href="namespaceOgre.html#a412">uint32</a> refValue = 0, <a class="code" href="namespaceOgre.html#a412">uint32</a> mask = 0xFFFFFFFF, 
00792             <a class="code" href="namespaceOgre.html#a670">StencilOperation</a> stencilFailOp = <a class="code" href="namespaceOgre.html#a670a450">SOP_KEEP</a>, 
00793             <a class="code" href="namespaceOgre.html#a670">StencilOperation</a> depthFailOp = <a class="code" href="namespaceOgre.html#a670a450">SOP_KEEP</a>,
00794             <a class="code" href="namespaceOgre.html#a670">StencilOperation</a> passOp = <a class="code" href="namespaceOgre.html#a670a450">SOP_KEEP</a>, 
00795             <span class="keywordtype">bool</span> twoSidedOperation = <span class="keyword">false</span>) = 0;
00796 
00797 
00798 
00800         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setVertexDeclaration(<a class="code" href="classOgre_1_1VertexDeclaration.html">VertexDeclaration</a>* decl) = 0;
00802         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setVertexBufferBinding(<a class="code" href="classOgre_1_1VertexBufferBinding.html">VertexBufferBinding</a>* binding) = 0;
00803 
00814         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setNormaliseNormals(<span class="keywordtype">bool</span> normalise) = 0;
00815 
00828         <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);
00829 
<a name="l00831"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystema73">00831</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; }
00832 
00837         <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindGpuProgram(<a class="code" href="classOgre_1_1GpuProgram.html">GpuProgram</a>* prg) = 0;
00838 
00840         <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#a72">params</a>) = 0;
00845         <span class="keyword">virtual</span> <span class="keywordtype">void</span> unbindGpuProgram(GpuProgramType gptype) = 0;
00846 
00849         <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;
00850 
00852         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _initRenderTargets(<span class="keywordtype">void</span>);
00853 
00857         <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);
00858 
00860         <span class="keyword">virtual</span> <span class="keywordtype">void</span> _updateAllRenderTargets(<span class="keywordtype">void</span>);
00861 
00863         <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);
00865         <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;
00867         <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;
00868 
00871         <span class="keyword">virtual</span> <span class="keywordtype">void</span> setInvertVertexWinding(<span class="keywordtype">bool</span> invert);
00883         <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, 
00884             size_t right = 800, size_t bottom = 600) = 0;
00885 
00893         <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearFrameBuffer(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> buffers, 
00894             <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>&amp; colour = ColourValue::Black, 
00895             <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;
00905         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getHorizontalTexelOffset(<span class="keywordtype">void</span>) = 0;
00915         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getVerticalTexelOffset(<span class="keywordtype">void</span>) = 0;
00916 
00925         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getMinimumDepthInputValue(<span class="keywordtype">void</span>) = 0;
00934         <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getMaximumDepthInputValue(<span class="keywordtype">void</span>) = 0;
00935     <span class="keyword">protected</span>:
00936 
00937 
<a name="l00939"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp0">00939</a>         <a class="code" href="namespaceOgre.html#a442">RenderTargetMap</a> mRenderTargets;
<a name="l00941"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp1">00941</a>         <a class="code" href="namespaceOgre.html#a443">RenderTargetPriorityMap</a> mPrioritisedRenderTargets;
<a name="l00943"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp2">00943</a>         <a class="code" href="classOgre_1_1RenderTarget.html">RenderTarget</a> * mActiveRenderTarget;
00944 
00945         <span class="comment">// Texture manager</span>
00946         <span class="comment">// A concrete class of this will be created and</span>
00947         <span class="comment">// made available under the TextureManager singleton,</span>
00948         <span class="comment">// managed by the RenderSystem</span>
<a name="l00949"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp3">00949</a>         <a class="code" href="classOgre_1_1TextureManager.html">TextureManager</a>* mTextureManager;
00950 
<a name="l00952"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp4">00952</a>         <a class="code" href="classOgre_1_1RenderSystemCapabilities.html">RenderSystemCapabilities</a>* mCapabilities;
00953 
00954         <span class="comment">// Active viewport (dest for future rendering operations)</span>
<a name="l00955"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp5">00955</a>         <a class="code" href="classOgre_1_1Viewport.html">Viewport</a>* mActiveViewport;
00956 
<a name="l00957"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp6">00957</a>         <a class="code" href="namespaceOgre.html#a642">CullingMode</a> mCullingMode;
00958 
<a name="l00959"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp7">00959</a>         <span class="keywordtype">bool</span> mVSync;
<a name="l00960"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp8">00960</a>         <span class="keywordtype">bool</span> mWBuffer;
00961 
<a name="l00962"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp9">00962</a>         size_t mFaceCount;
<a name="l00963"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp10">00963</a>         size_t mVertexCount;
00964 
<a name="l00966"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp11">00966</a>         <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a> mWorldMatrices[256];
00967 
<a name="l00968"></a><a class="code" href="classOgre_1_1RenderSystem.html#Ogre_1_1RenderSystemp12">00968</a>         <span class="keywordtype">bool</span> mInvertVertexWinding;
00969 
00970     };
00971 }
00972 
00973 <span class="preprocessor">#endif</span>
</pre></div><p>
Copyright &copy; 2000-2005 by The OGRE Team<br />
Last modified Wed Feb 23 00:19:12 2005
</p>
</body>
</html>