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
Vladimír Vondruš
41cf29cff6
Vk: make room for mapping vertex formats to a VkFormat.
6 years ago
Vladimír Vondruš
6c98d10be5
Make various PixelFormat assertions print the actual value.
...
Otherwise they are pretty useless.
6 years ago
Vladimír Vondruš
241cde706f
GL: new Mesh::maxVertexAttributeStride() query.
...
Good thing I checked this -- based on WebGL I was under assumption that
all GPUs have it just 256, but that was really just WebGL limitation.
Also ugh why this query wasn't there since the 90's?
6 years ago
Vladimír Vondruš
65743b5647
Platform: make it possible to override DPI scaling from the app.
...
This was sadly broken since probably ever. Since it was hard to wrap my
head around this, added also some code to test this.
6 years ago
Vladimír Vondruš
c3878c9bf1
Platform: implement physical DPI scaling in Sdl2App on Windows.
...
Yes, because it's exactly the other way for SDL. You know, consistency
and all. FFS.
6 years ago
Vladimír Vondruš
444b925b2a
Platform: implement virtual DPI scaling in GlfwApp on Windows.
...
Until now, both physical and virtual returned the physical DPI scaling.
6 years ago
Vladimír Vondruš
a78cdc2134
doc: document how to bumdle files for Emscripten.
6 years ago
Vladimír Vondruš
c85b537937
Revert "Math: preserve signs in the Matrix[34]::scaling() getter."
...
Turns out this seriously broke properites that should always hold, such
as that R*S = M for a R and S extracted out of M. Another way to fix
this would be flipping signs in the rotation() / rotationShear() / ...
queries as well, but that adds extra operations to both rotation() and
scaling() and at that point it's just better to do what was done the
whole decade before.
To ensure this doesn't happen again and doesn't cost me a whole day of
debugging in an end-user app (SceneGraph TRS transformations got broken
because those assume that rotation() and scaling() *do* combine back,
which is a reasonable thing to assume), the docs are extended to note
this and there's an explicit test for both negative scale and large
angle corner cases as well.
This reverts commit 9aa68715db .
6 years ago
Vladimír Vondruš
4a0f843188
SceneGraph: test that TRS xform recombination works in all cases.
...
It wasn't broken with large angles because I made scaling() signed,
which was a mistake.
6 years ago
Vladimír Vondruš
47e1106633
Avoid Resource unnecessarily asking for new data when nothing changed.
...
This wasn't as simple, turns out I had to fix setFallback() to keep
doing the right thing.
6 years ago
Vladimír Vondruš
2322267af4
Harden ResourceManager::setFallback() test.
...
Removing a fallback should trigger update of the falled-back resources
as well. Works as expected.
6 years ago
Vladimír Vondruš
e7aeaf78d0
Remove ResourceManager::instance() singleton deprecated in 2019.10.
...
Due to it being global it was severely limiting multithreaded
applications and removing it was the path of least resistance.
Good riddance.
6 years ago
Vladimír Vondruš
d14655aa1d
doc: fix outdated docs about plugin search paths.
6 years ago
Vladimír Vondruš
19dd7a0176
Move Feature[s] enums from inside plugin classes outside.
...
Too annoyingly long to type. Also added a debug output operator for the
FontConverterFeature enums, for some reason there were none.
6 years ago
Vladimír Vondruš
a2118730a3
Math: fix a warning on 32bit MSVC.
6 years ago
Vladimír Vondruš
88ec50127e
DebugTools: I'm starting to get tired of this.
6 years ago
Vladimír Vondruš
2562ca447c
GL: fix build on 32-bit Windows.
...
Now that the CI checks this I feel much safer.
6 years ago
Vladimír Vondruš
f416808651
package/ci: add a 32-bit MSVC build.
6 years ago
Vladimír Vondruš
353a2be16d
doc: updated credits and changelog.
6 years ago
Nghia Truong
1ef813fdad
Math: add reflect() and refract() functions.
...
Co-authored-by: Vladimír Vondruš <mosra@centrum.cz>
6 years ago