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
Vladimír Vondruš
038ce58cf3
Doc++
6 years ago
Vladimír Vondruš
946c3cdac9
GL: rename PixelType::HalfFloat and Attribute::DataType::HalfFloat to Half.
...
For consistency with the Half type we use elsewhere. The old enums are
still available, but deprecated and scheduled for removal.
6 years ago
Vladimír Vondruš
f5a5e10c50
Math: batch table-based half-float packing/unpacking.
...
It's a lot of code, but it still seems to be the fastest option of all
we have. This was the original idea when implementing half-float support
in 2016 but then I shelved it in favor of a simpler (but slower) code,
keeping the table only for the benchmark, calculated at runtime. But now
we need a batch version of this, so this comes handy.
6 years ago
Vladimír Vondruš
69e370c4c7
GCC 4.8, happy to see you're still around, causing problems.
6 years ago
Vladimír Vondruš
88fabb1ef6
Math: reduce header dependencies a bit.
6 years ago
Vladimír Vondruš
c17f5a0340
Platform: avoid GlfwApplication::viewportEvent() being fired too soon.
...
Fixed sad an nasty crashes with GLFW-based apps on Windows.
6 years ago
Vladimír Vondruš
daf471381e
Math: add batch integer packing/unpacking and casting functions.
...
To be used for conversion of the upcoming mesh attribute types.
6 years ago
Vladimír Vondruš
73c37a8339
Add Vector[324][u][hsb] convenience typedefs for small types.
...
And also Color variants, to make it complete. No half types for matrices
right now, those might come later.
6 years ago
Vladimír Vondruš
700d032d5d
doc: adapt to Corrade changes.
6 years ago
Vladimír Vondruš
eee136d3e5
Vk: argh, more copypaste brainfarts in the tests.
6 years ago