OpenGL includes are ~35k lines together and it is a waste of
compilation time to include them even if they are not needed at all
(e.g. whole SceneGraph and Physics libraries). Saves ~10s of compilation
time (6:46 before, now 6:35).
It prevents unwanted implicit conversions from e.g. nullptr to Camera,
Vector2 to Physics::Point etc. By making all the constructors explicit
it is easier to routinely add the keyword to all new classes instead of
thinking about cases when to add and when not to.
Similar to `glxinfo`, displays information about Magnum engine and
OpenGL capabilities. Currently for Unix/X11 only, as I don't have
windowless application implementation for other platforms.
Finally something that can be used for:
* Unit tests
* Resource compilation
* Benchmarks
* ...
I also desperately need something similar for Windows (and Mac OS, too).
We still want to target old Intel machines with OpenGL 2.1. Also moved
important information from constructor documentation to class
documentation. Who would look into constructor documentation for that?
Optimalizations in Corrade::TestSuite and Corrade::Utility::Debug leaded
to significant reduction of compilation time - on my machine it was
~5:38 before with building of unit tests enabled, now only ~5:00.
I don't want to ditch old Intels with GL 2.1 yet. Also now the version
reported in Context is really the highest supported version, which
optimizes extension presence checks a bit.
Apparently input events can be processed during buffer swapping. Now
asserting that callback from buffer swap is not called during input
event processing (which shouldn't, as both functions should be called in
the same thread).
NaCl and SDL2 are now hotswappable again without any unimplemented or
superfluous function parameters.
Also added missing EnumSet operators for Modifiers.