aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/doc/html/example013.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/doc/html/example013.html')
-rw-r--r--src/others/irrlicht-1.8.1/doc/html/example013.html279
1 files changed, 279 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/doc/html/example013.html b/src/others/irrlicht-1.8.1/doc/html/example013.html
new file mode 100644
index 0000000..e78e101
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/doc/html/example013.html
@@ -0,0 +1,279 @@
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>Irrlicht 3D Engine: Tutorial 13: Render To Texture</title>
6
7<link href="tabs.css" rel="stylesheet" type="text/css"/>
8<link href="doxygen.css" rel="stylesheet" type="text/css" />
9<link href="navtree.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="resize.js"></script>
12<script type="text/javascript" src="navtree.js"></script>
13<script type="text/javascript">
14 $(document).ready(initResizable);
15</script>
16<link href="search/search.css" rel="stylesheet" type="text/css"/>
17<script type="text/javascript" src="search/search.js"></script>
18<script type="text/javascript">
19 $(document).ready(function() { searchBox.OnSelectItem(0); });
20</script>
21
22</head>
23<body>
24<div id="top"><!-- do not remove this div! -->
25
26
27<div id="titlearea">
28<table cellspacing="0" cellpadding="0">
29 <tbody>
30 <tr style="height: 56px;">
31
32 <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
33
34
35 <td style="padding-left: 0.5em;">
36 <div id="projectname">Irrlicht 3D Engine
37
38 </div>
39
40 </td>
41
42
43
44
45 <td> <div id="MSearchBox" class="MSearchBoxInactive">
46 <span class="left">
47 <img id="MSearchSelect" src="search/mag_sel.png"
48 onmouseover="return searchBox.OnSearchSelectShow()"
49 onmouseout="return searchBox.OnSearchSelectHide()"
50 alt=""/>
51 <input type="text" id="MSearchField" value="Search" accesskey="S"
52 onfocus="searchBox.OnSearchFieldFocus(true)"
53 onblur="searchBox.OnSearchFieldFocus(false)"
54 onkeyup="searchBox.OnSearchFieldChange(event)"/>
55 </span><span class="right">
56 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57 </span>
58 </div>
59</td>
60
61
62 </tr>
63 </tbody>
64</table>
65</div>
66
67<!-- Generated by Doxygen 1.7.5.1 -->
68<script type="text/javascript">
69var searchBox = new SearchBox("searchBox", "search",false,'Search');
70</script>
71<script type="text/javascript" src="dynsections.js"></script>
72</div>
73<div id="side-nav" class="ui-resizable side-nav-resizable">
74 <div id="nav-tree">
75 <div id="nav-tree-contents">
76 </div>
77 </div>
78 <div id="splitbar" style="-moz-user-select:none;"
79 class="ui-resizable-handle">
80 </div>
81</div>
82<script type="text/javascript">
83 initNavTree('example013.html','');
84</script>
85<div id="doc-content">
86<div class="header">
87 <div class="headertitle">
88<div class="title">Tutorial 13: Render To Texture </div> </div>
89</div>
90<div class="contents">
91<div class="textblock"><div class="image">
92<img src="013shot.jpg" alt="013shot.jpg"/>
93</div>
94 <p>This tutorial shows how to render to a texture using Irrlicht. Render to texture is a feature with which it is possible to create nice special effects. In addition, this tutorial shows how to enable specular highlights.</p>
95<p>In the beginning, everything as usual. Include the needed headers, ask the user for the rendering driver, create the Irrlicht Device: </p>
96<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;<a class="code" href="irrlicht_8h.html" title="Main header file of the irrlicht, the only file needed to include.">irrlicht.h</a>&gt;</span>
97<span class="preprocessor">#include &quot;<a class="code" href="driver_choice_8h.html">driverChoice.h</a>&quot;</span>
98
99<span class="keyword">using namespace </span>irr;
100
101<span class="preprocessor">#ifdef _MSC_VER</span>
102<span class="preprocessor"></span><span class="preprocessor">#pragma comment(lib, &quot;Irrlicht.lib&quot;)</span>
103<span class="preprocessor"></span><span class="preprocessor">#endif</span>
104<span class="preprocessor"></span>
105<span class="keywordtype">int</span> main()
106{
107 <span class="comment">// ask user for driver</span>
108 <a class="code" href="namespaceirr_1_1video.html#ae35a6de6d436c76107ad157fe42356d0" title="An enum for all types of drivers the Irrlicht Engine supports.">video::E_DRIVER_TYPE</a> driverType=driverChoiceConsole();
109 <span class="keywordflow">if</span> (driverType==<a class="code" href="namespaceirr_1_1video.html#ae35a6de6d436c76107ad157fe42356d0ae685cada50f8c100403134d932d0414c" title="No driver, just for counting the elements.">video::EDT_COUNT</a>)
110 <span class="keywordflow">return</span> 1;
111
112 <span class="comment">// create device and exit if creation failed</span>
113
114 <a class="code" href="classirr_1_1_irrlicht_device.html" title="The Irrlicht device. You can create it with createDevice() or createDeviceEx().">IrrlichtDevice</a> *device =
115 <a class="code" href="namespaceirr.html#abaf4d8719cc26b0d30813abf85e47c76" title="Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.">createDevice</a>(driverType, <a class="code" href="classirr_1_1core_1_1dimension2d.html">core::dimension2d&lt;u32&gt;</a>(640, 480),
116 16, <span class="keyword">false</span>, <span class="keyword">false</span>);
117
118 <span class="keywordflow">if</span> (device == 0)
119 <span class="keywordflow">return</span> 1; <span class="comment">// could not create selected driver.</span>
120
121 <a class="code" href="classirr_1_1video_1_1_i_video_driver.html" title="Interface to driver which is able to perform 2d and 3d graphics functions.">video::IVideoDriver</a>* driver = device-&gt;<a class="code" href="classirr_1_1_irrlicht_device.html#ada90707ba5c645d47e000e4e0f87c4c4" title="Provides access to the video driver for drawing 3d and 2d geometry.">getVideoDriver</a>();
122 <a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html" title="The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.">scene::ISceneManager</a>* smgr = device-&gt;<a class="code" href="classirr_1_1_irrlicht_device.html#a891b503ff4d5041296d88f23f97d7b3d" title="Provides access to the scene manager.">getSceneManager</a>();
123 <a class="code" href="classirr_1_1gui_1_1_i_g_u_i_environment.html" title="GUI Environment. Used as factory and manager of all other GUI elements.">gui::IGUIEnvironment</a>* env = device-&gt;<a class="code" href="classirr_1_1_irrlicht_device.html#af7491b8c5ef4f71360f30fbad90ae35c" title="Provides access to the 2d user interface environment.">getGUIEnvironment</a>();
124</pre></div><p>Now, we load an animated mesh to be displayed. As in most examples, we'll take the fairy md2 model. The difference here: We set the shininess of the model to a value other than 0 which is the default value. This enables specular highlights on the model if dynamic lighting is on. The value influences the size of the highlights. </p>
125<div class="fragment"><pre class="fragment"> <span class="comment">// load and display animated fairy mesh</span>
126
127 scene::IAnimatedMeshSceneNode* fairy = smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#a8e2e0cd3a27e85b4116855dd2f3365b8" title="Adds a scene node for rendering an animated mesh model.">addAnimatedMeshSceneNode</a>(
128 smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#a63894c3f3d46cfc385116f1705935e03" title="Get pointer to an animateable mesh. Loads the file if not loaded already.">getMesh</a>(<span class="stringliteral">&quot;../../media/faerie.md2&quot;</span>));
129
130 <span class="keywordflow">if</span> (fairy)
131 {
132 fairy-&gt;setMaterialTexture(0,
133 driver-&gt;<a class="code" href="classirr_1_1video_1_1_i_video_driver.html#af4055165190e4adf221c6dc6f2434ea0" title="Get access to a named texture.">getTexture</a>(<span class="stringliteral">&quot;../../media/faerie2.bmp&quot;</span>)); <span class="comment">// set diffuse texture</span>
134 fairy-&gt;setMaterialFlag(<a class="code" href="namespaceirr_1_1video.html#a8a3bc00ae8137535b9fbc5f40add70d3acea597a2692b8415486a464a7f954d34" title="Will this material be lighted? Default: true.">video::EMF_LIGHTING</a>, <span class="keyword">true</span>); <span class="comment">// enable dynamic lighting</span>
135 fairy-&gt;getMaterial(0).Shininess = 20.0f; <span class="comment">// set size of specular highlights</span>
136 fairy-&gt;setPosition(<a class="code" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811" title="Typedef for a f32 3d vector.">core::vector3df</a>(-10,0,-100));
137 fairy-&gt;setMD2Animation ( <a class="code" href="namespaceirr_1_1scene.html#a08d4a84966e1d2886d0d57e4acbb4f19a35893ae58423c41dace23ad13e262e2c">scene::EMAT_STAND</a> );
138 }
139</pre></div><p>To make specular highlights appear on the model, we need a dynamic light in the scene. We add one directly in vicinity of the model. In addition, to make the model not that dark, we set the ambient light to gray. </p>
140<div class="fragment"><pre class="fragment"> <span class="comment">// add white light</span>
141 smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#a2e6442f8c95a544c355bd137ccdb7095" title="Adds a dynamic light scene node to the scene graph.">addLightSceneNode</a>(0, <a class="code" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811" title="Typedef for a f32 3d vector.">core::vector3df</a>(-15,5,-105),
142 video::SColorf(1.0f, 1.0f, 1.0f));
143
144 <span class="comment">// set ambient light</span>
145 smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#a8a424accb615c4f60fde59f55033a816" title="Sets ambient color of the scene.">setAmbientLight</a>(video::SColor(0,60,60,60));
146</pre></div><p>The next is just some standard stuff: Add a test cube and let it rotate to make the scene more interesting. The user defined camera and cursor setup is made later on, right before the render loop. </p>
147<div class="fragment"><pre class="fragment"> <span class="comment">// create test cube</span>
148 scene::ISceneNode* test = smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#a23d1328c68b1585f613108f386fabc1c" title="Adds a cube scene node.">addCubeSceneNode</a>(60);
149
150 <span class="comment">// let the cube rotate and set some light settings</span>
151 scene::ISceneNodeAnimator* anim = smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#a29efe9505de4e5dc2218283ef0c2a64d" title="Creates a rotation animator, which rotates the attached scene node around itself.">createRotationAnimator</a>(
152 <a class="code" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811" title="Typedef for a f32 3d vector.">core::vector3df</a>(0.3f, 0.3f,0));
153
154 test-&gt;setPosition(<a class="code" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811" title="Typedef for a f32 3d vector.">core::vector3df</a>(-100,0,-100));
155 test-&gt;setMaterialFlag(<a class="code" href="namespaceirr_1_1video.html#a8a3bc00ae8137535b9fbc5f40add70d3acea597a2692b8415486a464a7f954d34" title="Will this material be lighted? Default: true.">video::EMF_LIGHTING</a>, <span class="keyword">false</span>); <span class="comment">// disable dynamic lighting</span>
156 test-&gt;addAnimator(anim);
157 anim-&gt;drop();
158
159 <span class="comment">// set window caption</span>
160 device-&gt;<a class="code" href="classirr_1_1_irrlicht_device.html#a3d7c98d520bf18ce1973c6f1439a7c0f" title="Sets the caption of the window.">setWindowCaption</a>(L<span class="stringliteral">&quot;Irrlicht Engine - Render to Texture and Specular Highlights example&quot;</span>);
161</pre></div><p>To test out the render to texture feature, we need a render target texture. These are not like standard textures, but need to be created first. To create one, we call IVideoDriver::addRenderTargetTexture() and specify the size of the texture. Please don't use sizes bigger than the frame buffer for this, because the render target shares the zbuffer with the frame buffer. Because we want to render the scene not from the user camera into the texture, we add another fixed camera to the scene. But before we do all this, we check if the current running driver is able to render to textures. If it is not, we simply display a warning text. </p>
162<div class="fragment"><pre class="fragment"> <span class="comment">// create render target</span>
163 video::ITexture* rt = 0;
164 scene::ICameraSceneNode* fixedCam = 0;
165
166
167 <span class="keywordflow">if</span> (driver-&gt;<a class="code" href="classirr_1_1video_1_1_i_video_driver.html#adde468368b77441ada246e1603da4f47" title="Queries the features of the driver.">queryFeature</a>(<a class="code" href="namespaceirr_1_1video.html#a57b1721e42a79c5dcf8e830e3621e08fa331e98faf8143ec5d7625255531ad47d" title="Is driver able to render to a surface?">video::EVDF_RENDER_TO_TARGET</a>))
168 {
169 rt = driver-&gt;<a class="code" href="classirr_1_1video_1_1_i_video_driver.html#aa704cece826ee37d02e4bb054b0b8797" title="Adds a new render target texture to the texture cache.">addRenderTargetTexture</a>(core::dimension2d&lt;u32&gt;(256,256), <span class="stringliteral">&quot;RTT1&quot;</span>);
170 test-&gt;setMaterialTexture(0, rt); <span class="comment">// set material of cube to render target</span>
171
172 <span class="comment">// add fixed camera</span>
173 fixedCam = smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#afc3733849319078d5d22d94f58c7d1f2" title="Adds a camera scene node to the scene graph and sets it as active camera.">addCameraSceneNode</a>(0, <a class="code" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811" title="Typedef for a f32 3d vector.">core::vector3df</a>(10,10,-80),
174 <a class="code" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811" title="Typedef for a f32 3d vector.">core::vector3df</a>(-10,10,-100));
175 }
176 <span class="keywordflow">else</span>
177 {
178 <span class="comment">// create problem text</span>
179 gui::IGUISkin* skin = env-&gt;<a class="code" href="classirr_1_1gui_1_1_i_g_u_i_environment.html#a54ce9072ea7b89cdaea65306e93ba90c" title="Returns pointer to the current gui skin.">getSkin</a>();
180 gui::IGUIFont* font = env-&gt;<a class="code" href="classirr_1_1gui_1_1_i_g_u_i_environment.html#a22074f9a1a5a86d5d216126bbb90b3b1" title="Returns pointer to the font with the specified filename.">getFont</a>(<span class="stringliteral">&quot;../../media/fonthaettenschweiler.bmp&quot;</span>);
181 <span class="keywordflow">if</span> (font)
182 skin-&gt;setFont(font);
183
184 gui::IGUIStaticText* text = env-&gt;<a class="code" href="classirr_1_1gui_1_1_i_g_u_i_environment.html#adb56652b23932a391b08f710a9546ef3" title="Adds a static text.">addStaticText</a>(
185 L<span class="stringliteral">&quot;Your hardware or this renderer is not able to use the &quot;</span>\
186 L<span class="stringliteral">&quot;render to texture feature. RTT Disabled.&quot;</span>,
187 core::rect&lt;s32&gt;(150,20,470,60));
188
189 text-&gt;setOverrideColor(video::SColor(100,255,255,255));
190 }
191
192 <span class="comment">// add fps camera</span>
193 scene::ICameraSceneNode* fpsCamera = smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#ac312cbc85161678d00192880f2cdddbb" title="Adds a camera scene node with an animator which provides mouse and keyboard control appropriate for f...">addCameraSceneNodeFPS</a>();
194 fpsCamera-&gt;setPosition(<a class="code" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811" title="Typedef for a f32 3d vector.">core::vector3df</a>(-50,50,-150));
195
196 <span class="comment">// disable mouse cursor</span>
197 device-&gt;<a class="code" href="classirr_1_1_irrlicht_device.html#a500a3b7bf69487ff7e2075dd0b0db529" title="Provides access to the cursor control.">getCursorControl</a>()-&gt;setVisible(<span class="keyword">false</span>);
198</pre></div><p>Nearly finished. Now we need to draw everything. Every frame, we draw the scene twice. Once from the fixed camera into the render target texture and once as usual. When rendering into the render target, we need to disable the visibility of the test cube, because it has the render target texture applied to it. That's it, wasn't too complicated I hope. :) </p>
199<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> lastFPS = -1;
200
201 <span class="keywordflow">while</span>(device-&gt;<a class="code" href="classirr_1_1_irrlicht_device.html#a0489f8151dc43f6f41503ffb5a160b35" title="Runs the device.">run</a>())
202 <span class="keywordflow">if</span> (device-&gt;<a class="code" href="classirr_1_1_irrlicht_device.html#abd3c88336b739da2694883d5ffd25a70" title="Returns if the window is active.">isWindowActive</a>())
203 {
204 driver-&gt;<a class="code" href="classirr_1_1video_1_1_i_video_driver.html#a015b8f2f18c260a00a858181be1e9945" title="Applications must call this method before performing any rendering.">beginScene</a>(<span class="keyword">true</span>, <span class="keyword">true</span>, 0);
205
206 <span class="keywordflow">if</span> (rt)
207 {
208 <span class="comment">// draw scene into render target</span>
209
210 <span class="comment">// set render target texture</span>
211 driver-&gt;<a class="code" href="classirr_1_1video_1_1_i_video_driver.html#a8c38a8d8d6d49be53bda55eb0749e7eb" title="Sets a new render target.">setRenderTarget</a>(rt, <span class="keyword">true</span>, <span class="keyword">true</span>, video::SColor(0,0,0,255));
212
213 <span class="comment">// make cube invisible and set fixed camera as active camera</span>
214 test-&gt;setVisible(<span class="keyword">false</span>);
215 smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#a5d19b7a6803a0a021082fc2b86043b3d" title="Sets the currently active camera.">setActiveCamera</a>(fixedCam);
216
217 <span class="comment">// draw whole scene into render buffer</span>
218 smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#a04240262904667c821bd9de5e5fd9b02" title="Draws all the scene nodes.">drawAll</a>();
219
220 <span class="comment">// set back old render target</span>
221 <span class="comment">// The buffer might have been distorted, so clear it</span>
222 driver-&gt;<a class="code" href="classirr_1_1video_1_1_i_video_driver.html#a8c38a8d8d6d49be53bda55eb0749e7eb" title="Sets a new render target.">setRenderTarget</a>(0, <span class="keyword">true</span>, <span class="keyword">true</span>, 0);
223
224 <span class="comment">// make the cube visible and set the user controlled camera as active one</span>
225 test-&gt;setVisible(<span class="keyword">true</span>);
226 smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#a5d19b7a6803a0a021082fc2b86043b3d" title="Sets the currently active camera.">setActiveCamera</a>(fpsCamera);
227 }
228
229 <span class="comment">// draw scene normally</span>
230 smgr-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html#a04240262904667c821bd9de5e5fd9b02" title="Draws all the scene nodes.">drawAll</a>();
231 env-&gt;<a class="code" href="classirr_1_1gui_1_1_i_g_u_i_environment.html#aa6ba29bbf3121a5954cfa5a9ca72982f" title="Draws all gui elements by traversing the GUI environment starting at the root node.">drawAll</a>();
232
233 driver-&gt;<a class="code" href="classirr_1_1video_1_1_i_video_driver.html#a75f61a93c5fc9fdf161c044d27bc994e" title="Presents the rendered image to the screen.">endScene</a>();
234
235 <span class="comment">// display frames per second in window title</span>
236 <span class="keywordtype">int</span> fps = driver-&gt;<a class="code" href="classirr_1_1video_1_1_i_video_driver.html#a5b71428402c0b6a3b18b8f2fa408af13" title="Returns current frames per second value.">getFPS</a>();
237 <span class="keywordflow">if</span> (lastFPS != fps)
238 {
239 <a class="code" href="namespaceirr_1_1core.html#aef83fafbb1b36fcce44c07c9be23a7f2" title="Typedef for wide character strings.">core::stringw</a> str = L<span class="stringliteral">&quot;Irrlicht Engine - Render to Texture and Specular Highlights example&quot;</span>;
240 str += <span class="stringliteral">&quot; FPS:&quot;</span>;
241 str += fps;
242
243 device-&gt;<a class="code" href="classirr_1_1_irrlicht_device.html#a3d7c98d520bf18ce1973c6f1439a7c0f" title="Sets the caption of the window.">setWindowCaption</a>(str.c_str());
244 lastFPS = fps;
245 }
246 }
247
248 device-&gt;<a class="code" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">drop</a>(); <span class="comment">// drop device</span>
249 <span class="keywordflow">return</span> 0;
250}
251</pre></div> </div></div>
252</div>
253 <div id="nav-path" class="navpath">
254 <ul>
255<!-- window showing the filter options -->
256<div id="MSearchSelectWindow"
257 onmouseover="return searchBox.OnSearchSelectShow()"
258 onmouseout="return searchBox.OnSearchSelectHide()"
259 onkeydown="return searchBox.OnSearchSelectKey(event)">
260<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>
261
262<!-- iframe showing the search results (closed by default) -->
263<div id="MSearchResultsWindow">
264<iframe src="javascript:void(0)" frameborder="0"
265 name="MSearchResults" id="MSearchResults">
266</iframe>
267</div>
268
269
270 <li class="footer">
271<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht
272Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Sun Nov 17 2013 20:18:41 for Irrlicht 3D Engine by
273<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
274 </ul>
275 </div>
276
277
278</body>
279</html>