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š
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š
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š
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š
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š
24cc971b1f
GL: reworked apple-buffer-texture-unbind-on-buffer-modify workaround.
...
Much smaller, nicer and more robust.
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
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š
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š
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š
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
Vladimír Vondruš
eda984c9c9
Made Resource nothrow-movable.
...
Otherwise it can't be used in growable Arrays (and std::vector copies it
instead of moving when reallocating).
6 years ago
Vladimír Vondruš
51b8349c24
Doc++
6 years ago
Vladimír Vondruš
e603771cef
Platform: fix EmscriptenApplication mouse events with Emscripten master.
...
The canvasX/Y properties were silently deprecated (I wouldn't know
without looking at the source, the docs say no such thing) and when
-s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=1 is enabled, these are
not initialized to any meaningful value.
6 years ago
Vladimír Vondruš
34261840bc
GL: expand ARB_DSA blacklisting on Intel Windows drivers a bit further.
...
This should finally fix all remaining Intel Windows driver issues.
Hopefully. Or at least until the next major driver update.
6 years ago
Vladimír Vondruš
f6abe4577c
doc: advertise clang-cl support.
6 years ago
Vladimír Vondruš
1fb90813b1
doc: updated credits and changelog.
6 years ago
Vladimír Vondruš
2e52cc0f3c
MeshTools: added a STL-less subdivideInPlace() variant.
...
What's extremely funny is that this made the benchmark *twice as fast*
in Debug.
6 years ago
Vladimír Vondruš
e67526abf0
Platform: ability to set window size in Sdl2 and GlfwApplication.
...
It had the min/max size setters added in 2019.10 but this was missing.
6 years ago
Vladimír Vondruš
a12d673d82
modules: fix dependency between DebugTools and Trade on GL-less builds.
6 years ago
Vladimír Vondruš
e72a0459c8
doc: updated changelog, mark new APIs as new.
7 years ago
Vladimír Vondruš
4000ab8573
Doc++
7 years ago