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
Vladimír Vondruš
14fb429df4
doc: how to supply icons for Windows executables.
6 years ago
Vladimír Vondruš
d0487a8abc
Audio: last forgotten deprecation mark without a version info.
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š
5cbd6bdf85
Platform: use an Optional for lazy-loaded event properties in Sdl2App.
...
It was done like this in GlfwApp and elsewhere, this is probably a
remmant from earlier pre-Optional times.
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š
17f0112732
SceneGraph: doc++, show privates as private.
...
Forgot to remove the protected doxygen override when implementing this
doxygen feature a year ago.
6 years ago
Vladimír Vondruš
ea92c5b36f
Math: clarify that implicit conversion of Foo to a DualFoo is rotation.
...
Had to remind myself about that.
6 years ago
Vladimír Vondruš
d955908a38
GL: allow creating a Buffer and directly filling it with data.
6 years ago
Vladimír Vondruš
6aaf783867
GL: reduce amount of included stuff in a test.
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š
f7e41d6e96
Platform: add search aliases to have things discoverable betters.
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š
4490dfd68f
Math: use a degree symbol for hue ranges.
6 years ago
Vladimír Vondruš
bc99e6fa57
Math: improve docs for color (un)packing and sRGB conversion.
6 years ago
Vladimír Vondruš
750544e2c2
Platform: update copyright in headers.
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š
0e1779ad61
GL: a new case that the new Apple BufferTexture workaround doesn't fix.
...
Sigh.
6 years ago
Vladimír Vondruš
73f776193d
Math: constexpr *is* inline.
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š
de49453199
Platform: make a macOS bundle also for GlfwApplication test.
6 years ago
Vladimír Vondruš
8d9514148c
Platform: no need, GlfwApplication isn't ported to Emscripten anyway.
6 years ago