Vladimír Vondruš
5a8d654433
Fix build without MAGNUM_BUILD_DEPRECATED.
...
Updated Buffer test to check all data setting functions.
13 years ago
Vladimír Vondruš
e4790eaec9
Fix installation dir for DLLs on Windows.
...
Similar change to mosra/corrade@8fbedb0df2557e8b18acbb358b83bd93d7da7e20.
13 years ago
Vladimír Vondruš
5ad5ab2c5a
Renamed Mesh::addInterleavedVertexBuffer() to addVertexBuffer().
...
Obvious change after previous commit, there is no other function
alternative to distinguish it from.
13 years ago
Vladimír Vondruš
7dd2bed63a
Removed unneeded Mesh::add*VertexBuffer*().
...
It is possible to do everything with Mesh::addInterleavedVertexBuffer().
Moreover Mesh::addVertexBuffer() was dependent on vertex count, which
was counterintuitive and not always what the user wants. Also in many
times I mistakenly used Mesh::addVertexBuffer() instead of
Mesh::addInterleavedVertexBuffer() and then spent endless hours trying
to figure out what is wrong. This is now over. Thanks, brain!
13 years ago
Vladimír Vondruš
d579e0e2c6
MeshTools: return pointer to buffer from fullScreenTriangle().
...
On systems without VAOs and without gl_VertexID the buffer needs to be
bound before every draw call. This way the buffer reference would become
dangling one, because the buffer is moved out somewhere else. Now
creating it on heap and returning pointer instead.
This multiple code path implementation is really starting to pay out,
yay!
13 years ago
Vladimír Vondruš
95bb709a1d
MeshTools: added fullScreenTriangle() utility function.
...
I got bored of copy/pasting and redocumenting/redebugging this code in
every full screen effect ever implemented.
13 years ago
Vladimír Vondruš
17de6fe51b
Install also test libs on Windows.
...
Resolves DLL hell when running tests.
13 years ago
Vladimír Vondruš
2ea5b4c9ce
Reducing pointer chasings, part 3b: less pointer passing in MeshTools.
...
MeshTools::interleave() might cause porting problems, as the error is
now much more verbose if you accidentally pass Mesh* instead of Mesh&.
13 years ago
Vladimír Vondruš
d04b308aa3
Reducing pointer chasings, part 1: method chaining via references.
...
Makes some cases less consistent (and some convenience shortcuts
impossible), but goes well with the attitude "don't use pointer when it
can't be null".
13 years ago
Vladimír Vondruš
a65cef08cd
MeshTools: added TODO.
13 years ago
Vladimír Vondruš
9311d80614
MeshTools: better assertion message for interleave().
...
Print expected and actual count to simplify debugging. Also the phrase
"nothing done." is useless, as nothing is _ever_ done after assertion
failure. Probably remains from the times where that wasn't assertion but
merely harmless warning.
13 years ago
Vladimír Vondruš
fc0bde4f47
Wrap CMAKE_SHARED_LIBRARY_CXX_FLAGS in quotes.
...
The variable is empty on some platforms (Windows), would cause issues.
13 years ago
Vladimír Vondruš
a7f5bef038
Getting rid of <>, part 1: Color classes.
...
Inspired in STL, base templated class is renamed to BasicColor{3,4} and
typedef'd with Float type to Color{3, 4}. It is much nicer to write
this:
Color3(1.0f)
Color3::fromHSV(25.0_degf, 0.5f, 0.9f);
instead of this:
Color3<>(1.0f);
Color3<>::fromHSV(25.0_degf, 0.5f, 0.9f);
13 years ago
Vladimír Vondruš
013fee8bc1
GCC 4.6 compatibility: no std::unordered_map::emplace().
...
Basically reverts (only for GCC 4.6) what was done in
b9b690b611 .
13 years ago
Vladimír Vondruš
b9b690b611
Use emplace() instead of insert() in some places.
...
Leads to (possibly faster) and shorter code.
13 years ago
Vladimír Vondruš
1701f1c42f
MeshTools: added duplicate() utility for creating non-indexed array.
13 years ago
Vladimír Vondruš
f4fdbd2b2d
MeshTools: this can be moved instead of copying.
13 years ago
Vladimír Vondruš
1c32119058
MeshTools: renamed clean() to removeDuplicates().
13 years ago
Vladimír Vondruš
915d49cc7d
MeshTools: some cleanup.
13 years ago
Vladimír Vondruš
5bf61ceb74
*Tools: deinlined heavy functions, removed redundant `inline`.
13 years ago
Vladimír Vondruš
db71a23e3c
Bring whole Corrade namespace into Magnum namespace.
...
These projects are tightly interconnected anyway, this means a lot less
typing (yay!).
13 years ago
Vladimír Vondruš
7ef8432fbe
Doxygen: ignore specific namespaces instead of whole directories.
...
Less maintenance burden with `#ifndef DOXYGEN_GENERATING_OUTPUT`,
removed the ones which are not needed anymore.
13 years ago
Vladimír Vondruš
b40c5ece39
MeshTools: don't create reference from rvalue.
...
Spotted by Emscripten/Clang, not found when running clang normally.
13 years ago
Vladimír Vondruš
f2df328fe2
Using Corrade's visibility macros instead of copypasta all over again.
13 years ago
Vladimír Vondruš
c79327ee43
Option to build Magnum as static library.
...
And optionaly position-independent code. The tests now pass again, if
both Corrade and Magnum is static.
13 years ago
Vladimír Vondruš
408f40a908
Math: renamed MathTypeTraits to TypeTraits.
...
As there is no Magnum::TypeTraits struct anymore, there is no need to
have redundant name in it. Hopefully Doxygen will handle the difference
between this and Corrade's TypeTraits.h properly.
13 years ago
Vladimír Vondruš
a0b83edd2b
Relicensing to MIT/Expat license, part 4: CMake and documentation files.
...
They didn't contain license header before, but I think adding it also
there wouldn't do any harm. Documentation is also integral part of the
codebase.
13 years ago
Vladimír Vondruš
c5ab86794b
Relicensing to MIT/Expat license, part 3: source files.
...
Added license header also to shader sources. Hopefully it won't harm
compilation times too much.
13 years ago
Vladimír Vondruš
6a5d75d1e4
Relicensing to MIT/Expat license, part 2: headers.
13 years ago
Vladimír Vondruš
90dbb28763
Thorough CMakeLists cleanup.
...
* Calling enable_testing() only in root path.
* Using CORRADE_CXX_FLAGS instead of our own set to make things easier
to maintain.
* Various cleanup and reorganization.
13 years ago
Vladimír Vondruš
231f3277ab
Adapted to Corrade changes.
...
Allowing to instantiate Trade::AbstractImporter subclasses directly
without plugin manager.
13 years ago
Vladimír Vondruš
181cf2cf11
GCC 4.6 compatibility: std::array<Vector2> can't be constexpr.
...
Don't know why.
13 years ago
Vladimír Vondruš
c707370f30
Removed unneeded includes.
13 years ago
Vladimír Vondruš
32b783505f
MeshTools: using new type aliases in whole MeshTools namespace.
13 years ago
Vladimír Vondruš
e8e8e67483
MeshTools: ability to call transformPoints*() also with DualComplex.
13 years ago
Vladimír Vondruš
7aac5bd70b
Math: no need for Complex::transformVectorNormalized().
...
Unlike quaternions it doesn't need inversion or normalization for
transforming vectors.
13 years ago
Vladimír Vondruš
c00195c24b
MeshTools: reworked and updated transform*().
...
Also added just-to-be-sure unit test.
13 years ago
Vladimír Vondruš
3de3a6861e
MeshTools: got rid of Point2D/3D in favor of Vector2/Vector3.
13 years ago
Vladimír Vondruš
4e331cabbb
Fix linker issues on Windows.
...
MagnumSceneGraphTestLib didn't have MagnumSceneGraph[Objects]_EXPORT
defined, thus failing at link time, similar issue with
MagnumMeshToolsTestLib.
13 years ago
Vladimír Vondruš
09b115679b
MeshTools: making use of index range in compressIndices().
13 years ago
Vladimír Vondruš
b9513d28cb
Merged index type setting to Mesh::setIndexBuffer() and added offset.
...
Now addVertexBuffer() etc. and setIndexBuffer() are even more similar.
13 years ago
Vladimír Vondruš
dc5a4d83d9
Removing IndexedMesh, part 5: merged documentation, removed IndexedMesh.
13 years ago
Vladimír Vondruš
9ffb8081f3
Got rid of TypeTraits class altogether.
13 years ago
Vladimír Vondruš
ad9a55a867
Doc++
13 years ago
Vladimír Vondruš
7dc0fc4a4c
Math: Renamed Math.h to Functions.h
...
Math.h is reserved for forward declaration header.
14 years ago
Vladimír Vondruš
98781b5052
Support for gaps in MeshTools::interleave().
14 years ago
Vladimír Vondruš
42f5ee4ce4
Doc++
14 years ago
Vladimír Vondruš
ca24fe8f41
Mesh index type cleanup.
...
Using specialized enum instead of global Type and shitload of type
traits to handle it correctly. Removed TypeTraits::indexType() and
cleaned up MeshTools::compressIndices() while at it.
14 years ago
Vladimír Vondruš
fcb8a7b768
Got rid of header files in tests.
...
They have no practical use and they only bloat codebase size and add
maintenance burden.
14 years ago
Vladimír Vondruš
0f889369f4
No `using namespace std` anywhere.
...
Also added missing std:: prefix to remaining cases of std::size_t,
std::[u]int[0-9]+_t, std::sin() etc., std::exit().
14 years ago