Vladimír Vondruš
eb83dd5a8f
MeshTools: clarify confusing comment.
3 years ago
Vladimír Vondruš
02e0d85f51
MeshTools: support morph targets in transform().
3 years ago
Vladimír Vondruš
e076e29b6b
MeshTools: avoid unnecessary double lookup in transform*().
3 years ago
Vladimír Vondruš
9b4ee91239
MeshTools: recognize & ignore morph targets in compile().
...
No builtin support for these at the moment.
3 years ago
Vladimír Vondruš
02a2986912
MeshTools: clean up MeshData construction formatting in a test.
3 years ago
Vladimír Vondruš
6b7b5f426b
MeshTools: preserve morph target ID in interleavedLayout().
...
And thus in all APIs that use it, or rely on related helpers.
3 years ago
Vladimír Vondruš
0607c476f7
sceneconverter: show morph target ID in --info output, if present.
3 years ago
Vladimír Vondruš
81b237ba14
sceneconverter: silly typo in a test.
3 years ago
Vladimír Vondruš
f84c3679c3
Trade: support morph targets in MeshData.
...
Attributes that are morph targets are marked with a morph target ID,
those then get treated separately in name-based lookups.
3 years ago
Vladimír Vondruš
75265d79a7
Trade: update MeshData test to the usual workflow.
...
Back when I wrote the test I didn't know what would be the most
convenient way to use the API yet, so it was unnecessarily verbose in
various places. Now I do.
Also using Utility::copy() to populate the arrays. No need to suffer
this much for no reason.
3 years ago
Vladimír Vondruš
85906f55b2
Trade: match test case declaration order with definitons.
3 years ago
Vladimír Vondruš
c43f6bf043
MeshTools: test combineIndexedAttributes() with an offset-only attrib.
...
Just to be sure. It doesn't cause any issues.
3 years ago
Vladimír Vondruš
62b954e258
MeshTools: implement combine*() using interleavedLayout().
...
So the same logic isn't duplicated in two places, plus future-proofing
for when interleavedLayout() gains alignment-aware attribute reordering.
3 years ago
Vladimír Vondruš
5db4aa121e
MeshTools: minor code motion.
3 years ago
Vladimír Vondruš
2dce9a1c63
MeshTools: don't zero init an array that gets fully overwritten.
...
I really need to deprecate the "implicit value init" Array constructor,
far too many cases like this.
3 years ago
Vladimír Vondruš
b1d1d65e5a
MeshTools: don't create tons of strided views from scratch in combine*().
...
Instead create it once and then slice it up. Significantly less error
prone and faster as well as the assertions don't need to check that
much.
3 years ago
Vladimír Vondruš
758b4ad05c
MeshTools: pass an ArrayView instead of an Array reference.
...
Huh this whole code smells ... rotten.
3 years ago
Vladimír Vondruš
e0a1f435d7
SceneTools: minor.
3 years ago
Vladimír Vondruš
ec3241f425
MeshTools: common helper for remapping MeshAttributeData to new arrays.
...
So all the locations don't need to be explicitly tested when anything
happens with this -- already way too complex -- MeshAttributeData
constructor.
3 years ago
Vladimír Vondruš
f50c88b392
{Material,Mesh,SceneTools}: use Utility::copyMasked() in filter*().
...
It's not really implemented in a fast way yet, but that doesn't mean the
custom loops were any better.
3 years ago
Vladimír Vondruš
1d9190a3c6
Trade: minor cleanup in a test.
...
Last time I generally used () for construction was maybe 2014. Why is it
still here?
3 years ago
Vladimír Vondruš
414e80bbe2
Trade: avoid double lookup in template MeshData and SceneData accessors.
...
The second lookup was only needed for a type compatibility assertion,
which is a bit unfortunate. It wouldn't be a problem on a no-assert
build, but for various reasons people shouldn't be using these. Too
dangerous.
3 years ago
Vladimír Vondruš
5beefc3b1c
Trade: use a colored diff comparison for large strings.
3 years ago
Vladimír Vondruš
e509f02da8
doc: update changelog.
3 years ago
Pablo Escobar
e1583700e5
debuggers: add MSVC natvis files.
3 years ago
Vladimír Vondruš
4f1a56c463
GL: fix a link to glTextureUnit().
3 years ago
Vladimír Vondruš
bbb54a9df8
It's 2023 already!
3 years ago
Vladimír Vondruš
21cff30b27
modules: update Find modules from Corrade repository.
3 years ago
Vladimír Vondruš
11fa89c36e
Test: can now do just .prefix(0) instead of some crazy shit.
3 years ago
Vladimír Vondruš
c7a4c96072
MeshTools: show an example sequence for each generate*Indices() API.
...
Makes it easier to see what these are doing.
3 years ago
Vladimír Vondruš
05dda3f832
DebugTools: minor coverage fix.
...
Looks like the switch cases are handled differently now, I'm pretty
sure the original way worked before.
3 years ago
Vladimír Vondruš
8150e06616
DebugTools: support half floats in CompareImage for pixel views.
...
For images it was supported already, but here I forgot somehow.
3 years ago
Vladimír Vondruš
f589aa1a5d
DebugTools: improve pixel view format autodetection in CompareImage.
...
Originally it was just assuming that any Vector3ub or Color3ub is a
normalized format. That was kinda enough for many cases, but it started
to get annoying with sRGB image comparisons, as those had to be
manually reinterpret with a sRGB-less format in order to pass.
Now the pixel format detection looks at the expected image format as
well, and if the underlying type and component count matches, it
inherits the sRGB and normalized property from it as well. If not, it
falls back to an integer format for vectors, and normalized format for
colors. For vectors this is different from previous behavior but
shouldn't cause any problem in practice -- the only result will be that
the image comparison fails with a different message for pixel format
mismatch than before.
This now also properly and fully tests the pixelFormatFor() helper, and
adds a missing Color3 specialization of it.
3 years ago
Vladimír Vondruš
e5a2b29f39
Math: disable KTX Y-flip on load in a test data generator script.
3 years ago
Vladimír Vondruš
410441791c
Math: implement BC2 flipping as well.
...
It's a weird format nobody uses, but since I have the full context in my
head now, it's easy to do.
3 years ago
Vladimír Vondruš
ccc5a45c4f
Math: can load just 6 bytes instead of 8 for BC4.
3 years ago
Vladimír Vondruš
3ccb7a9fc9
Math: utilities for flipping BC1/3/4/5 blocks.
...
Most of the testing scaffolding here is a preparation for the actually
complex formats like BC6/7 or ASTC. Also, it's great to be able to use
Magnum from Python to prepare data for testing the C++ Magnum APIs.
3 years ago
Vladimír Vondruš
e02104df22
Math: print a note in the test if char is unsigned.
...
To make it easier to discover such platforms.
3 years ago
Vladimír Vondruš
3113306d82
package/archlinux: adapt to lcov 2.0 changes.
3 years ago
Vladimír Vondruš
13e18ebba7
DebugTools: more convenience CompareImage constructors.
...
I need to pass both the importer and converter managers but don't need
any thresholds.
3 years ago
Vladimír Vondruš
2975e7af15
Doc++
3 years ago
Vladimír Vondruš
0866e5c6e0
AnyImageConverter: adapt test to magnum-plugins changes.
3 years ago
Vladimír Vondruš
25441e7468
*converter: support adding new option keys by prefixing them with +.
...
Since it's adding new options, it doesn't warn if the key isn't found.
3 years ago
Vladimír Vondruš
4b765e9b12
AnySceneConverter: GCC 4.8, don't crash on me.
3 years ago
Vladimír Vondruš
ebfed3697e
AnySceneConverter: don't be lazy and test this properly as well.
3 years ago
Vladimír Vondruš
7fd5eec964
AnySceneImporter: properly propagate mesh level count.
...
Importers with multi-level mesh support are here since 2020, yet somehow
this plugin never exposed those. Another reason for proper test
coverage. The original triangle.ply was used by AnySceneConverter tests,
so it was moved there instead.
3 years ago
Vladimír Vondruš
89aaf09217
AnySceneImporter: don't be lazy and properly test everything.
3 years ago
Vladimír Vondruš
22c20bee4c
AnyImageImporter: properly test level count propagation.
...
Such a hopeful test coverage, almost there, and yet it doesn't test
everything. It now uses 1D, 2D and 3D KTX2 files with levels taken
directly from KtxImporter tests, the original 1d.ktx2 and 3d.ktx2 are
moved to AnyImageConverter test where they are used to verify metadata
presence.
3 years ago
Vladimír Vondruš
05f42fb446
sceneconverter: adapt test to GltfSceneConverter changes.
3 years ago
Vladimír Vondruš
71516ab436
Platform: properly tell GLFW to use EGL if desired.
...
This was somehow included only in the GLES branch, not on desktop, and I
didn't realize that until now.
3 years ago