I know that the latter allow more options, and I understand most of them. But there is one thing.
With createDevice I don't create any window, Irrlicht does, and I don't need to know anything about what's under it. With the "Ex" call I can create a window myself and then pass it to irrlicht for its device. Seems a rather clumsy way: is there a reason to do such thing (e.g. options that can only be set natively, circumventing some restriction in windows/linux/macOS, whatever)?
I mean, is there a situation where I must absolutely create a native window and then use createDeviceEx() instead of delegating the task to the regular createDevice()?
createDevice vs. createDeviceEx
Re: createDevice vs. createDeviceEx
Main reason is probably to use Irrlicht inside another API. For example Irrlicht with Qt, WTL, MFC and so on. There is even an example (14. Win32Window) which shows for example how to run Irrlicht on top of a button.
But also as you guessed - it can be used to set native stuff. Irrlicht uses pretty much typical default values for the window and there are situations where you might want to pass other settings than it uses (sorry, can't think of anything right now, but I know people needed it sometimes).
But also as you guessed - it can be used to set native stuff. Irrlicht uses pretty much typical default values for the window and there are situations where you might want to pass other settings than it uses (sorry, can't think of anything right now, but I know people needed it sometimes).
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Re: createDevice vs. createDeviceEx
The fake fullscreen on Windows is one example.
Re: createDevice vs. createDeviceEx
I rather the expression "virtual" fullscreen, as it allows to swap between applications without the troubles of exitting and entering a real fullscreen modes
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
Re: createDevice vs. createDeviceEx
This means that many different IrrlichtDevices can be used at the same time, embedded in other frameworks' controls. This is a scenario I never contemplated. Thank you