Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# irr::SIrrlichtCreationParameters Struct Reference

Structure for holding Irrlicht Device creation parameters. More...

`#include <SIrrCreationParameters.h>`

List of all members.

## Public Member Functions
SIrrlichtCreationParameters & | operator= (const SIrrlichtCreationParameters &other)
| SIrrlichtCreationParameters (const SIrrlichtCreationParameters &other)
| SIrrlichtCreationParameters ()
| Constructs a SIrrlichtCreationParameters structure with default values.
## Public Attributes
u8 | AntiAlias
| Specifies if the device should use fullscreen anti aliasing.
u8 | Bits
| Minimum Bits per pixel of the color buffer in fullscreen mode. Ignored if windowed mode. Default: 16.
E_DEVICE_TYPE | DeviceType
| Type of the device.
bool | Doublebuffer
| Whether the main framebuffer uses doublebuffering.
video::E_DRIVER_TYPE | DriverType
| Type of video driver used to render graphics.
IEventReceiver * | EventReceiver
| A user created event receiver.
bool | Fullscreen
| Should be set to true if the device should run in fullscreen.
bool | HighPrecisionFPU
| Specifies if the device should use high precision FPU setting.
bool | IgnoreInput
| Specifies if the device should ignore input events.
const c8 *const | SDK_version_do_not_use
| Don't use or change this parameter.
bool | Stencilbuffer
| Specifies if the stencil buffer should be enabled.
bool | Stereobuffer
| Specifies if the device should use stereo buffers.
bool | Vsync
| Specifies vertical syncronisation.
void * | WindowId
| Window Id.
core::dimension2d< u32 > | WindowSize
| Size of the window or the video mode in fullscreen mode. Default: 800x600.
bool | WithAlphaChannel
| Whether the main framebuffer uses an alpha channel.
u8 | ZBufferBits
| Minimum Bits per pixel of the depth buffer. Default: 16.

## Detailed Description

Structure for holding Irrlicht Device creation parameters.

This structure is used in the createDeviceEx() function.

Definition at line 18 of file SIrrCreationParameters.h.

## Constructor & Destructor Documentation

irr::SIrrlichtCreationParameters::SIrrlichtCreationParameters | ( |  | ) | `[inline]`

Constructs a SIrrlichtCreationParameters structure with default values.

Definition at line 21 of file SIrrCreationParameters.h.

irr::SIrrlichtCreationParameters::SIrrlichtCreationParameters | ( | const SIrrlichtCreationParameters & | other | ) | `[inline]`

Definition at line 42 of file SIrrCreationParameters.h.

## Member Function Documentation

SIrrlichtCreationParameters& irr::SIrrlichtCreationParameters::operator= | ( | const SIrrlichtCreationParameters & | other | ) | `[inline]`

Definition at line 46 of file SIrrCreationParameters.h.

References AntiAlias, Bits, DeviceType, Doublebuffer, DriverType, EventReceiver, Fullscreen, HighPrecisionFPU, IgnoreInput, Stencilbuffer, Stereobuffer, Vsync, WindowId, WindowSize, WithAlphaChannel, and ZBufferBits.

## Member Data Documentation

u8 irr::SIrrlichtCreationParameters::AntiAlias

Specifies if the device should use fullscreen anti aliasing.

Makes sharp/pixelated edges softer, but requires more performance. Also, 2D elements might look blurred with this switched on. The resulting rendering quality also depends on the hardware and driver you are using, your program might look different on different hardware with this. So if you are writing a game/application with AntiAlias switched on, it would be a good idea to make it possible to switch this option off again by the user. The value is the maximal antialiasing factor requested for the device. The cretion method will automatically try smaller values if no window can be created with the given value. Value one is usually the same as 0 (disabled), but might be a special value on some platforms. On D3D devices it maps to NONMASKABLE. Default value: 0 - disabled

Definition at line 130 of file SIrrCreationParameters.h.

Referenced by operator=().

u8 irr::SIrrlichtCreationParameters::Bits

Minimum Bits per pixel of the color buffer in fullscreen mode. Ignored if windowed mode. Default: 16.

Definition at line 91 of file SIrrCreationParameters.h.

Referenced by operator=().

E_DEVICE_TYPE irr::SIrrlichtCreationParameters::DeviceType

Type of the device.

This setting decides the windowing system used by the device, most device types are native to a specific operating system and so may not be available. EIDT_WIN32 is only available on Windows desktops, EIDT_WINCE is only available on Windows mobile devices, EIDT_COCOA is only available on Mac OSX, EIDT_X11 is available on Linux, Solaris, BSD and other operating systems which use X11, EIDT_SDL is available on most systems if compiled in, EIDT_CONSOLE is usually available but can only render to text, EIDT_BEST will select the best available device for your operating system. Default: EIDT_BEST.

Definition at line 78 of file SIrrCreationParameters.h.

Referenced by operator=().

bool irr::SIrrlichtCreationParameters::Doublebuffer

Whether the main framebuffer uses doublebuffering.

This should be usually enabled, in order to avoid render artifacts on the visible framebuffer. However, it might be useful to use only one buffer on very small devices. If no doublebuffering is available, the drivers will fall back to single buffers. Default value: true

Definition at line 149 of file SIrrCreationParameters.h.

Referenced by operator=().

video::E_DRIVER_TYPE irr::SIrrlichtCreationParameters::DriverType

Type of video driver used to render graphics.

