Everything what was in src/ is now in src/Corrade, everything from
src/Plugins is now in src/MagnumPlugins, everything from external/ is in
src/MagnumExternal. Added new CMakeLists.txt file and updated the other
ones for the moves, no other change was made. If MAGNUM_BUILD_DEPRECATED
is set, everything compiles and installs like previously except for the
plugins, which are now in MagnumPlugins and not in Magnum/Plugins.
Makes it possible to properly compute offset when adding matrix
attributes to mesh. The matrix-related test cases in Mesh test are now
passing. The vector count is now enum value to make it more clear that
that is compile-time constant independent of what was said in
constructor.
This is just a convenience wrapper around result<UnsignedInt>(), so we
can implement it using that. And return true whenever the result is
nonzero (previously was returning true for 1 and false for 0, 2, 3,
etc., which is wrong). The tests now pass again.
The attach() functions are a total mess, need to be reworked along with
typesafe array etc. textures. The test doesn't link or pass due to some
issues, see the following commits.
To have BufferImage::buffer().data() consistent with Image::data()
(default is unsigned char data type, but it is possible to reinterpret
the data). Saves some ugly code:
Image2D image(ColorFormat::RGB, ColorType::UnsignedByte, ...);
Color3ub a = reinterpret_cast<Color3ub*>(image.data())[0]; // before
Color3ub b = image.data<Color3ub>()[0]; // after
They provide the same or slightly different functionality as is present
in ES3 itself, causing confusion. Fortunately this change required only
one modification in Context test and nowhere else.
Besides all the good things it is now possible to do even more insane
and useless constexpr-fu:
constexpr auto a = Math::Matrix3x3<Int>::fromDiagonal({1, 3, 2});
/* 7 0
0 7 */
constexpr Math::Matrix<a.diagonal()[2], Int> c(7);
It was needed for running some tests with graceful assert, but is not
needed anymore. This should also fix issues with CMake-generated XCode 5
project. Also fixed a few oddities:
* Setting CMAKE_SHARED_LIBRARY_CXX_FLAGS only if it's really needed.
* Don't add -DGLLoadGen_EXPORTS when building Math library, as it is
not needed at all.