Vladimír Vondruš
93789721b2
De-inline Image headers, remove dependency on ImageView.
...
This means users have to add some more #includes on their side. Sorry
but it's for your own good :P
7 years ago
Vladimír Vondruš
8791488f4a
MeshTools: show how generate*NormalsInto() can be used with std::vector.
7 years ago
Vladimír Vondruš
cfbfdb72c0
doc: compile MeshTools snippets also when GL is disabled.
7 years ago
Vladimír Vondruš
9e2a1117de
MeshTools: yay? a new SILLY workaround for MSVC 2019?
7 years ago
Vladimír Vondruš
904a63f33b
MeshTools: make generateSmoothNormals() working with NaNs.
7 years ago
Vladimír Vondruš
5d2cf7ef93
MeshTools: ability to generate smooth normals in compile().
7 years ago
Vladimír Vondruš
ba048cd2db
MeshTools: cache angles and cross product in generateSmoothNormals().
...
It allocates one more array, but that speeds up the calculation to twice
as fast. Before the benchmark was around 1 ms for flat normals and 12 ms
for smooth, now it's 6 ms for smooth. There is probably more I could do
(I feel like I could save at least one more normalization), however this
is good enough for now.
7 years ago
Vladimír Vondruš
32da5d7587
MeshTools: benchmark generate{Flat,Smooth}Normals().
...
There's some room for improvement so I want to be able to see the
difference.
7 years ago
Vladimír Vondruš
247dff26e0
MeshTools: Primitives are now always needed for the tests.
...
The new generateSmoothNormals() needs it.
7 years ago
Vladimír Vondruš
a4310b9a31
MeshTools: added generateSmoothNormals().
...
This was a *fun* algorithmic exercise. Seriously.
7 years ago
Vladimír Vondruš
7b24161cf3
MeshTools: minor cleanup.
7 years ago
Vladimír Vondruš
d20a17c5c3
MeshTools: ability to generate flat normals in compile().
7 years ago
Vladimír Vondruš
1de258a6b2
MeshTools: de-STL-ify generateFlatNormals().
...
Also move it to a new GenerateNormals.h header so we can easily add
generateSmoothNormals() to it. The old API and header is deprecated and
will be removed in the future. I can't be bothered rewriting the old
code using the new thing, so it's preserved there as a mausoleum until
it gets finally nuked from the orbit.
7 years ago
Vladimír Vondruš
61397afc31
MeshTools: make a version of duplicate() not dependent on std::vector.
...
Provide a version taking StridedArrayView instead, taking an arbitrary
view and also arbitrary index type. Also introduce duplicateInto() which
doesn't even allocate, but rather writes the output to pre-existing
location.
7 years ago
Vladimír Vondruš
de1e1fa4d5
MeshTools: make interleave() work with Corrade containers too.
7 years ago
Vladimír Vondruš
e45e13e552
MeshTools: remove obsolete TODO.
7 years ago
Vladimír Vondruš
e1061f1766
MeshTools: fix a bad corner case in compile().
...
Having texture coordinates *and* colors is very unusual, nevertheless it
was a bug.
7 years ago
Vladimír Vondruš
bf4bf9eac5
MeshTools: 100% code coverage for compile().
...
There's some bug in there, so let's test it all.
7 years ago
Vladimír Vondruš
3626562e1d
Adapted to Corrade changes.
...
Mostly missing includes now.
7 years ago
Vladimír Vondruš
c12680ec38
Math: move batch functionality to FunctionsBatch.h.
...
Avoids including a (relatively) large ArrayView in Functions.h. Yes,
we are now at a point where 500 lines matter.
7 years ago
Vladimír Vondruš
b24ffa4a3e
Use min() / max() / minmax() from Math instead of std::.
...
First step to avoid the <algorithm> header.
7 years ago
Vladimír Vondruš
8ba2cac0ee
DebugTools, MeshTools, TextureTools: handle broken gl_VertexID.
...
DebugTools::textureSubImage(), MeshTools::fullScreenTriangle() and
TextureTools::distanceField() all plagued by this on SwiftShader.
7 years ago
Vladimír Vondruš
5bf09f0cea
MeshTools: update fullScreenTriangle() docs.
7 years ago
Vladimír Vondruš
cf3ad5c700
MeshTools: test fullScreenTriangle().
...
Turns out the ES3 version doesn't work on SwiftShader due to broken
gl_VertexID.
7 years ago
Vladimír Vondruš
f9f3df69de
Get rid of std::unique_ptr.
7 years ago
Vladimír Vondruš
f7dcb62e93
MeshTools: return just a mesh from fullScreenTriangle().
...
Backwards-incompatible change, sorry.
7 years ago
Vladimír Vondruš
2149f7b869
Wrap all tests in unnamed namespaces.
...
This makes the compiler warn about test cases that aren't ever used,
which is a good thing.
7 years ago
Vladimír Vondruš
e6b7aa12fa
Updated copyright year.
7 years ago
Vladimír Vondruš
4deb2a5fe7
MeshTools: inline functions should not be heavy.
...
Returning a vector is as heavy as you can imagine.
7 years ago
Squareys
e6fd70fe00
MeshTools: compile mesh colors to Color4 attribute
...
Signed-off-by: Squareys <squareys@googlemail.com>
8 years ago
Vladimír Vondruš
89ab8c43e0
MeshTools: why put docs for transform() to an obscure dualquat overload?
...
The type is not even usable for scaling. Putting the docs to the Matrix4
overload instead. Thanks to @uzername for pointing this out.
8 years ago
Vladimír Vondruš
8dc1f8a7da
MeshTools: make the generateFlatNormals() docs less handwavy.
...
If it takes *me* ten minutes to figure out how this needs to be used,
then it probably should be documented.
8 years ago
Vladimír Vondruš
0adf7ea323
MeshTools: make the tests compile even if Primitives are not enabled.
...
Disabling that one benchmark which depends on Primitives.
8 years ago
Vladimír Vondruš
b0186c3022
MeshTools: explicitly set buffer target hints in compile().
...
These were the defaults anyway, but it's good to be explicit.
8 years ago
Vladimír Vondruš
424eec4818
MeshTools: simplify compile().
...
I wanted to do this since *ever*.
8 years ago
Vladimír Vondruš
4e757a3f64
Split the OpenGL layer out, pt 26: remove dependencies on the GL lib.
...
Primitives, MeshTools, Trade and TextureTools are not depending on the
GL library anymore.
8 years ago
Vladimír Vondruš
f279549044
Split the OpenGL layer out, pt 18: adapted MeshTools.
8 years ago
Vladimír Vondruš
b1de952c13
Split the OpenGL layer out, pt 6: adapted buildsystem of dependent libs.
...
Now the rest should build with a lot of deprecation warnings.
8 years ago
Vladimír Vondruš
3e23568202
MeshTools: don't link the test lib to a different version of itself.
8 years ago
Vladimír Vondruš
920db7aa73
Split the Trade library out.
8 years ago
Vladimír Vondruš
fb483be512
MeshTools: suppress MSVC warning when using interleave().
8 years ago
Vladimír Vondruš
c139e0384d
Primitives: get rid of useless classes.
...
All functionality is now available through free functions. The classes
are now just deprecated wrappers and/or typedefs and will be removed in
some future release.
8 years ago
Vladimír Vondruš
d905809818
doc: compiled code snippets for the MeshTools namespace.
...
This was quite okay, in fact.
8 years ago
Vladimír Vondruš
8f27da9dfd
Set library soversion to 1.0, version to 0.
8 years ago
Vladimír Vondruš
28475e1bd8
Doc++
8 years ago
Vladimír Vondruš
623fa97970
Updated copyright year.
8 years ago
Vladimír Vondruš
1ec14c678b
Local Doxygen ignores for symbol export macros.
...
It was impossible to put all macros including the ones from other
projects into the global Doxyfile. Much cleaner now <3
8 years ago
Vladimír Vondruš
eee9cbb353
MeshTools: updates for the new documentation theme.
8 years ago
Vladimír Vondruš
b109d520a9
MeshTools: doc++
9 years ago
Vladimír Vondruš
12fa6961c8
Use CMake folders also for OBJECT libraries, executables and tests.
9 years ago