diff options
author | David Walter Seikel | 2013-01-13 18:54:10 +1000 |
---|---|---|
committer | David Walter Seikel | 2013-01-13 18:54:10 +1000 |
commit | 959831f4ef5a3e797f576c3de08cd65032c997ad (patch) | |
tree | e7351908be5995f0b325b2ebeaa02d5a34b82583 /libraries/irrlicht-1.8/include/irrlicht.h | |
parent | Add info about changes to Irrlicht. (diff) | |
download | SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.zip SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.gz SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.bz2 SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.xz |
Remove damned ancient DOS line endings from Irrlicht. Hopefully I did not go overboard.
Diffstat (limited to '')
-rw-r--r-- | libraries/irrlicht-1.8/include/irrlicht.h | 788 |
1 files changed, 394 insertions, 394 deletions
diff --git a/libraries/irrlicht-1.8/include/irrlicht.h b/libraries/irrlicht-1.8/include/irrlicht.h index 74783ce..184c896 100644 --- a/libraries/irrlicht-1.8/include/irrlicht.h +++ b/libraries/irrlicht-1.8/include/irrlicht.h | |||
@@ -1,394 +1,394 @@ | |||
1 | /* irrlicht.h -- interface of the 'Irrlicht Engine' | 1 | /* irrlicht.h -- interface of the 'Irrlicht Engine' |
2 | 2 | ||
3 | Copyright (C) 2002-2012 Nikolaus Gebhardt | 3 | Copyright (C) 2002-2012 Nikolaus Gebhardt |
4 | 4 | ||
5 | This software is provided 'as-is', without any express or implied | 5 | This software is provided 'as-is', without any express or implied |
6 | warranty. In no event will the authors be held liable for any damages | 6 | warranty. In no event will the authors be held liable for any damages |
7 | arising from the use of this software. | 7 | arising from the use of this software. |
8 | 8 | ||
9 | Permission is granted to anyone to use this software for any purpose, | 9 | Permission is granted to anyone to use this software for any purpose, |
10 | including commercial applications, and to alter it and redistribute it | 10 | including commercial applications, and to alter it and redistribute it |
11 | freely, subject to the following restrictions: | 11 | freely, subject to the following restrictions: |
12 | 12 | ||
13 | 1. The origin of this software must not be misrepresented; you must not | 13 | 1. The origin of this software must not be misrepresented; you must not |
14 | claim that you wrote the original software. If you use this software | 14 | claim that you wrote the original software. If you use this software |
15 | in a product, an acknowledgment in the product documentation would be | 15 | in a product, an acknowledgment in the product documentation would be |
16 | appreciated but is not required. | 16 | appreciated but is not required. |
17 | 2. Altered source versions must be plainly marked as such, and must not be | 17 | 2. Altered source versions must be plainly marked as such, and must not be |
18 | misrepresented as being the original software. | 18 | misrepresented as being the original software. |
19 | 3. This notice may not be removed or altered from any source distribution. | 19 | 3. This notice may not be removed or altered from any source distribution. |
20 | 20 | ||
21 | Please note that the Irrlicht Engine is based in part on the work of the | 21 | Please note that the Irrlicht Engine is based in part on the work of the |
22 | Independent JPEG Group, the zlib and the libPng. This means that if you use | 22 | Independent JPEG Group, the zlib and the libPng. This means that if you use |
23 | the Irrlicht Engine in your product, you must acknowledge somewhere in your | 23 | the Irrlicht Engine in your product, you must acknowledge somewhere in your |
24 | documentation that you've used the IJG code. It would also be nice to mention | 24 | documentation that you've used the IJG code. It would also be nice to mention |
25 | that you use the Irrlicht Engine, the zlib and libPng. See the README files | 25 | that you use the Irrlicht Engine, the zlib and libPng. See the README files |
26 | in the jpeglib, the zlib and libPng for further informations. | 26 | in the jpeglib, the zlib and libPng for further informations. |
27 | */ | 27 | */ |
28 | 28 | ||
29 | #ifndef __IRRLICHT_H_INCLUDED__ | 29 | #ifndef __IRRLICHT_H_INCLUDED__ |
30 | #define __IRRLICHT_H_INCLUDED__ | 30 | #define __IRRLICHT_H_INCLUDED__ |
31 | 31 | ||
32 | #include "IrrCompileConfig.h" | 32 | #include "IrrCompileConfig.h" |
33 | #include "aabbox3d.h" | 33 | #include "aabbox3d.h" |
34 | #include "CDynamicMeshBuffer.h" | 34 | #include "CDynamicMeshBuffer.h" |
35 | #include "CIndexBuffer.h" | 35 | #include "CIndexBuffer.h" |
36 | #include "CMeshBuffer.h" | 36 | #include "CMeshBuffer.h" |
37 | #include "coreutil.h" | 37 | #include "coreutil.h" |
38 | #include "CVertexBuffer.h" | 38 | #include "CVertexBuffer.h" |
39 | #include "dimension2d.h" | 39 | #include "dimension2d.h" |
40 | #include "ECullingTypes.h" | 40 | #include "ECullingTypes.h" |
41 | #include "EDebugSceneTypes.h" | 41 | #include "EDebugSceneTypes.h" |
42 | #include "EDriverFeatures.h" | 42 | #include "EDriverFeatures.h" |
43 | #include "EDriverTypes.h" | 43 | #include "EDriverTypes.h" |
44 | #include "EGUIAlignment.h" | 44 | #include "EGUIAlignment.h" |
45 | #include "EGUIElementTypes.h" | 45 | #include "EGUIElementTypes.h" |
46 | #include "EHardwareBufferFlags.h" | 46 | #include "EHardwareBufferFlags.h" |
47 | #include "EMaterialFlags.h" | 47 | #include "EMaterialFlags.h" |
48 | #include "EMaterialTypes.h" | 48 | #include "EMaterialTypes.h" |
49 | #include "EMeshWriterEnums.h" | 49 | #include "EMeshWriterEnums.h" |
50 | #include "EMessageBoxFlags.h" | 50 | #include "EMessageBoxFlags.h" |
51 | #include "ESceneNodeAnimatorTypes.h" | 51 | #include "ESceneNodeAnimatorTypes.h" |
52 | #include "ESceneNodeTypes.h" | 52 | #include "ESceneNodeTypes.h" |
53 | #include "ETerrainElements.h" | 53 | #include "ETerrainElements.h" |
54 | #include "fast_atof.h" | 54 | #include "fast_atof.h" |
55 | #include "heapsort.h" | 55 | #include "heapsort.h" |
56 | #include "IAnimatedMesh.h" | 56 | #include "IAnimatedMesh.h" |
57 | #include "IAnimatedMeshMD2.h" | 57 | #include "IAnimatedMeshMD2.h" |
58 | #include "IAnimatedMeshMD3.h" | 58 | #include "IAnimatedMeshMD3.h" |
59 | #include "IAnimatedMeshSceneNode.h" | 59 | #include "IAnimatedMeshSceneNode.h" |
60 | #include "IAttributeExchangingObject.h" | 60 | #include "IAttributeExchangingObject.h" |
61 | #include "IAttributes.h" | 61 | #include "IAttributes.h" |
62 | #include "IBillboardSceneNode.h" | 62 | #include "IBillboardSceneNode.h" |
63 | #include "IBillboardTextSceneNode.h" | 63 | #include "IBillboardTextSceneNode.h" |
64 | #include "IBoneSceneNode.h" | 64 | #include "IBoneSceneNode.h" |
65 | #include "ICameraSceneNode.h" | 65 | #include "ICameraSceneNode.h" |
66 | #include "ICursorControl.h" | 66 | #include "ICursorControl.h" |
67 | #include "IDummyTransformationSceneNode.h" | 67 | #include "IDummyTransformationSceneNode.h" |
68 | #include "IDynamicMeshBuffer.h" | 68 | #include "IDynamicMeshBuffer.h" |
69 | #include "IEventReceiver.h" | 69 | #include "IEventReceiver.h" |
70 | #include "IFileList.h" | 70 | #include "IFileList.h" |
71 | #include "IFileSystem.h" | 71 | #include "IFileSystem.h" |
72 | #include "IGeometryCreator.h" | 72 | #include "IGeometryCreator.h" |
73 | #include "IGPUProgrammingServices.h" | 73 | #include "IGPUProgrammingServices.h" |
74 | #include "IGUIButton.h" | 74 | #include "IGUIButton.h" |
75 | #include "IGUICheckBox.h" | 75 | #include "IGUICheckBox.h" |
76 | #include "IGUIColorSelectDialog.h" | 76 | #include "IGUIColorSelectDialog.h" |
77 | #include "IGUIComboBox.h" | 77 | #include "IGUIComboBox.h" |
78 | #include "IGUIContextMenu.h" | 78 | #include "IGUIContextMenu.h" |
79 | #include "IGUIEditBox.h" | 79 | #include "IGUIEditBox.h" |
80 | #include "IGUIElement.h" | 80 | #include "IGUIElement.h" |
81 | #include "IGUIElementFactory.h" | 81 | #include "IGUIElementFactory.h" |
82 | #include "IGUIEnvironment.h" | 82 | #include "IGUIEnvironment.h" |
83 | #include "IGUIFileOpenDialog.h" | 83 | #include "IGUIFileOpenDialog.h" |
84 | #include "IGUIFont.h" | 84 | #include "IGUIFont.h" |
85 | #include "IGUIFontBitmap.h" | 85 | #include "IGUIFontBitmap.h" |
86 | #include "IGUIImage.h" | 86 | #include "IGUIImage.h" |
87 | #include "IGUIInOutFader.h" | 87 | #include "IGUIInOutFader.h" |
88 | #include "IGUIListBox.h" | 88 | #include "IGUIListBox.h" |
89 | #include "IGUIMeshViewer.h" | 89 | #include "IGUIMeshViewer.h" |
90 | #include "IGUIScrollBar.h" | 90 | #include "IGUIScrollBar.h" |
91 | #include "IGUISkin.h" | 91 | #include "IGUISkin.h" |
92 | #include "IGUISpinBox.h" | 92 | #include "IGUISpinBox.h" |
93 | #include "IGUISpriteBank.h" | 93 | #include "IGUISpriteBank.h" |
94 | #include "IGUIStaticText.h" | 94 | #include "IGUIStaticText.h" |
95 | #include "IGUITabControl.h" | 95 | #include "IGUITabControl.h" |
96 | #include "IGUITable.h" | 96 | #include "IGUITable.h" |
97 | #include "IGUIToolbar.h" | 97 | #include "IGUIToolbar.h" |
98 | #include "IGUIWindow.h" | 98 | #include "IGUIWindow.h" |
99 | #include "IGUITreeView.h" | 99 | #include "IGUITreeView.h" |
100 | #include "IImage.h" | 100 | #include "IImage.h" |
101 | #include "IImageLoader.h" | 101 | #include "IImageLoader.h" |
102 | #include "IImageWriter.h" | 102 | #include "IImageWriter.h" |
103 | #include "IIndexBuffer.h" | 103 | #include "IIndexBuffer.h" |
104 | #include "ILightSceneNode.h" | 104 | #include "ILightSceneNode.h" |
105 | #include "ILogger.h" | 105 | #include "ILogger.h" |
106 | #include "IMaterialRenderer.h" | 106 | #include "IMaterialRenderer.h" |
107 | #include "IMaterialRendererServices.h" | 107 | #include "IMaterialRendererServices.h" |
108 | #include "IMesh.h" | 108 | #include "IMesh.h" |
109 | #include "IMeshBuffer.h" | 109 | #include "IMeshBuffer.h" |
110 | #include "IMeshCache.h" | 110 | #include "IMeshCache.h" |
111 | #include "IMeshLoader.h" | 111 | #include "IMeshLoader.h" |
112 | #include "IMeshManipulator.h" | 112 | #include "IMeshManipulator.h" |
113 | #include "IMeshSceneNode.h" | 113 | #include "IMeshSceneNode.h" |
114 | #include "IMeshWriter.h" | 114 | #include "IMeshWriter.h" |
115 | #include "IColladaMeshWriter.h" | 115 | #include "IColladaMeshWriter.h" |
116 | #include "IMetaTriangleSelector.h" | 116 | #include "IMetaTriangleSelector.h" |
117 | #include "IOSOperator.h" | 117 | #include "IOSOperator.h" |
118 | #include "IParticleSystemSceneNode.h" // also includes all emitters and attractors | 118 | #include "IParticleSystemSceneNode.h" // also includes all emitters and attractors |
119 | #include "IQ3LevelMesh.h" | 119 | #include "IQ3LevelMesh.h" |
120 | #include "IQ3Shader.h" | 120 | #include "IQ3Shader.h" |
121 | #include "IReadFile.h" | 121 | #include "IReadFile.h" |
122 | #include "IReferenceCounted.h" | 122 | #include "IReferenceCounted.h" |
123 | #include "irrArray.h" | 123 | #include "irrArray.h" |
124 | #include "IRandomizer.h" | 124 | #include "IRandomizer.h" |
125 | #include "IrrlichtDevice.h" | 125 | #include "IrrlichtDevice.h" |
126 | #include "irrList.h" | 126 | #include "irrList.h" |
127 | #include "irrMap.h" | 127 | #include "irrMap.h" |
128 | #include "irrMath.h" | 128 | #include "irrMath.h" |
129 | #include "irrString.h" | 129 | #include "irrString.h" |
130 | #include "irrTypes.h" | 130 | #include "irrTypes.h" |
131 | #include "path.h" | 131 | #include "path.h" |
132 | #include "irrXML.h" | 132 | #include "irrXML.h" |
133 | #include "ISceneCollisionManager.h" | 133 | #include "ISceneCollisionManager.h" |
134 | #include "ISceneLoader.h" | 134 | #include "ISceneLoader.h" |
135 | #include "ISceneManager.h" | 135 | #include "ISceneManager.h" |
136 | #include "ISceneNode.h" | 136 | #include "ISceneNode.h" |
137 | #include "ISceneNodeAnimator.h" | 137 | #include "ISceneNodeAnimator.h" |
138 | #include "ISceneNodeAnimatorCameraFPS.h" | 138 | #include "ISceneNodeAnimatorCameraFPS.h" |
139 | #include "ISceneNodeAnimatorCameraMaya.h" | 139 | #include "ISceneNodeAnimatorCameraMaya.h" |
140 | #include "ISceneNodeAnimatorCollisionResponse.h" | 140 | #include "ISceneNodeAnimatorCollisionResponse.h" |
141 | #include "ISceneNodeAnimatorFactory.h" | 141 | #include "ISceneNodeAnimatorFactory.h" |
142 | #include "ISceneNodeFactory.h" | 142 | #include "ISceneNodeFactory.h" |
143 | #include "ISceneUserDataSerializer.h" | 143 | #include "ISceneUserDataSerializer.h" |
144 | #include "IShaderConstantSetCallBack.h" | 144 | #include "IShaderConstantSetCallBack.h" |
145 | #include "IShadowVolumeSceneNode.h" | 145 | #include "IShadowVolumeSceneNode.h" |
146 | #include "ISkinnedMesh.h" | 146 | #include "ISkinnedMesh.h" |
147 | #include "ITerrainSceneNode.h" | 147 | #include "ITerrainSceneNode.h" |
148 | #include "ITextSceneNode.h" | 148 | #include "ITextSceneNode.h" |
149 | #include "ITexture.h" | 149 | #include "ITexture.h" |
150 | #include "ITimer.h" | 150 | #include "ITimer.h" |
151 | #include "ITriangleSelector.h" | 151 | #include "ITriangleSelector.h" |
152 | #include "IVertexBuffer.h" | 152 | #include "IVertexBuffer.h" |
153 | #include "IVideoDriver.h" | 153 | #include "IVideoDriver.h" |
154 | #include "IVideoModeList.h" | 154 | #include "IVideoModeList.h" |
155 | #include "IVolumeLightSceneNode.h" | 155 | #include "IVolumeLightSceneNode.h" |
156 | #include "IWriteFile.h" | 156 | #include "IWriteFile.h" |
157 | #include "IXMLReader.h" | 157 | #include "IXMLReader.h" |
158 | #include "IXMLWriter.h" | 158 | #include "IXMLWriter.h" |
159 | #include "ILightManager.h" | 159 | #include "ILightManager.h" |
160 | #include "Keycodes.h" | 160 | #include "Keycodes.h" |
161 | #include "line2d.h" | 161 | #include "line2d.h" |
162 | #include "line3d.h" | 162 | #include "line3d.h" |
163 | #include "matrix4.h" | 163 | #include "matrix4.h" |
164 | #include "plane3d.h" | 164 | #include "plane3d.h" |
165 | #include "position2d.h" | 165 | #include "position2d.h" |
166 | #include "quaternion.h" | 166 | #include "quaternion.h" |
167 | #include "rect.h" | 167 | #include "rect.h" |
168 | #include "S3DVertex.h" | 168 | #include "S3DVertex.h" |
169 | #include "SAnimatedMesh.h" | 169 | #include "SAnimatedMesh.h" |
170 | #include "SceneParameters.h" | 170 | #include "SceneParameters.h" |
171 | #include "SColor.h" | 171 | #include "SColor.h" |
172 | #include "SExposedVideoData.h" | 172 | #include "SExposedVideoData.h" |
173 | #include "SIrrCreationParameters.h" | 173 | #include "SIrrCreationParameters.h" |
174 | #include "SKeyMap.h" | 174 | #include "SKeyMap.h" |
175 | #include "SLight.h" | 175 | #include "SLight.h" |
176 | #include "SMaterial.h" | 176 | #include "SMaterial.h" |
177 | #include "SMesh.h" | 177 | #include "SMesh.h" |
178 | #include "SMeshBuffer.h" | 178 | #include "SMeshBuffer.h" |
179 | #include "SMeshBufferLightMap.h" | 179 | #include "SMeshBufferLightMap.h" |
180 | #include "SMeshBufferTangents.h" | 180 | #include "SMeshBufferTangents.h" |
181 | #include "SParticle.h" | 181 | #include "SParticle.h" |
182 | #include "SSharedMeshBuffer.h" | 182 | #include "SSharedMeshBuffer.h" |
183 | #include "SSkinMeshBuffer.h" | 183 | #include "SSkinMeshBuffer.h" |
184 | #include "SVertexIndex.h" | 184 | #include "SVertexIndex.h" |
185 | #include "SViewFrustum.h" | 185 | #include "SViewFrustum.h" |
186 | #include "triangle3d.h" | 186 | #include "triangle3d.h" |
187 | #include "vector2d.h" | 187 | #include "vector2d.h" |
188 | #include "vector3d.h" | 188 | #include "vector3d.h" |
189 | 189 | ||
190 | /*! \mainpage Irrlicht Engine 1.8 API documentation | 190 | /*! \mainpage Irrlicht Engine 1.8 API documentation |
191 | * | 191 | * |
192 | * <div align="center"><img src="logobig.png" ></div> | 192 | * <div align="center"><img src="logobig.png" ></div> |
193 | * | 193 | * |
194 | * \section intro Introduction | 194 | * \section intro Introduction |
195 | * | 195 | * |
196 | * Welcome to the Irrlicht Engine API documentation. | 196 | * Welcome to the Irrlicht Engine API documentation. |
197 | * Here you'll find any information you'll need to develop applications with | 197 | * Here you'll find any information you'll need to develop applications with |
198 | * the Irrlicht Engine. If you are looking for a tutorial on how to start, you'll | 198 | * the Irrlicht Engine. If you are looking for a tutorial on how to start, you'll |
199 | * find some on the homepage of the Irrlicht Engine at | 199 | * find some on the homepage of the Irrlicht Engine at |
200 | * <A HREF="http://irrlicht.sourceforge.net" >irrlicht.sourceforge.net</A> | 200 | * <A HREF="http://irrlicht.sourceforge.net" >irrlicht.sourceforge.net</A> |
201 | * or inside the SDK in the examples directory. | 201 | * or inside the SDK in the examples directory. |
202 | * | 202 | * |
203 | * The Irrlicht Engine is intended to be an easy-to-use 3d engine, so | 203 | * The Irrlicht Engine is intended to be an easy-to-use 3d engine, so |
204 | * this documentation is an important part of it. If you have any questions or | 204 | * this documentation is an important part of it. If you have any questions or |
205 | * suggestions, just send a email to the author of the engine, Nikolaus Gebhardt | 205 | * suggestions, just send a email to the author of the engine, Nikolaus Gebhardt |
206 | * (niko (at) irrlicht3d.org). | 206 | * (niko (at) irrlicht3d.org). |
207 | * | 207 | * |
208 | * | 208 | * |
209 | * \section links Links | 209 | * \section links Links |
210 | * | 210 | * |
211 | * <A HREF="namespaces.html">Namespaces</A>: A very good place to start reading | 211 | * <A HREF="namespaces.html">Namespaces</A>: A very good place to start reading |
212 | * the documentation.<BR> | 212 | * the documentation.<BR> |
213 | * <A HREF="annotated.html">Class list</A>: List of all classes with descriptions.<BR> | 213 | * <A HREF="annotated.html">Class list</A>: List of all classes with descriptions.<BR> |
214 | * <A HREF="functions.html">Class members</A>: Good place to find forgotten features.<BR> | 214 | * <A HREF="functions.html">Class members</A>: Good place to find forgotten features.<BR> |
215 | * | 215 | * |
216 | * \section irrexample Short example | 216 | * \section irrexample Short example |
217 | * | 217 | * |
218 | * A simple application, starting up the engine, loading a Quake 2 animated | 218 | * A simple application, starting up the engine, loading a Quake 2 animated |
219 | * model file and the corresponding texture, animating and displaying it | 219 | * model file and the corresponding texture, animating and displaying it |
220 | * in front of a blue background and placing a user controlable 3d camera | 220 | * in front of a blue background and placing a user controlable 3d camera |
221 | * would look like the following code. I think this example shows the usage | 221 | * would look like the following code. I think this example shows the usage |
222 | * of the engine quite well: | 222 | * of the engine quite well: |
223 | * | 223 | * |
224 | * \code | 224 | * \code |
225 | * #include <irrlicht.h> | 225 | * #include <irrlicht.h> |
226 | * using namespace irr; | 226 | * using namespace irr; |
227 | * | 227 | * |
228 | * int main() | 228 | * int main() |
229 | * { | 229 | * { |
230 | * // start up the engine | 230 | * // start up the engine |
231 | * IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D8, | 231 | * IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D8, |
232 | * core::dimension2d<u32>(640,480)); | 232 | * core::dimension2d<u32>(640,480)); |
233 | * | 233 | * |
234 | * video::IVideoDriver* driver = device->getVideoDriver(); | 234 | * video::IVideoDriver* driver = device->getVideoDriver(); |
235 | * scene::ISceneManager* scenemgr = device->getSceneManager(); | 235 | * scene::ISceneManager* scenemgr = device->getSceneManager(); |
236 | * | 236 | * |
237 | * device->setWindowCaption(L"Hello World!"); | 237 | * device->setWindowCaption(L"Hello World!"); |
238 | * | 238 | * |
239 | * // load and show quake2 .md2 model | 239 | * // load and show quake2 .md2 model |
240 | * scene::ISceneNode* node = scenemgr->addAnimatedMeshSceneNode( | 240 | * scene::ISceneNode* node = scenemgr->addAnimatedMeshSceneNode( |
241 | * scenemgr->getMesh("quake2model.md2")); | 241 | * scenemgr->getMesh("quake2model.md2")); |
242 | * | 242 | * |
243 | * // if everything worked, add a texture and disable lighting | 243 | * // if everything worked, add a texture and disable lighting |
244 | * if (node) | 244 | * if (node) |
245 | * { | 245 | * { |
246 | * node->setMaterialTexture(0, driver->getTexture("texture.bmp")); | 246 | * node->setMaterialTexture(0, driver->getTexture("texture.bmp")); |
247 | * node->setMaterialFlag(video::EMF_LIGHTING, false); | 247 | * node->setMaterialFlag(video::EMF_LIGHTING, false); |
248 | * } | 248 | * } |
249 | * | 249 | * |
250 | * // add a first person shooter style user controlled camera | 250 | * // add a first person shooter style user controlled camera |
251 | * scenemgr->addCameraSceneNodeFPS(); | 251 | * scenemgr->addCameraSceneNodeFPS(); |
252 | * | 252 | * |
253 | * // draw everything | 253 | * // draw everything |
254 | * while(device->run() && driver) | 254 | * while(device->run() && driver) |
255 | * { | 255 | * { |
256 | * driver->beginScene(true, true, video::SColor(255,0,0,255)); | 256 | * driver->beginScene(true, true, video::SColor(255,0,0,255)); |
257 | * scenemgr->drawAll(); | 257 | * scenemgr->drawAll(); |
258 | * driver->endScene(); | 258 | * driver->endScene(); |
259 | * } | 259 | * } |
260 | * | 260 | * |
261 | * // delete device | 261 | * // delete device |
262 | * device->drop(); | 262 | * device->drop(); |
263 | * return 0; | 263 | * return 0; |
264 | * } | 264 | * } |
265 | * \endcode | 265 | * \endcode |
266 | * | 266 | * |
267 | * Irrlicht can load a lot of file formats automaticly, see irr::scene::ISceneManager::getMesh() | 267 | * Irrlicht can load a lot of file formats automaticly, see irr::scene::ISceneManager::getMesh() |
268 | * for a detailed list. So if you would like to replace the simple blue screen background by | 268 | * for a detailed list. So if you would like to replace the simple blue screen background by |
269 | * a cool Quake 3 Map, optimized by an octree, just insert this code | 269 | * a cool Quake 3 Map, optimized by an octree, just insert this code |
270 | * somewhere before the while loop: | 270 | * somewhere before the while loop: |
271 | * | 271 | * |
272 | * \code | 272 | * \code |
273 | * // add .pk3 archive to the file system | 273 | * // add .pk3 archive to the file system |
274 | * device->getFileSystem()->addZipFileArchive("quake3map.pk3"); | 274 | * device->getFileSystem()->addZipFileArchive("quake3map.pk3"); |
275 | * | 275 | * |
276 | * // load .bsp file and show it using an octree | 276 | * // load .bsp file and show it using an octree |
277 | * scenemgr->addOctreeSceneNode( | 277 | * scenemgr->addOctreeSceneNode( |
278 | * scenemgr->getMesh("quake3map.bsp")); | 278 | * scenemgr->getMesh("quake3map.bsp")); |
279 | * \endcode | 279 | * \endcode |
280 | * | 280 | * |
281 | * As you can see, the engine uses namespaces. Everything in the engine is | 281 | * As you can see, the engine uses namespaces. Everything in the engine is |
282 | * placed into the namespace 'irr', but there are also 5 sub namespaces. | 282 | * placed into the namespace 'irr', but there are also 5 sub namespaces. |
283 | * You can find a list of all namespaces with descriptions at the | 283 | * You can find a list of all namespaces with descriptions at the |
284 | * <A HREF="namespaces.html"> namespaces page</A>. | 284 | * <A HREF="namespaces.html"> namespaces page</A>. |
285 | * This is also a good place to start reading the documentation. If you | 285 | * This is also a good place to start reading the documentation. If you |
286 | * don't want to write the namespace names all the time, just use all namespaces like | 286 | * don't want to write the namespace names all the time, just use all namespaces like |
287 | * this: | 287 | * this: |
288 | * \code | 288 | * \code |
289 | * using namespace core; | 289 | * using namespace core; |
290 | * using namespace scene; | 290 | * using namespace scene; |
291 | * using namespace video; | 291 | * using namespace video; |
292 | * using namespace io; | 292 | * using namespace io; |
293 | * using namespace gui; | 293 | * using namespace gui; |
294 | * \endcode | 294 | * \endcode |
295 | * | 295 | * |
296 | * There is a lot more the engine can do, but I hope this gave a short | 296 | * There is a lot more the engine can do, but I hope this gave a short |
297 | * overview over the basic features of the engine. For more examples, please take | 297 | * overview over the basic features of the engine. For more examples, please take |
298 | * a look into the examples directory of the SDK. | 298 | * a look into the examples directory of the SDK. |
299 | */ | 299 | */ |
300 | 300 | ||
301 | #include "SIrrCreationParameters.h" | 301 | #include "SIrrCreationParameters.h" |
302 | 302 | ||
303 | //! Everything in the Irrlicht Engine can be found in this namespace. | 303 | //! Everything in the Irrlicht Engine can be found in this namespace. |
304 | namespace irr | 304 | namespace irr |
305 | { | 305 | { |
306 | //! Creates an Irrlicht device. The Irrlicht device is the root object for using the engine. | 306 | //! Creates an Irrlicht device. The Irrlicht device is the root object for using the engine. |
307 | /** If you need more parameters to be passed to the creation of the Irrlicht Engine device, | 307 | /** If you need more parameters to be passed to the creation of the Irrlicht Engine device, |
308 | use the createDeviceEx() function. | 308 | use the createDeviceEx() function. |
309 | \param deviceType: Type of the device. This can currently be video::EDT_NULL, | 309 | \param deviceType: Type of the device. This can currently be video::EDT_NULL, |
310 | video::EDT_SOFTWARE, video::EDT_BURNINGSVIDEO, video::EDT_DIRECT3D8, video::EDT_DIRECT3D9 and video::EDT_OPENGL. | 310 | video::EDT_SOFTWARE, video::EDT_BURNINGSVIDEO, video::EDT_DIRECT3D8, video::EDT_DIRECT3D9 and video::EDT_OPENGL. |
311 | \param windowSize: Size of the window or the video mode in fullscreen mode. | 311 | \param windowSize: Size of the window or the video mode in fullscreen mode. |
312 | \param bits: Bits per pixel in fullscreen mode. Ignored if windowed mode. | 312 | \param bits: Bits per pixel in fullscreen mode. Ignored if windowed mode. |
313 | \param fullscreen: Should be set to true if the device should run in fullscreen. Otherwise | 313 | \param fullscreen: Should be set to true if the device should run in fullscreen. Otherwise |
314 | the device runs in windowed mode. | 314 | the device runs in windowed mode. |
315 | \param stencilbuffer: Specifies if the stencil buffer should be enabled. Set this to true, | 315 | \param stencilbuffer: Specifies if the stencil buffer should be enabled. Set this to true, |
316 | if you want the engine be able to draw stencil buffer shadows. Note that not all | 316 | if you want the engine be able to draw stencil buffer shadows. Note that not all |
317 | devices are able to use the stencil buffer. If they don't no shadows will be drawn. | 317 | devices are able to use the stencil buffer. If they don't no shadows will be drawn. |
318 | \param vsync: Specifies vertical syncronisation: If set to true, the driver will wait | 318 | \param vsync: Specifies vertical syncronisation: If set to true, the driver will wait |
319 | for the vertical retrace period, otherwise not. | 319 | for the vertical retrace period, otherwise not. |
320 | \param receiver: A user created event receiver. | 320 | \param receiver: A user created event receiver. |
321 | \return Returns pointer to the created IrrlichtDevice or null if the | 321 | \return Returns pointer to the created IrrlichtDevice or null if the |
322 | device could not be created. | 322 | device could not be created. |
323 | */ | 323 | */ |
324 | extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDevice( | 324 | extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDevice( |
325 | video::E_DRIVER_TYPE deviceType = video::EDT_SOFTWARE, | 325 | video::E_DRIVER_TYPE deviceType = video::EDT_SOFTWARE, |
326 | // parantheses are necessary for some compilers | 326 | // parantheses are necessary for some compilers |
327 | const core::dimension2d<u32>& windowSize = (core::dimension2d<u32>(640,480)), | 327 | const core::dimension2d<u32>& windowSize = (core::dimension2d<u32>(640,480)), |
328 | u32 bits = 16, | 328 | u32 bits = 16, |
329 | bool fullscreen = false, | 329 | bool fullscreen = false, |
330 | bool stencilbuffer = false, | 330 | bool stencilbuffer = false, |
331 | bool vsync = false, | 331 | bool vsync = false, |
332 | IEventReceiver* receiver = 0); | 332 | IEventReceiver* receiver = 0); |
333 | 333 | ||
334 | //! typedef for Function Pointer | 334 | //! typedef for Function Pointer |
335 | typedef IrrlichtDevice* (IRRCALLCONV *funcptr_createDevice )( | 335 | typedef IrrlichtDevice* (IRRCALLCONV *funcptr_createDevice )( |
336 | video::E_DRIVER_TYPE deviceType, | 336 | video::E_DRIVER_TYPE deviceType, |
337 | const core::dimension2d<u32>& windowSize, | 337 | const core::dimension2d<u32>& windowSize, |
338 | u32 bits, | 338 | u32 bits, |
339 | bool fullscreen, | 339 | bool fullscreen, |
340 | bool stencilbuffer, | 340 | bool stencilbuffer, |
341 | bool vsync, | 341 | bool vsync, |
342 | IEventReceiver* receiver); | 342 | IEventReceiver* receiver); |
343 | 343 | ||
344 | 344 | ||
345 | //! Creates an Irrlicht device with the option to specify advanced parameters. | 345 | //! Creates an Irrlicht device with the option to specify advanced parameters. |
346 | /** Usually you should used createDevice() for creating an Irrlicht Engine device. | 346 | /** Usually you should used createDevice() for creating an Irrlicht Engine device. |
347 | Use this function only if you wish to specify advanced parameters like a window | 347 | Use this function only if you wish to specify advanced parameters like a window |
348 | handle in which the device should be created. | 348 | handle in which the device should be created. |
349 | \param parameters: Structure containing advanced parameters for the creation of the device. | 349 | \param parameters: Structure containing advanced parameters for the creation of the device. |
350 | See irr::SIrrlichtCreationParameters for details. | 350 | See irr::SIrrlichtCreationParameters for details. |
351 | \return Returns pointer to the created IrrlichtDevice or null if the | 351 | \return Returns pointer to the created IrrlichtDevice or null if the |
352 | device could not be created. */ | 352 | device could not be created. */ |
353 | extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx( | 353 | extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx( |
354 | const SIrrlichtCreationParameters& parameters); | 354 | const SIrrlichtCreationParameters& parameters); |
355 | 355 | ||
356 | //! typedef for Function Pointer | 356 | //! typedef for Function Pointer |
357 | typedef IrrlichtDevice* (IRRCALLCONV *funcptr_createDeviceEx )( const SIrrlichtCreationParameters& parameters ); | 357 | typedef IrrlichtDevice* (IRRCALLCONV *funcptr_createDeviceEx )( const SIrrlichtCreationParameters& parameters ); |
358 | 358 | ||
359 | 359 | ||
360 | // THE FOLLOWING IS AN EMPTY LIST OF ALL SUB NAMESPACES | 360 | // THE FOLLOWING IS AN EMPTY LIST OF ALL SUB NAMESPACES |
361 | // EXISTING ONLY FOR THE DOCUMENTATION SOFTWARE DOXYGEN. | 361 | // EXISTING ONLY FOR THE DOCUMENTATION SOFTWARE DOXYGEN. |
362 | 362 | ||
363 | //! Basic classes such as vectors, planes, arrays, lists, and so on can be found in this namespace. | 363 | //! Basic classes such as vectors, planes, arrays, lists, and so on can be found in this namespace. |
364 | namespace core | 364 | namespace core |
365 | { | 365 | { |
366 | } | 366 | } |
367 | 367 | ||
368 | //! The gui namespace contains useful classes for easy creation of a graphical user interface. | 368 | //! The gui namespace contains useful classes for easy creation of a graphical user interface. |
369 | namespace gui | 369 | namespace gui |
370 | { | 370 | { |
371 | } | 371 | } |
372 | 372 | ||
373 | //! This namespace provides interfaces for input/output: Reading and writing files, accessing zip archives, xml files, ... | 373 | //! This namespace provides interfaces for input/output: Reading and writing files, accessing zip archives, xml files, ... |
374 | namespace io | 374 | namespace io |
375 | { | 375 | { |
376 | } | 376 | } |
377 | 377 | ||
378 | //! All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees and billboards, ... | 378 | //! All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees and billboards, ... |
379 | namespace scene | 379 | namespace scene |
380 | { | 380 | { |
381 | } | 381 | } |
382 | 382 | ||
383 | //! The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here. | 383 | //! The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done here. |
384 | namespace video | 384 | namespace video |
385 | { | 385 | { |
386 | } | 386 | } |
387 | } | 387 | } |
388 | 388 | ||
389 | /*! \file irrlicht.h | 389 | /*! \file irrlicht.h |
390 | \brief Main header file of the irrlicht, the only file needed to include. | 390 | \brief Main header file of the irrlicht, the only file needed to include. |
391 | */ | 391 | */ |
392 | 392 | ||
393 | #endif | 393 | #endif |
394 | 394 | ||