Vladimír Vondruš
c4fe09f5df
Animation: MSVC 2015, are you upset about this?
7 years ago
Vladimír Vondruš
954798a9ba
Animation: allow mutable access to data referenced by TrackView.
...
This is a breaking change, sorry.
7 years ago
Vladimír Vondruš
1182ac5390
Very minor code style cleanup.
7 years ago
Vladimír Vondruš
a0fa21c9fb
external: expose the OVR_multiview, OVR_multiview2 extension entrypoints.
7 years ago
Vladimír Vondruš
1a4179be70
Platform: minor.
7 years ago
Vladimír Vondruš
39ba1583e1
Platform: ability to specify exit code in AbstractXApplication.
...
For consistency with all others.
7 years ago
Konstantinos Chatzilygeroudis
270b755517
AbstractXApplication: remove button defines that interere with GlfwApplication.
7 years ago
Konstantinos Chatzilygeroudis
411e349358
GlfwApplication: Workaround for DPI scaling when monitor size is equal to zero
7 years ago
Konstantinos Chatzilygeroudis
756c1242ad
GlfwApplication: add mainLoopIteration similar to Sdl2Application
7 years ago
Konstantinos Chatzilygeroudis
432aca900d
AbstractXApplication: add mainLoopIteration similar to Sdl2Application
7 years ago
Vladimír Vondruš
01e12ba495
Platform: test Sdl2App/GlfwApp mouse locking.
7 years ago
Vladimír Vondruš
c4e3e3c045
Platform: deprecate Sdl2Application::setMouseLocked().
...
Now also handled by the new setCursor() APIs.
7 years ago
Vladimír Vondruš
8d9d247573
Platform: deprecate badly designed & useless GlfwApp setCursorMode().
...
I'm not sure who thought making this settable only during app startup
(and never after) is a good idea. Let's use the new setCursor() APIs
instead.
7 years ago
Vladimír Vondruš
c091ed0e66
Platform: implement cursor management for EmscriptenApplication as well.
...
36 cursor types, wow. Now I envy web devs.
7 years ago
Vladimír Vondruš
a23423457e
Platform: update Emscripten boilerplate copy to new binary locations.
7 years ago
Vladimír Vondruš
1f65f0a823
Platform: minor cleanup.
7 years ago
Vladimír Vondruš
7cb49fbb36
Platform: simple test for Sdl2 and GlfwApplication cursors.
7 years ago
Vladimír Vondruš
04827d3743
Platform: Emscripten support for cursors in Sdl2Application.
7 years ago
Vladimír Vondruš
fdcfa419de
Platform: fix compilation on Emscripten.
7 years ago
Vladimír Vondruš
a1bca4d8f4
Platform: minor cleanup, doc++, make cursor LUTs file-local.
7 years ago
Marco Melorio
40bfa7ae91
Plaftorm: Add cursor management support
7 years ago
Vladimír Vondruš
5dc791a75c
Be nice and provide a clear assert in meshIndexTypeSize().
7 years ago
Vladimír Vondruš
96ea050a74
Primitives: fix a missing face in cylinder and cone primitives.
7 years ago
Vladimír Vondruš
8c902bec4d
Primitives: make Cone and Cylinder tests more maintainable.
...
I got some bugs there, need to fix them.
7 years ago
Vladimír Vondruš
e496b991b5
GL: properly prefix an error message.
7 years ago
Vladimír Vondruš
c5872f2ddf
imagecoverter: implement raw pixel import as well.
...
Just tightly packed squares for now.
7 years ago
Vladimír Vondruš
2de43c4fc1
Make (Compressed)PixelFormat work with Configuration.
...
And thus also Arguments.
7 years ago
Vladimír Vondruš
c763c782b8
Forward-declare std::string.
...
Because we can.
7 years ago
Vladimír Vondruš
f2b33fa1ef
Why is this here.
7 years ago
Vladimír Vondruš
9f8f9b4164
Optimize {Compressed,}PixelFormat debug output.
...
Instead of prefixing every value with (Compressed)PixelFormat::,
printing that just once. Also moved the name table to an external header
so it can be used later for configuration value parsing. Compared to
the previous commit, Bloaty reports a save, meaning these two commits in
total save about 4 kB:
VM SIZE FILE SIZE
-------------- --------------
+687% +3.70Ki .rela.dyn +3.70Ki +687%
+15e2% +1.26Ki .data.rel.ro +1.26Ki +15e2%
[ = ] 0 .strtab +100 +0.1%
[ = ] 0 .symtab +48 +0.2%
-50.0% -8 [LOAD [RW]] -8 -50.0%
-3.1% -888 .eh_frame -888 -3.1%
-1.5% -1.92Ki .text -1.92Ki -1.5%
[ = ] 0 [Unmapped] -1.97Ki -32.2%
-38.5% -4.19Ki .rodata -4.19Ki -38.5%
-0.7% -2.02Ki TOTAL -3.85Ki -1.0%
7 years ago
Vladimír Vondruš
1ab963ea93
Consolidate stringified enums in mesh Debug and configuration parsers.
...
Well. Bloaty reports a 0.3% increase in Debug and 0.1% in Release, but I
guess if the enums would be larger, the savings would be actually
significant.
7 years ago
Vladimír Vondruš
e8280abfac
Doc++
7 years ago
Vladimír Vondruš
0aec0db323
imageconverter: clarify message, don't die on compressed images.
7 years ago
Vladimír Vondruš
b3544a0404
imageconverter: make it possible to save raw imported data.
7 years ago
Vladimír Vondruš
d08e5c1638
imageconverter: print available plugins on importer/converter load error.
...
At first I wanted to add --importers / --converters options, but that
didn't really work because the argument parser complained that
input/output is not set.
7 years ago
Vladimír Vondruš
a85d24ad17
Audio, GL: (attempt to) fix MinGW GCC warnings on static Windows builds.
...
The CI doesn't have this configuration in the build matrix, so hoping
it's doing what it's supposed to.
7 years ago
Vladimír Vondruš
aa722cd5bd
Platform: Xlib.h is a bad, bad thing.
7 years ago
Vladimír Vondruš
deb25cd28f
singles: update for 2019.10.
7 years ago
Vladimír Vondruš
cdd0147edb
Disable automatic resource initializers when building static.
...
That's done manually, and when such a static lib is linked to a DLL, the
suddenly appearing global constructors are unexpected.
7 years ago
Vladimír Vondruš
909887ad7c
A sad workaround for a sad misery with Python bindings on Windows.
7 years ago
Vladimír Vondruš
de95eddb3f
Use the new Matrix4::normalMatrix() everywhere.
7 years ago
Vladimír Vondruš
de3f8858f0
Math: now that we have a standalone cofactor(), inline its internals.
...
Apparently this gives a nearly three-times speed up compared to before.
Didn't expect that.
Starting Magnum::Math::Test::MatrixBenchmark with 16 test cases...
INFO Benchmarking a debug build.
BENCH [01] 95.33 ± 4.52 ns multiply3()@499x10000 (wall time)
BENCH [02] 183.99 ± 9.29 ns multiply4()@499x10000 (wall time)
BENCH [03] 110.17 ± 8.50 ns comatrix3()@49x10000 (wall time)
BENCH [04] 161.54 ± 10.13 ns invert3()@49x10000 (wall time)
BENCH [05] 471.44 ± 19.40 ns invert3GaussJordan()@49x10000 (wall time)
BENCH [06] 320.65 ± 13.23 ns invert3Rigid()@49x10000 (wall time)
BENCH [07] 206.27 ± 9.80 ns invert3Orthogonal()@49x10000 (wall time)
BENCH [08] 321.25 ± 18.82 ns comatrix4()@49x10000 (wall time)
BENCH [09] 445.50 ± 15.18 ns invert4()@49x10000 (wall time)
BENCH [10] 828.55 ± 16.96 ns invert4GaussJordan()@49x10000 (wall time)
BENCH [11] 533.23 ± 21.75 ns invert4Rigid()@49x10000 (wall time)
BENCH [12] 345.56 ± 10.16 ns invert4Orthogonal()@49x10000 (wall time)
BENCH [13] 63.72 ± 6.85 ns transformVector3()@999x10000 (wall time)
BENCH [14] 62.28 ± 4.43 ns transformPoint3()@999x10000 (wall time)
BENCH [15] 82.05 ± 7.96 ns transformVector4()@999x10000 (wall time)
BENCH [16] 79.32 ± 2.41 ns transformPoint4()@999x10000 (wall time)
Finished Magnum::Math::Test::MatrixBenchmark with 0 errors out of 5500 checks.
7 years ago
Vladimír Vondruš
515637c76a
Math: implement a robust and faster Matrix4::normalMatrix().
...
This change makes the operations split into a bunch of separate
functions, making the parts easier to document, however with a slight
negative effect on debug performance:
Starting Magnum::Math::Test::MatrixBenchmark with 16 test cases...
INFO Benchmarking a debug build.
BENCH [01] 94.54 ± 3.62 ns multiply3()@499x10000 (wall time)
BENCH [02] 183.47 ± 7.50 ns multiply4()@499x10000 (wall time)
BENCH [03] 318.11 ± 11.59 ns comatrix3()@49x10000 (wall time)
BENCH [04] 379.51 ± 12.17 ns invert3()@49x10000 (wall time)
BENCH [05] 448.23 ± 17.61 ns invert3GaussJordan()@49x10000 (wall time)
BENCH [06] 338.96 ± 11.61 ns invert3Rigid()@49x10000 (wall time)
BENCH [07] 206.37 ± 10.59 ns invert3Orthogonal()@49x10000 (wall time)
BENCH [08] 879.40 ± 20.03 ns comatrix4()@49x10000 (wall time)
BENCH [09] 1.16 ± 0.03 µs invert4()@49x10000 (wall time)
BENCH [10] 825.40 ± 17.34 ns invert4GaussJordan()@49x10000 (wall time)
BENCH [11] 534.86 ± 15.73 ns invert4Rigid()@49x10000 (wall time)
BENCH [12] 347.36 ± 11.62 ns invert4Orthogonal()@49x10000 (wall time)
BENCH [13] 65.70 ± 6.73 ns transformVector3()@999x10000 (wall time)
BENCH [14] 62.56 ± 3.09 ns transformPoint3()@999x10000 (wall time)
BENCH [15] 81.25 ± 2.78 ns transformVector4()@999x10000 (wall time)
BENCH [16] 82.14 ± 4.26 ns transformPoint4()@999x10000 (wall time)
Finished Magnum::Math::Test::MatrixBenchmark with 0 errors out of 5500 checks.
7 years ago
Vladimír Vondruš
e3a820f468
Math: benchmark basic Matrix operations.
...
So I'm sure the next additions don't make things worse -- in the debug
build, in particular. Current state:
Starting Magnum::Math::Test::MatrixBenchmark with 14 test cases...
INFO Benchmarking a debug build.
BENCH [01] 102.25 ± 4.58 ns multiply3()@499x10000 (wall time)
BENCH [02] 183.84 ± 7.75 ns multiply4()@499x10000 (wall time)
BENCH [03] 329.84 ± 20.50 ns invert3()@49x10000 (wall time)
BENCH [04] 442.08 ± 13.47 ns invert3GaussJordan()@49x10000 (wall time)
BENCH [05] 331.23 ± 13.85 ns invert3Rigid()@49x10000 (wall time)
BENCH [06] 206.01 ± 11.13 ns invert3Orthogonal()@49x10000 (wall time)
BENCH [07] 1.01 ± 0.03 µs invert4()@49x10000 (wall time)
BENCH [08] 826.77 ± 19.33 ns invert4GaussJordan()@49x10000 (wall time)
BENCH [09] 520.12 ± 21.97 ns invert4Rigid()@49x10000 (wall time)
BENCH [10] 344.20 ± 13.32 ns invert4Orthogonal()@49x10000 (wall time)
BENCH [11] 61.00 ± 2.89 ns transformVector3()@999x10000 (wall time)
BENCH [12] 61.55 ± 3.35 ns transformPoint3()@999x10000 (wall time)
BENCH [13] 80.65 ± 2.99 ns transformVector4()@999x10000 (wall time)
BENCH [14] 80.86 ± 3.32 ns transformPoint4()@999x10000 (wall time)
Finished Magnum::Math::Test::MatrixBenchmark with 0 errors out of 5400 checks.
7 years ago
Vladimír Vondruš
303468f299
Doc++
7 years ago
Vladimír Vondruš
abf9d9aa50
plugins: modify binary output location only if all variables are set.
...
Otherwise it tries to create /magnum and such and fails.
7 years ago
Vladimír Vondruš
5f4e76e646
DebugTools: fix a linker error on Clang.
...
Not sure why it started happening only after I added a deprecated
constructor. Making it the same as is done for Image classes.
7 years ago
Vladimír Vondruš
507c5bf739
GL: remove the nv-egl-forward-compatible-context-unhappy workaround.
...
This was my bug, as requesting a forward-compatible context without
saying *what* version it should be forward compatible to makes no sense.
A followup to 73baab69ce .
7 years ago
Vladimír Vondruš
607b3a15fa
DebugTools: finish ResourceManager singleton deprecation.
7 years ago
Vladimír Vondruš
8c7c2c5745
SceneGraph: clarify transformation calculation.
7 years ago