Skylicht Engine
Loading...
Searching...
No Matches
irrlicht.h
Go to the documentation of this file.
1/* irrlicht.h -- interface of the 'Irrlicht Engine'
2
3 Copyright (C) 2002-2012 Nikolaus Gebhardt
4
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
7 arising from the use of this software.
8
9 Permission is granted to anyone to use this software for any purpose,
10 including commercial applications, and to alter it and redistribute it
11 freely, subject to the following restrictions:
12
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
15 in a product, an acknowledgment in the product documentation would be
16 appreciated but is not required.
17 2. Altered source versions must be plainly marked as such, and must not be
18 misrepresented as being the original software.
19 3. This notice may not be removed or altered from any source distribution.
20
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
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
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.
27*/
28
29#ifndef __IRRLICHT_H_INCLUDED__
30#define __IRRLICHT_H_INCLUDED__
31
32#include "IrrCompileConfig.h"
33#include "aabbox3d.h"
34#include "IVertexDescriptor.h"
35#include "CVertexBuffer.h"
36#include "CIndexBuffer.h"
37#include "CMeshBuffer.h"
38#include "coreutil.h"
39#include "CVertexBuffer.h"
40#include "dimension2d.h"
41#include "ECullingTypes.h"
42#include "EDebugSceneTypes.h"
43#include "EDriverFeatures.h"
44#include "EDriverTypes.h"
45
46#include "EHardwareBufferFlags.h"
47#include "EMaterialFlags.h"
48#include "EMaterialTypes.h"
49
50#include "ESceneNodeAnimatorTypes.h"
51#include "ESceneNodeTypes.h"
52
53#include "fast_atof.h"
54#include "heapsort.h"
55
56#include "IAttributeExchangingObject.h"
57#include "IAttributes.h"
58#include "ICameraSceneNode.h"
59#include "ICursorControl.h"
60
61#include "IMeshBuffer.h"
62#include "IEventReceiver.h"
63#include "IFileList.h"
64#include "IFileSystem.h"
65#include "IGeometryCreator.h"
66#include "IGPUProgrammingServices.h"
67
68#include "IImage.h"
69#include "IImageLoader.h"
70#include "IImageWriter.h"
71#include "IIndexBuffer.h"
72#include "ILightSceneNode.h"
73#include "ILogger.h"
74#include "IMaterialRenderer.h"
75#include "IMaterialRendererServices.h"
76#include "IMesh.h"
77#include "IMeshBuffer.h"
78#include "IMeshSceneNode.h"
79
80#include "IGPUProgrammingServices.h"
81
82#include "IMetaTriangleSelector.h"
83#include "IOSOperator.h"
84
85#include "IReadFile.h"
86#include "IReferenceCounted.h"
87#include "irrArray.h"
88#include "IRandomizer.h"
89#include "IrrlichtDevice.h"
90#include "irrList.h"
91#include "irrMap.h"
92#include "irrMath.h"
93#include "irrString.h"
94#include "irrTypes.h"
95#include "path.h"
96#include "irrXML.h"
97#include "ISceneCollisionManager.h"
98
99#include "ISceneManager.h"
100#include "ISceneNode.h"
101#include "ISceneNodeAnimator.h"
102#include "ISceneNodeAnimatorCameraFPS.h"
103#include "ISceneNodeAnimatorCameraMaya.h"
104#include "ISceneNodeAnimatorCollisionResponse.h"
105#include "ISceneNodeAnimatorFactory.h"
106#include "ISceneNodeFactory.h"
107
108#include "IShaderConstantSetCallBack.h"
109
110#include "ITexture.h"
111#include "ITimer.h"
112#include "ITriangleSelector.h"
113#include "IVertexBuffer.h"
114#include "IVideoDriver.h"
115#include "IVideoModeList.h"
116
117#include "IWriteFile.h"
118#include "IXMLReader.h"
119#include "IXMLWriter.h"
120
121#include "Keycodes.h"
122#include "line2d.h"
123#include "line3d.h"
124#include "matrix4.h"
125#include "plane3d.h"
126#include "position2d.h"
127#include "quaternion.h"
128#include "rect.h"
129#include "S3DVertex.h"
130
131#include "SceneParameters.h"
132#include "SColor.h"
133#include "SExposedVideoData.h"
134#include "SIrrCreationParameters.h"
135#include "SKeyMap.h"
136#include "SLight.h"
137#include "SMaterial.h"
138#include "SMesh.h"
139#include "SParticle.h"
140#include "SViewFrustum.h"
141#include "triangle3d.h"
142#include "vector2d.h"
143#include "vector3d.h"
144
255
256#include "SIrrCreationParameters.h"
257
259namespace irr
260{
262
279 extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDevice(
281 // parantheses are necessary for some compilers
282 const core::dimension2d<u32>& windowSize = (core::dimension2d<u32>(640,480)),
283 u32 bits = 16,
284 bool fullscreen = false,
285 bool stencilbuffer = false,
286 bool vsync = false,
287 IEventReceiver* receiver = 0);
288
290 typedef IrrlichtDevice* (IRRCALLCONV *funcptr_createDevice )(
291 video::E_DRIVER_TYPE deviceType,
292 const core::dimension2d<u32>& windowSize,
293 u32 bits,
294 bool fullscreen,
295 bool stencilbuffer,
296 bool vsync,
297 IEventReceiver* receiver);
298
299
301
308 extern "C" IRRLICHT_API IrrlichtDevice* IRRCALLCONV createDeviceEx(
309 const SIrrlichtCreationParameters& parameters);
310
312 typedef IrrlichtDevice* (IRRCALLCONV *funcptr_createDeviceEx )( const SIrrlichtCreationParameters& parameters );
313
314
315 // THE FOLLOWING IS AN EMPTY LIST OF ALL SUB NAMESPACES
316 // EXISTING ONLY FOR THE DOCUMENTATION SOFTWARE DOXYGEN.
317
319 namespace core
320 {
321 }
322
324 namespace gui
325 {
326 }
327
329 namespace io
330 {
331 }
332
334 namespace scene
335 {
336 }
337
339 namespace video
340 {
341 }
342}
343
347
348#endif
349
Header file containing all scene parameters for modifying mesh loading etc.
Interface of an object which can receive events.
Definition IEventReceiver.h:474
The Irrlicht device. You can create it with createDevice() or createDeviceEx().
Definition IrrlichtDevice.h:44
Specifies a 2 dimensional size.
Definition dimension2d.h:21
File containing useful basic utility functions.
Header file of the irrXML, the Irrlicht XML parser.
Basic classes such as vectors, planes, arrays, lists, and so on can be found in this namespace.
Definition aabbox3d.h:15
This namespace provides interfaces for input/output: Reading and writing files, accessing zip archive...
Definition EAttributes.h:11
All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees a...
Definition CIndexBuffer.h:13
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done ...
Definition EDriverFeatures.h:11
E_DRIVER_TYPE
An enum for all types of drivers the Irrlicht Engine supports.
Definition EDriverTypes.h:15
@ EDT_OPENGL
OpenGL device, available on most platforms.
Definition EDriverTypes.h:24
Everything in the Irrlicht Engine can be found in this namespace.
Definition Skylicht.h:33
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.h:58
IRRLICHT_API IrrlichtDevice *IRRCALLCONV createDevice(video::E_DRIVER_TYPE deviceType=video::EDT_OPENGL, const core::dimension2d< u32 > &windowSize=(core::dimension2d< u32 >(640, 480)), u32 bits=16, bool fullscreen=false, bool stencilbuffer=false, bool vsync=false, IEventReceiver *receiver=0)
Creates an Irrlicht device. The Irrlicht device is the root object for using the engine.
IrrlichtDevice *IRRCALLCONV * funcptr_createDeviceEx(const SIrrlichtCreationParameters &parameters)
typedef for Function Pointer
Definition irrlicht.h:312
IrrlichtDevice *IRRCALLCONV * funcptr_createDevice(video::E_DRIVER_TYPE deviceType, const core::dimension2d< u32 > &windowSize, u32 bits, bool fullscreen, bool stencilbuffer, bool vsync, IEventReceiver *receiver)
typedef for Function Pointer
Definition irrlicht.h:290
IRRLICHT_API IrrlichtDevice *IRRCALLCONV createDeviceEx(const SIrrlichtCreationParameters &parameters)
Creates an Irrlicht device with the option to specify advanced parameters.
Structure for holding Irrlicht Device creation parameters.
Definition SIrrCreationParameters.h:21