This can currently be video::EDT_NULL, video::EDT_SOFTWARE, video::EDT_BURNINGSVIDEO, video::EDT_DIRECT3D8, video::EDT_DIRECT3D9, and video::EDT_OPENGL. Default: Software.

Definition at line 85 of file SIrrCreationParameters.h.

Referenced by operator=().

IEventReceiver* irr::SIrrlichtCreationParameters::EventReceiver

A user created event receiver.

Definition at line 176 of file SIrrCreationParameters.h.

Referenced by operator=().

bool irr::SIrrlichtCreationParameters::Fullscreen

Should be set to true if the device should run in fullscreen.

Otherwise the device runs in windowed mode. Default: false.

Definition at line 98 of file SIrrCreationParameters.h.

Referenced by operator=().

bool irr::SIrrlichtCreationParameters::HighPrecisionFPU

Specifies if the device should use high precision FPU setting.

This is only relevant for DirectX Devices, which switch to low FPU precision by default for performance reasons. However, this may lead to problems with the other computations of the application. In this case setting this flag to true should help

- on the expense of performance loss, though. Default value: false

Definition at line 173 of file SIrrCreationParameters.h.

Referenced by operator=().

bool irr::SIrrlichtCreationParameters::IgnoreInput

Specifies if the device should ignore input events.

This is only relevant when using external I/O handlers. External windows need to take care of this themselves. Currently only supported by X11. Default value: false

Definition at line 156 of file SIrrCreationParameters.h.

Referenced by operator=().

const c8* const irr::SIrrlichtCreationParameters::SDK_version_do_not_use

Don't use or change this parameter.

Always set it to IRRLICHT_SDK_VERSION, which is done by default. This is needed for sdk version checks.

Definition at line 234 of file SIrrCreationParameters.h.

bool irr::SIrrlichtCreationParameters::Stencilbuffer

Specifies if the stencil buffer should be enabled.

Set this to true, if you want the engine be able to draw stencil buffer shadows. Note that not all drivers are able to use the stencil buffer, hence it can be ignored during device creation. Without the stencil buffer no shadows will be drawn. Default: false.

Definition at line 106 of file SIrrCreationParameters.h.

Referenced by operator=().

bool irr::SIrrlichtCreationParameters::Stereobuffer

Specifies if the device should use stereo buffers.

Some high-end gfx cards support two framebuffers for direct support of stereoscopic output devices. If this flag is set the device tries to create a stereo context. Currently only supported by OpenGL. Default value: false

Definition at line 164 of file SIrrCreationParameters.h.

Referenced by operator=().

bool irr::SIrrlichtCreationParameters::Vsync

Specifies vertical syncronisation.

If set to true, the driver will wait for the vertical retrace period, otherwise not. May be silently ignored. Default: false

Definition at line 112 of file SIrrCreationParameters.h.

Referenced by operator=().

void* irr::SIrrlichtCreationParameters::WindowId

Window Id.

If this is set to a value other than 0, the Irrlicht Engine will be created in an already existing window. For windows, set this to the HWND of the window you want. The windowSize and FullScreen options will be ignored when using the WindowId parameter. Default this is set to 0. To make Irrlicht run inside the custom window, you still will have to draw Irrlicht on your own. You can use this loop, as usual:

                    while (device->run())
                    {
                            driver->beginScene(true, true, 0);
                            smgr->drawAll();
                            driver->endScene();
                    }

Instead of this, you can also simply use your own message loop using GetMessage, DispatchMessage and whatever. Calling IrrlichtDevice::run() will cause Irrlicht to dispatch messages internally too. You need not call Device->run() if you want to do your own message dispatching loop, but Irrlicht will not be able to fetch user input then and you have to do it on your own using the window messages, DirectInput, or whatever. Also, you'll have to increment the Irrlicht timer. An alternative, own message dispatching loop without device->run() would look like this:

                    MSG msg;
                    while (true)
                    {
                            if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
                            {
                                    TranslateMessage(&msg);
                                    DispatchMessage(&msg);

                                    if (msg.message == WM_QUIT)
                                            break;
                            }

                            // increase virtual timer time
                            device->getTimer()->tick();

                            // draw engine picture
                            driver->beginScene(true, true, 0);
                            smgr->drawAll();
                            driver->endScene();
                    }

However, there is no need to draw the picture this often. Just do it how you like.

Definition at line 229 of file SIrrCreationParameters.h.

Referenced by operator=().

core::dimension2d<u32> irr::SIrrlichtCreationParameters::WindowSize

Size of the window or the video mode in fullscreen mode. Default: 800x600.

Definition at line 88 of file SIrrCreationParameters.h.

Referenced by operator=().

bool irr::SIrrlichtCreationParameters::WithAlphaChannel

Whether the main framebuffer uses an alpha channel.

In some situations it might be desireable to get a color buffer with an alpha channel, e.g. when rendering into a transparent window or overlay. If this flag is set the device tries to create a framebuffer with alpha channel. If this flag is set, only color buffers with alpha channel are considered. Otherwise, it depends on the actual hardware if the colorbuffer has an alpha channel or not. Default value: false

Definition at line 141 of file SIrrCreationParameters.h.

Referenced by operator=().

u8 irr::SIrrlichtCreationParameters::ZBufferBits

Minimum Bits per pixel of the depth buffer. Default: 16.

Definition at line 94 of file SIrrCreationParameters.h.

Referenced by operator=().

The documentation for this struct was generated from the following file:

- SIrrCreationParameters.h

| The Irrlicht Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:09 2010 by Doxygen (1.5.6)