Vladimír Vondruš
937689ea61
MeshTools: deSTLify compressIndices().
...
There's a lot to change with the current version -- the bloaty tuple,
the useless min/max, and compressing all the way down to 8 bits is not
desirable anymore either. The new function allows to specify a minimal
type to compress to and works also on 8- and 16-byte types, which makes
it possible to also inflate a smaller type into a larger one.
The old function is now deprecated.
6 years ago
Vladimír Vondruš
75eefdbe70
MeshTools: adapt flipFaceWinding(), flipNormals() and tipsify() tests.
6 years ago
Vladimír Vondruš
b589f15640
MeshTools: deSTLify flipNormals(), flipFaceWinding() and tipsify().
...
And rename them to *InPlace(), since that's what they do. The original
STL variants are now deprecated wrappers over the new names. Not
adapting the test yet in order to test everything is alright.
6 years ago
Vladimír Vondruš
77d7931df2
MeshTools: added a STL-less subdivide().
...
The subdivideInPlace() alone wasn't convenient enough.
6 years ago
Vladimír Vondruš
78a29431b1
MeshTools: duplicateInto() taking also type-erased indices.
6 years ago
Vladimír Vondruš
aeedf1264d
MeshTools: generateSmoothNormals() taking also type-erased indices.
6 years ago
Vladimír Vondruš
1684ccac2d
MeshTools: simplify test code a bit.
...
We have new less shitty APIs, so use them!
6 years ago
Vladimír Vondruš
db502c1acf
MeshTools: this test didn't test the NaNs at all.
...
I wonder what was I doing back then.
6 years ago
Vladimír Vondruš
24d01e29c8
MeshTools: update an assertion text, add a test for it.
6 years ago
Vladimír Vondruš
735c59e96b
MeshTools: added a duplicateInto() variant taking a 2D strided array view.
...
This also allowed me to move all the complexity and assertions into a
cpp file, no longer polluting the header.
6 years ago
Vladimír Vondruš
29f0fdb188
MeshTools: explicit generateSmoothNormals() overloads for each index type.
...
The templated version had the unfortunate "feature" of not being able to
figure out the type when an array view or a C array got passed to it.
That led to worse-than-ideal UX and even though it's now a bit more
verbose on the implementation side, it's the preferred solution.
6 years ago
Vladimír Vondruš
2f15f95ab5
MeshTools: this is also new since last release.
6 years ago
Vladimír Vondruš
847e3c8e49
MeshTools: group similar functions together.
6 years ago
Vladimír Vondruš
677b24a807
MeshTools: doc++
6 years ago
Vladimír Vondruš
a1924f55c4
MeshTools: subdivideInPlace() accepts strided indices of any type.
...
Also vastly improved tests and docs.
6 years ago
Vladimír Vondruš
1c74a87f24
Primitives: use a more efficient duplicate removal approach in Icosphere.
...
It's still extremely bad, but at least something.
6 years ago
Vladimír Vondruš
ea7259b424
MeshTools: add STL-free removeDuplicatesInPlace() & an indexed variant also.
6 years ago
Vladimír Vondruš
274759c0be
MeshTools: clean up and clarify removeDuplicates().
...
I spent a week (!) thinking the extra remapping array is not necessary.
Actually, it is (though with a non-shitty hashmap the allocation could
be done for both) -- this was an university assignment almost a decade
ago and it wouldn't pass if it would be wasting time.
But the english of past me was horrible. Yes.
6 years ago
Vladimír Vondruš
4f0170ace4
GL: taking just an init list in MeshView::draw() was a stupid idea.
...
With just that, it wouldn't be possible to draw a runtime-dependent
amount of MeshViews (for example when culling them).
6 years ago
Vladimír Vondruš
881003d90b
Test: adapt tests to change in TestSuite float epsilon precisions.
6 years ago
Vladimír Vondruš
c68cee85c2
package/ci: switch to a WebAssembly build.
...
I'm tired of dealing with alignment issues on asm.js. Also Homebrew FFS.
6 years ago
Vladimír Vondruš
ab0cba2573
Math: minor cleanup.
6 years ago
Vladimír Vondruš
53151f606a
Math: ensure TypeTraits fuzzy compare is consistent with TestSuite.
...
It wasn't until now (TestSuite was wrong), so prevent similar issues
from happening in the future.
6 years ago
Vladimír Vondruš
cff219d986
doc: make vcpkg/hunter instructions easier to find.
6 years ago
Vladimír Vondruš
6794df83b3
doc: fix dead links to Hunter.
6 years ago
Vladimír Vondruš
513f3f5392
doc: avoid linking to deprecated features.
6 years ago
Vladimír Vondruš
526254912e
doc: updated credits and changelog.
6 years ago
Squareys
a0e6ac1ed0
Math: Non-const overloads for Frustum::(left|right|top|bottom|near|far|[])
...
Signed-off-by: Squareys <squareys@googlemail.com>
6 years ago
Vladimír Vondruš
7c25dc64f2
GL: reading from front buffer is n/a on WebGL, so don't expose that.
6 years ago
Vladimír Vondruš
c6619fc685
doc: thanks, Doxygen, but no.
...
No, this was definitely not meant to be a code block that's 100
kilometers wide and for some strange reason contains raw XML data of the
whole docblock. This should FAIL instead of silently putting everything
on fire.
6 years ago
Vladimír Vondruš
af05883ec8
GL: doc++
6 years ago
Vladimír Vondruš
3f57130547
GL, Vk: future-proof mesh primitive and index mapping tables.
...
The test now explicitly goes through all generic names and checks that
the mapping doesn't blow up.
6 years ago
Vladimír Vondruš
b5d9e1cfb7
GL: improve a test.
...
It's tested everywhere but here so I guess it was some accidental
omission.
6 years ago
Vladimír Vondruš
8f52397027
Trade: mark new APIs as such.
6 years ago
Vladimír Vondruš
d2122a3811
Vk: the heck?!
...
I copypasted real bad here.
6 years ago
Vladimír Vondruš
4c6c734dbe
Document mapping of MeshPrimitive to D3D and Metal.
6 years ago
Vladimír Vondruš
592d11a9d2
doc: link to latest Vulkan spec, and the non-chunked extensions.
...
Slightly better for loading times but still eh.
6 years ago
Vladimír Vondruš
02d1eda03a
Vk: support 8-bit index types.
6 years ago
Vladimír Vondruš
f98640a2b3
external: update Vulkan headers to latest spec.
6 years ago
Vladimír Vondruš
5b61f64a50
doc: another day, another heap of Doxygen fun.
6 years ago
Vladimír Vondruš
92a9940628
AnyImageImporter: make the plugin movable.
...
Needed for caching in importers that support mip level import.
6 years ago
Vladimír Vondruš
dfacd7fb2d
Trade: support mip levels in image import.
...
There's a new level option in each imageND() API, plus an
imageNDLevelCount() query to get image level count.
6 years ago
Vladimír Vondruš
010e684071
doc: updated changelog.
6 years ago
Jackson Campolattaro
e519edfb29
doc: removed text suggesting Vcpkg is windows-only.
...
The Vcpkg package manager is cross platform, so its section header
doesn't need to mention Windows.
6 years ago
Vladimír Vondruš
6e04d0d4c6
CMake: add an explicit dependency between plugins and their tests.
...
Otherwise selectively rebuilding a test will not do a plugin rebuild
even if it changed.
6 years ago
Vladimír Vondruš
d2513cac3c
Math: make Color default alpha values work with Half.
...
There's some fugliness needed for the MSVC 2017 crash workaround but
otherwise all good.
6 years ago
Vladimír Vondruš
c8afe0f732
Math: make Vector::pad() default argument work with Half.
...
Got lucky enough that the default zero-initialization constructor does
exactly what I need. Otherwise ugh I don't know what I would do.
6 years ago
Vladimír Vondruš
50e21015eb
Math: make it possible to construct Half from a double.
...
A lot of generic code uses T(1.0) and right now that caused an ambiguity
between the Float and UnsignedShort constructors.
6 years ago
Vladimír Vondruš
10dd468eca
Math: minimal support for Half in TypeTraits.
6 years ago
Vladimír Vondruš
3734568cdf
Math: switch to our type traits in Color internals.
...
In preparation for having the Half type usable in Color.
6 years ago