mirror of
https://github.com/luanti-org/luanti.git
synced 2025-09-15 18:57:08 +00:00
Merge remote-tracking branch 'upstream/master' into Visuals-Vol-2
This commit is contained in:
commit
00ef9b14d0
1043 changed files with 44800 additions and 28934 deletions
|
@ -4,8 +4,6 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "irrTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace video
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "aabbox3d.h"
|
||||
#include "IMesh.h"
|
||||
|
||||
namespace irr
|
||||
|
|
|
@ -7,9 +7,6 @@
|
|||
#include "IReferenceCounted.h"
|
||||
#include "EAttributes.h"
|
||||
|
||||
// not needed here but I can't be bothered to clean the transitive includes up.
|
||||
#include "quaternion.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace video
|
||||
|
|
|
@ -18,7 +18,7 @@ enum EEVENT_TYPE
|
|||
to mouse or keyboard events. When a GUI element receives an event it will either
|
||||
process it and return true, or pass the event to its parent. If an event is not absorbed
|
||||
before it reaches the root element then it will then be passed to the user receiver. */
|
||||
EET_GUI_EVENT = 0,
|
||||
EET_GUI_EVENT = 1,
|
||||
|
||||
//! A mouse input event.
|
||||
/** Mouse events are created by the device and passed to IrrlichtDevice::postEventFromUser
|
||||
|
@ -332,6 +332,9 @@ struct SEvent
|
|||
//! True if ctrl was also pressed
|
||||
bool Control : 1;
|
||||
|
||||
//! Is this a simulated mouse event generated by the engine itself?
|
||||
bool Simulated : 1;
|
||||
|
||||
//! A bitmap of button states. You can use isButtonPressed() to determine
|
||||
//! if a button is pressed or not.
|
||||
u32 ButtonStates;
|
||||
|
@ -347,9 +350,6 @@ struct SEvent
|
|||
|
||||
//! Type of mouse event
|
||||
EMOUSE_INPUT_EVENT Event;
|
||||
|
||||
//! Is this a simulated mouse event generated by Minetest itself?
|
||||
bool Simulated;
|
||||
};
|
||||
|
||||
//! Any kind of keyboard event.
|
||||
|
@ -543,8 +543,9 @@ struct SEvent
|
|||
};
|
||||
|
||||
SEvent() {
|
||||
// would be left uninitialized in many places otherwise
|
||||
MouseInput.Simulated = false;
|
||||
EventType = static_cast<EEVENT_TYPE>(0);
|
||||
// zero the biggest union member we have, which clears all others too
|
||||
memset(&JoystickEvent, 0, sizeof(JoystickEvent));
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -10,10 +10,8 @@
|
|||
#include "IEventReceiver.h"
|
||||
#include "EGUIElementTypes.h"
|
||||
#include "EGUIAlignment.h"
|
||||
#include "IAttributes.h"
|
||||
#include "IGUIEnvironment.h"
|
||||
#include <cassert>
|
||||
#include <algorithm>
|
||||
#include <list>
|
||||
#include <vector>
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#include "IReferenceCounted.h"
|
||||
#include "IGUISkin.h"
|
||||
#include "rect.h"
|
||||
#include "EFocusFlags.h"
|
||||
#include "EFocusFlags.h" // IWYU pragma: export
|
||||
#include "IEventReceiver.h"
|
||||
#include "path.h"
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "IGUIElement.h"
|
||||
#include "IReferenceCounted.h"
|
||||
#include "rect.h"
|
||||
#include "irrTypes.h"
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
#include "IGUIElement.h"
|
||||
#include "SColor.h"
|
||||
#include "IGUISkin.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
|
|
@ -328,6 +328,8 @@ public:
|
|||
return 32;
|
||||
case ECF_D16:
|
||||
return 16;
|
||||
case ECF_D24:
|
||||
return 32;
|
||||
case ECF_D32:
|
||||
return 32;
|
||||
case ECF_D24S8:
|
||||
|
@ -378,6 +380,7 @@ public:
|
|||
{
|
||||
switch (format) {
|
||||
case ECF_D16:
|
||||
case ECF_D24:
|
||||
case ECF_D32:
|
||||
case ECF_D24S8:
|
||||
return true;
|
||||
|
|
|
@ -6,9 +6,7 @@
|
|||
|
||||
#include "IReferenceCounted.h"
|
||||
#include "IImage.h"
|
||||
#include "ITexture.h"
|
||||
#include "path.h"
|
||||
#include "irrArray.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
#pragma once
|
||||
|
||||
#include "IReferenceCounted.h"
|
||||
#include "irrString.h"
|
||||
#include "coreutil.h"
|
||||
#include "path.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#pragma once
|
||||
|
||||
#include "IReferenceCounted.h"
|
||||
#include "irrArray.h"
|
||||
#include "EHardwareBufferFlags.h"
|
||||
#include "EPrimitiveTypes.h"
|
||||
#include "SVertexIndex.h"
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#pragma once
|
||||
|
||||
#include "SMaterial.h"
|
||||
#include "S3DVertex.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
#include "IReferenceCounted.h"
|
||||
#include "vector3d.h"
|
||||
#include "aabbox3d.h"
|
||||
#include "matrix4.h"
|
||||
#include "IAnimatedMesh.h"
|
||||
#include "IMeshBuffer.h"
|
||||
#include "SVertexManipulator.h"
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
#pragma once
|
||||
|
||||
#include "IReferenceCounted.h"
|
||||
#include "coreutil.h"
|
||||
#include "EReadFileType.h"
|
||||
#include "path.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
|
|
@ -6,13 +6,11 @@
|
|||
|
||||
#include "IReferenceCounted.h"
|
||||
#include "irrArray.h"
|
||||
#include "irrString.h"
|
||||
#include "path.h"
|
||||
#include "vector3d.h"
|
||||
#include "dimension2d.h"
|
||||
#include "SColor.h"
|
||||
#include "ESceneNodeTypes.h"
|
||||
#include "SceneParameters.h"
|
||||
#include "SceneParameters.h" // IWYU pragma: export
|
||||
#include "ISkinnedMesh.h"
|
||||
|
||||
namespace irr
|
||||
|
|
|
@ -9,14 +9,13 @@
|
|||
#include "ECullingTypes.h"
|
||||
#include "EDebugSceneTypes.h"
|
||||
#include "SMaterial.h"
|
||||
#include "irrString.h"
|
||||
#include "irrArray.h"
|
||||
#include "aabbox3d.h"
|
||||
#include "matrix4.h"
|
||||
#include "IAttributes.h"
|
||||
|
||||
#include <list>
|
||||
#include <optional>
|
||||
#include <string>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
|
|
@ -5,11 +5,12 @@
|
|||
#pragma once
|
||||
|
||||
#include "irrArray.h"
|
||||
#include "IBoneSceneNode.h"
|
||||
#include "IAnimatedMesh.h"
|
||||
#include "SSkinMeshBuffer.h"
|
||||
#include "quaternion.h"
|
||||
|
||||
#include <optional>
|
||||
#include <string>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
|
|
@ -5,11 +5,10 @@
|
|||
#pragma once
|
||||
|
||||
#include "IReferenceCounted.h"
|
||||
#include "IImage.h"
|
||||
#include "SColor.h"
|
||||
#include "dimension2d.h"
|
||||
#include "EDriverTypes.h"
|
||||
#include "path.h"
|
||||
#include "matrix4.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
@ -75,9 +74,7 @@ enum E_TEXTURE_CREATION_FLAG
|
|||
|
||||
//! Allow the driver to keep a copy of the texture in memory
|
||||
/** Enabling this makes calls to ITexture::lock a lot faster, but costs main memory.
|
||||
Currently only used in combination with OpenGL drivers.
|
||||
NOTE: Disabling this does not yet work correctly with alpha-textures.
|
||||
So the default is on for now (but might change with Irrlicht 1.9 if we get the alpha-troubles fixed).
|
||||
This is disabled by default.
|
||||
*/
|
||||
ETCF_ALLOW_MEMORY_COPY = 0x00000080,
|
||||
|
||||
|
@ -185,7 +182,7 @@ public:
|
|||
//! Lock function.
|
||||
/** Locks the Texture and returns a pointer to access the
|
||||
pixels. After lock() has been called and all operations on the pixels
|
||||
are done, you must call unlock().
|
||||
are done, you must call unlock(). Afterwards the pointer becomes invalid.
|
||||
Locks are not accumulating, hence one unlock will do for an arbitrary
|
||||
number of previous locks. You should avoid locking different levels without
|
||||
unlocking in between, though, because only the last level locked will be
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#pragma once
|
||||
|
||||
#include "IReferenceCounted.h"
|
||||
#include "irrArray.h"
|
||||
#include "EHardwareBufferFlags.h"
|
||||
#include "S3DVertex.h"
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "rect.h"
|
||||
#include "SColor.h"
|
||||
#include "IImage.h"
|
||||
#include "ITexture.h"
|
||||
#include "irrArray.h"
|
||||
#include "matrix4.h"
|
||||
|
|
|
@ -193,6 +193,11 @@ public:
|
|||
/** If this returns false, you should not do any rendering. */
|
||||
virtual bool isWindowVisible() const { return true; };
|
||||
|
||||
//! Checks if the Irrlicht device supports touch events.
|
||||
/** Intentionally doesn't check whether a touch input device is available
|
||||
or similar. */
|
||||
virtual bool supportsTouchEvents() const { return false; }
|
||||
|
||||
//! Get the current color format of the window
|
||||
/** \return Color format of the window. */
|
||||
virtual video::ECOLOR_FORMAT getColorFormat() const = 0;
|
||||
|
|
|
@ -77,6 +77,9 @@ enum ECOLOR_FORMAT
|
|||
//! 16 bit format using 16 bits for depth.
|
||||
ECF_D16,
|
||||
|
||||
//! 32 bit(?) format using 24 bits for depth.
|
||||
ECF_D24,
|
||||
|
||||
//! 32 bit format using 32 bits for depth.
|
||||
ECF_D32,
|
||||
|
||||
|
@ -104,6 +107,7 @@ const c8 *const ColorFormatNames[ECF_UNKNOWN + 2] = {
|
|||
"R16",
|
||||
"R16G16",
|
||||
"D16",
|
||||
"D24",
|
||||
"D32",
|
||||
"D24S8",
|
||||
"UNKNOWN",
|
||||
|
|
|
@ -63,12 +63,6 @@ struct SExposedVideoData
|
|||
void *Window;
|
||||
};
|
||||
|
||||
struct SOpenGLFB
|
||||
{
|
||||
//! The EGLNativeWindowType object.
|
||||
void *Window;
|
||||
};
|
||||
|
||||
struct SOGLESAndroid
|
||||
{
|
||||
//! The ANativeWindow object.
|
||||
|
@ -80,7 +74,6 @@ struct SExposedVideoData
|
|||
SOpenGLWin32 OpenGLWin32;
|
||||
SOpenGLLinux OpenGLLinux;
|
||||
SOpenGLOSX OpenGLOSX;
|
||||
SOpenGLFB OpenGLFB;
|
||||
SOGLESAndroid OGLESAndroid;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
#include "SColor.h"
|
||||
#include "matrix4.h"
|
||||
#include "irrMath.h"
|
||||
#include "EMaterialTypes.h"
|
||||
#include "EMaterialProps.h"
|
||||
#include "EMaterialTypes.h" // IWYU pragma: export
|
||||
#include "EMaterialProps.h" // IWYU pragma: export
|
||||
#include "SMaterialLayer.h"
|
||||
#include "IrrCompileConfig.h" // for IRRLICHT_API
|
||||
|
||||
|
|
|
@ -3,4 +3,4 @@
|
|||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||
|
||||
// replaced by template
|
||||
#include "CMeshBuffer.h"
|
||||
#include "CMeshBuffer.h" // IWYU pragma: export
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
#include "CVertexBuffer.h"
|
||||
#include "CIndexBuffer.h"
|
||||
#include "S3DVertex.h"
|
||||
#include "irrArray.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "irrTypes.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
namespace video
|
||||
|
|
|
@ -4,9 +4,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "matrix4.h"
|
||||
#include "S3DVertex.h"
|
||||
#include "SColor.h"
|
||||
#include "vector3d.h"
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "irrString.h"
|
||||
#include "path.h"
|
||||
|
||||
namespace irr
|
||||
|
|
|
@ -4,8 +4,10 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "irrMath.h"
|
||||
#include "irrString.h"
|
||||
#include "irrTypes.h"
|
||||
#include <cfloat>
|
||||
#include <climits>
|
||||
#include <cmath>
|
||||
|
||||
namespace irr
|
||||
{
|
||||
|
@ -305,7 +307,7 @@ inline const char *fast_atof_move(const char *in, f32 &result)
|
|||
if (numDecimals < IRR_ATOF_TABLE_SIZE) {
|
||||
value += decimal * fast_atof_table[numDecimals];
|
||||
} else {
|
||||
value += decimal * (f32)pow(10.f, -(float)numDecimals);
|
||||
value += decimal * std::pow(10.f, -(float)numDecimals);
|
||||
}
|
||||
in = afterDecimal;
|
||||
}
|
||||
|
@ -316,7 +318,7 @@ inline const char *fast_atof_move(const char *in, f32 &result)
|
|||
// strtol10() will deal with both + and - signs,
|
||||
// but calculate as f32 to prevent overflow at FLT_MAX
|
||||
// Using pow with float cast instead of powf as otherwise accuracy decreases.
|
||||
value *= (f32)pow(10.f, (f32)strtol10(in, &in));
|
||||
value *= std::pow(10.f, (f32)strtol10(in, &in));
|
||||
}
|
||||
|
||||
result = negative ? -value : value;
|
||||
|
|
|
@ -155,7 +155,7 @@ public:
|
|||
}
|
||||
|
||||
//! Assignment operator
|
||||
const array<T> &operator=(const array<T> &other)
|
||||
array<T> &operator=(const array<T> &other)
|
||||
{
|
||||
if (this == &other)
|
||||
return *this;
|
||||
|
|
|
@ -28,221 +28,14 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "aabbox3d.h"
|
||||
#include "CMeshBuffer.h"
|
||||
#include "coreutil.h"
|
||||
#include "dimension2d.h"
|
||||
#include "ECullingTypes.h"
|
||||
#include "EDebugSceneTypes.h"
|
||||
#include "EDriverFeatures.h"
|
||||
#include "EDriverTypes.h"
|
||||
#include "EGUIAlignment.h"
|
||||
#include "EGUIElementTypes.h"
|
||||
#include "EHardwareBufferFlags.h"
|
||||
#include "EMaterialProps.h"
|
||||
#include "EMaterialTypes.h"
|
||||
#include "ESceneNodeTypes.h"
|
||||
#include "fast_atof.h"
|
||||
#include "IAnimatedMesh.h"
|
||||
#include "IAnimatedMeshSceneNode.h"
|
||||
#include "IAttributes.h"
|
||||
#include "IBillboardSceneNode.h"
|
||||
#include "IBoneSceneNode.h"
|
||||
#include "ICameraSceneNode.h"
|
||||
#include "IContextManager.h"
|
||||
#include "ICursorControl.h"
|
||||
#include "IDummyTransformationSceneNode.h"
|
||||
#include "IEventReceiver.h"
|
||||
#include "IFileList.h"
|
||||
#include "IFileSystem.h"
|
||||
#include "IGPUProgrammingServices.h"
|
||||
#include "IGUIButton.h"
|
||||
#include "IGUICheckBox.h"
|
||||
#include "IGUIComboBox.h"
|
||||
#include "IGUIEditBox.h"
|
||||
#include "IGUIElement.h"
|
||||
#include "IGUIEnvironment.h"
|
||||
#include "IGUIFileOpenDialog.h"
|
||||
#include "IGUIFont.h"
|
||||
#include "IGUIFontBitmap.h"
|
||||
#include "IGUIImage.h"
|
||||
#include "IGUIListBox.h"
|
||||
#include "IGUIScrollBar.h"
|
||||
#include "IGUISkin.h"
|
||||
#include "IGUISpriteBank.h"
|
||||
#include "IGUIStaticText.h"
|
||||
#include "IGUITabControl.h"
|
||||
#include "IGUIToolbar.h"
|
||||
#include "IImage.h"
|
||||
#include "IImageLoader.h"
|
||||
#include "IImageWriter.h"
|
||||
#include "IIndexBuffer.h"
|
||||
#include "ILogger.h"
|
||||
#include "IMaterialRenderer.h"
|
||||
#include "IMaterialRendererServices.h"
|
||||
#include "IMesh.h"
|
||||
#include "IMeshBuffer.h"
|
||||
#include "IMeshCache.h"
|
||||
#include "IMeshLoader.h"
|
||||
#include "IMeshManipulator.h"
|
||||
#include "IMeshSceneNode.h"
|
||||
#include "IOSOperator.h"
|
||||
#include "IReadFile.h"
|
||||
#include "IReferenceCounted.h"
|
||||
#include "irrArray.h"
|
||||
#include "IRenderTarget.h"
|
||||
#include "IrrlichtDevice.h"
|
||||
#include "irrMath.h"
|
||||
#include "irrString.h"
|
||||
#include "dimension2d.h"
|
||||
#include "EDriverTypes.h"
|
||||
#include "IEventReceiver.h"
|
||||
#include "irrTypes.h"
|
||||
#include "path.h"
|
||||
#include "ISceneCollisionManager.h"
|
||||
#include "ISceneManager.h"
|
||||
#include "ISceneNode.h"
|
||||
#include "IShaderConstantSetCallBack.h"
|
||||
#include "ISkinnedMesh.h"
|
||||
#include "ITexture.h"
|
||||
#include "ITimer.h"
|
||||
#include "IVertexBuffer.h"
|
||||
#include "IVideoDriver.h"
|
||||
#include "IWriteFile.h"
|
||||
#include "Keycodes.h"
|
||||
#include "line2d.h"
|
||||
#include "line3d.h"
|
||||
#include "matrix4.h"
|
||||
#include "plane3d.h"
|
||||
#include "position2d.h"
|
||||
#include "quaternion.h"
|
||||
#include "rect.h"
|
||||
#include "S3DVertex.h"
|
||||
#include "SAnimatedMesh.h"
|
||||
#include "SceneParameters.h"
|
||||
#include "SColor.h"
|
||||
#include "SExposedVideoData.h"
|
||||
#include "SIrrCreationParameters.h"
|
||||
#include "SMaterial.h"
|
||||
#include "SMesh.h"
|
||||
#include "SMeshBuffer.h"
|
||||
#include "SSkinMeshBuffer.h"
|
||||
#include "SVertexIndex.h"
|
||||
#include "SViewFrustum.h"
|
||||
#include "vector2d.h"
|
||||
#include "vector3d.h"
|
||||
#include "IrrCompileConfig.h" // for IRRLICHT_API and IRRCALLCONV
|
||||
|
||||
/*! \mainpage Irrlicht Engine 1.9 API documentation
|
||||
*
|
||||
* <div align="center"><img src="logobig.png" ></div>
|
||||
*
|
||||
* \section intro Introduction
|
||||
*
|
||||
* Welcome to the Irrlicht Engine API documentation.
|
||||
* Here you'll find any information you'll need to develop applications with
|
||||
* the Irrlicht Engine. If you are looking for a tutorial on how to start, you'll
|
||||
* find some on the homepage of the Irrlicht Engine at
|
||||
* <A HREF="http://irrlicht.sourceforge.net" >irrlicht.sourceforge.net</A>
|
||||
* or inside the SDK in the examples directory.
|
||||
*
|
||||
* The Irrlicht Engine is intended to be an easy-to-use 3d engine, so
|
||||
* this documentation is an important part of it. If you have any questions or
|
||||
* suggestions, just send a email to the author of the engine, Nikolaus Gebhardt
|
||||
* (niko (at) irrlicht3d.org).
|
||||
*
|
||||
*
|
||||
* \section links Links
|
||||
*
|
||||
* <A HREF="namespaces.html">Namespaces</A>: A very good place to start reading
|
||||
* the documentation.<BR>
|
||||
* <A HREF="annotated.html">Class list</A>: List of all classes with descriptions.<BR>
|
||||
* <A HREF="functions.html">Class members</A>: Good place to find forgotten features.<BR>
|
||||
*
|
||||
* \section irrexample Short example
|
||||
*
|
||||
* A simple application, starting up the engine, loading a Quake 2 animated
|
||||
* model file and the corresponding texture, animating and displaying it
|
||||
* in front of a blue background and placing a user controlable 3d camera
|
||||
* would look like the following code. I think this example shows the usage
|
||||
* of the engine quite well:
|
||||
*
|
||||
* \code
|
||||
* #include <irrlicht.h>
|
||||
* using namespace irr;
|
||||
*
|
||||
* int main()
|
||||
* {
|
||||
* // start up the engine
|
||||
* IrrlichtDevice *device = createDevice(video::EDT_OPENGL,
|
||||
* core::dimension2d<u32>(640,480));
|
||||
*
|
||||
* video::IVideoDriver* driver = device->getVideoDriver();
|
||||
* scene::ISceneManager* scenemgr = device->getSceneManager();
|
||||
*
|
||||
* device->setWindowCaption(L"Hello World!");
|
||||
*
|
||||
* // load and show quake2 .md2 model
|
||||
* scene::ISceneNode* node = scenemgr->addAnimatedMeshSceneNode(
|
||||
* scenemgr->getMesh("quake2model.md2"));
|
||||
*
|
||||
* // if everything worked, add a texture and disable lighting
|
||||
* if (node)
|
||||
* {
|
||||
* node->setMaterialTexture(0, driver->getTexture("texture.bmp"));
|
||||
* node->setMaterialFlag(video::EMF_LIGHTING, false);
|
||||
* }
|
||||
*
|
||||
* // add a first person shooter style user controlled camera
|
||||
* scenemgr->addCameraSceneNodeFPS();
|
||||
*
|
||||
* // draw everything
|
||||
* while(device->run() && driver)
|
||||
* {
|
||||
* driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,0,0,255));
|
||||
* scenemgr->drawAll();
|
||||
* driver->endScene();
|
||||
* }
|
||||
*
|
||||
* // delete device
|
||||
* device->drop();
|
||||
* return 0;
|
||||
* }
|
||||
* \endcode
|
||||
*
|
||||
* Irrlicht can load a lot of file formats automatically, see irr::scene::ISceneManager::getMesh()
|
||||
* for a detailed list. So if you would like to replace the simple blue screen background by
|
||||
* a cool Quake 3 Map, optimized by an octree, just insert this code
|
||||
* somewhere before the while loop:
|
||||
*
|
||||
* \code
|
||||
* // add .pk3 archive to the file system
|
||||
* device->getFileSystem()->addZipFileArchive("quake3map.pk3");
|
||||
*
|
||||
* // load .bsp file and show it using an octree
|
||||
* scenemgr->addOctreeSceneNode(
|
||||
* scenemgr->getMesh("quake3map.bsp"));
|
||||
* \endcode
|
||||
*
|
||||
* As you can see, the engine uses namespaces. Everything in the engine is
|
||||
* placed into the namespace 'irr', but there are also 5 sub namespaces.
|
||||
* You can find a list of all namespaces with descriptions at the
|
||||
* <A HREF="namespaces.html"> namespaces page</A>.
|
||||
* This is also a good place to start reading the documentation. If you
|
||||
* don't want to write the namespace names all the time, just use all namespaces like
|
||||
* this:
|
||||
* \code
|
||||
* using namespace core;
|
||||
* using namespace scene;
|
||||
* using namespace video;
|
||||
* using namespace io;
|
||||
* using namespace gui;
|
||||
* \endcode
|
||||
*
|
||||
* There is a lot more the engine can do, but I hope this gave a short
|
||||
* overview over the basic features of the engine. For more examples, please take
|
||||
* a look into the examples directory of the SDK.
|
||||
*/
|
||||
|
||||
#include "SIrrCreationParameters.h"
|
||||
|
||||
//! Everything in the Irrlicht Engine can be found in this namespace.
|
||||
namespace irr
|
||||
{
|
||||
|
@ -314,5 +107,5 @@ namespace video
|
|||
}
|
||||
|
||||
/*! \file irrlicht.h
|
||||
\brief Main header file of the irrlicht, the only file needed to include.
|
||||
\brief Main header file of the irrlicht, needed to create a device.
|
||||
*/
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include <string>
|
||||
#include <unordered_set>
|
||||
#include "IrrCompileConfig.h" // for IRRLICHT_API
|
||||
#include "irrTypes.h"
|
||||
#include "IContextManager.h"
|
||||
#include <KHR/khrplatform.h>
|
||||
|
||||
|
|
|
@ -277,7 +277,8 @@ inline quaternion &quaternion::operator=(const matrix4 &m)
|
|||
}
|
||||
}
|
||||
|
||||
return normalize();
|
||||
normalize();
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue