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š
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š
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š
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š
2562ca447c
GL: fix build on 32-bit Windows.
...
Now that the CI checks this I feel much safer.
6 years ago
Vladimír Vondruš
353a2be16d
doc: updated credits and changelog.
6 years ago
Vladimír Vondruš
14fb429df4
doc: how to supply icons for Windows executables.
6 years ago
Vladimír Vondruš
6ef04b8ad5
Audio: add a Buffer::frequency() getter.
6 years ago
Vladimír Vondruš
cc401b2b3c
GL: implemented missing Renderer::setPatch*() for tessellation shaders.
...
The last bits!
6 years ago
Vladimír Vondruš
48db23fc87
doc: improve GL API mapping.
6 years ago
Vladimír Vondruš
0e50f0feea
GL: implement {EXT,ARB}_draw_buffers{2,_blend,_indexed}.
...
I also figured out a new, faster & less verbose way to handle multiple
code paths in some cases -- why didn't I think of that earlier?
6 years ago
Vladimír Vondruš
b2328f57cd
Math: fall back to lerp when slerp'd quaternions are too close.
...
Returning just the first argument had several issues, one of them was
causing iterative interpolations to get stuck at the initial position
forever.
6 years ago
Vladimír Vondruš
23a58541ed
doc: make the scenegraph overview page actually discoverable.
6 years ago
Vladimír Vondruš
c4a3b273e6
Math: provide transformVector() also on the DualThing classes.
...
To make them more consistent with Matrix3/4, making switching from one
to the other easier.
6 years ago
Vladimír Vondruš
c25b19d210
SceneGraph: support rotating directly via Complex/Quaternion.
...
A decade late, but finally.
6 years ago
Vladimír Vondruš
d955908a38
GL: allow creating a Buffer and directly filling it with data.
6 years ago
Vladimír Vondruš
f53adefe96
GL: mark the 4-argument DynamicAttribute constructor as explicit.
...
Should have been done since ever, considering it was not annotated with
/*implicit*/.
6 years ago
Vladimír Vondruš
6ba07fa31d
doc: fix a serious error in CMake toolchain docs.
6 years ago
Vladimír Vondruš
fa1176220b
doc: ugh, these pragmas were not meant to be rendered in the docs.
6 years ago
Vladimír Vondruš
bc99e6fa57
Math: improve docs for color (un)packing and sRGB conversion.
6 years ago
Vladimír Vondruš
24cc971b1f
GL: reworked apple-buffer-texture-unbind-on-buffer-modify workaround.
...
Much smaller, nicer and more robust.
6 years ago
Vladimír Vondruš
43f5f06956
Math: avoid warnings when calling length() on an integer Vector.
...
Also update the docs to hint the result may be imprecise on integer
types, and suggest Manhattan length as well.
6 years ago
Vladimír Vondruš
44aed01d77
Fix plugins being searched in lib/ when it should be bin/ and vice versa.
...
Ugh. I must have been drunk when writing this. Also, why nobody complained
until now? Interesting.
6 years ago
Vladimír Vondruš
88b515ba15
Platform: assume HiDPI is on by default on macOS 10.13+ and iOS 13+.
...
Also fix the detection in case the app explicitly sets the property to
false -- previously it thought the app is HiDPI-aware as well, which was
wrong.
6 years ago
Vladimír Vondruš
e97b04f66d
GL: new apple-buffer-texture-detach-on-data-modify workaround.
6 years ago
Vladimír Vondruš
86dbd86e74
GL: added BufferTexture::resetBuffer().
6 years ago
Vladimír Vondruš
fc0ceac99e
Fix dependency of Image headers on StridedArrayView.
6 years ago
Vladimír Vondruš
2ba54b542c
Ensure std::string is not accidentally printed to Debug as ResourceKey.
6 years ago
Vladimír Vondruš
bed90e45fa
doc: update credits and changelog, reference the base-gtkmm project.
6 years ago
jackcamp
d78ceb09ab
Tweaked cmake-subproject section for clarity.
6 years ago
Vladimír Vondruš
92b1cdf6b7
Math: pass strided array views by const&.
...
It has the size of three pointers, which is more than a little.
Unfortunately doing just that causes infinite recursion, so be a little
more specific when delegating from the overloads.
6 years ago
Vladimír Vondruš
a6dd63af0f
Math: make batch functions actually usable.
...
No longer it's needed to add ugly explicit template types or casts.
6 years ago
Vladimír Vondruš
742dc406fd
Math: don't include FunctionsBatch.h from Functions.h anymore.
...
These two got split in 2019.10 but one included the other for backwards
compat. It makes everything suffer from worse compile times, so not
doing that anymore.
6 years ago
Vladimír Vondruš
3b940f2509
doc: avoid referencing the deprecated Math::swizzle() function.
6 years ago
Vladimír Vondruš
b384b2043b
doc: mention the base-wxwidgets bootstrap project as well.
6 years ago
Vladimír Vondruš
a82a4c273e
doc: mention Microsoft's ANGLE Wiki page about performance.
6 years ago
Vladimír Vondruš
9aa68715db
Math: preserve signs in the Matrix[34]::scaling() getter.
...
This is a breaking change, but I think it is worth doing. Because now
Matrix4::scaling(vec).scaling() == vec
which was true also for translation and other.
6 years ago
Vladimír Vondruš
84ac43d2ce
GL: avoid picking up variadic Mesh::addVertexBuffer() for dynamic attribs.
...
Huh, the SFINAE thing was extremely easy.
6 years ago
Vladimír Vondruš
93823004ae
external: update Vulkan headers for version 1.2.
6 years ago
Vladimír Vondruš
92088fe5ae
doc: removed an issue reference that was unrelated to clang-cl.
6 years ago
Vladimír Vondruš
2ff5d32156
WavAudioImporter: make it work on Big-Endian platforms, support RIFX.
...
With the RIFX support I can test for BE support on a LE platform, that's
why. Otherwise I wouldn't bother.
6 years ago
Vladimír Vondruš
c94c462187
Doc++, updated changelog.
6 years ago
Vladimír Vondruš
7cbd7c703b
MeshTools: fix an OOB access in tipsify().
6 years ago
Vladimír Vondruš
a4dcecc027
doc: mention the new \m_since commands in Developers Guide.
6 years ago
Vladimír Vondruš
9d5064c857
Platform: fix Sdl2Application::setSwapInterval(0) + setMinLoopPeriod().
...
It thought VSync was enabled even when it was set to 0. Also clarified
the docs a bit.
6 years ago
Vladimír Vondruš
bec180fcf0
Doc++
6 years ago
Vladimír Vondruš
c1f43709fd
doc: sweeping update of CMake usage instructions.
...
Putting more emphasis into CMake subproject setup.
6 years ago
Vladimír Vondruš
d6718aaa1d
doc: use PRIVATE in target_link_libraries() CMake snippets.
...
The keyword-less version is discouraged for quite some time already.
6 years ago
Vladimír Vondruš
34aec29fb0
modules: link SDL to Metal framework on iOS.
...
Also do it only when SDL is static -- dynamic builds don't need any of
that.
6 years ago
Vladimír Vondruš
5a3288154b
Platform: properly include SDL_main.h for iOS.
...
Got missed when cleaning up the 50kLOC header mess in
b73b9cb408 (Nov 2018). Sorry!
6 years ago