Vladimír Vondruš
260dee1565
[wip] sceneconverter: support also plugins that can't output a file.
...
Those will simply produce serialized blobs on output.
TODO: make this more generic? like, if I specify a *.ply at the end, it
uses some other converter after that?
6 years ago
Vladimír Vondruš
c653cf3497
Trade: c'mon, old compilers.
6 years ago
Vladimír Vondruš
c8f169657f
sceneconverter: a faster mmap handling of blobs.
...
Time to do the following (with a 482 MB file)
magnum-sceneconverter lucy.blob b.blob
goes down from about 1.9 seconds to 450 ms, ~equivalent to what
cp lucy.blob b.blob
takes (and of course this includes all range and validity checks).
6 years ago
Vladimír Vondruš
59a85ed347
doc: a high-level intro to the new serialization format.
6 years ago
Vladimír Vondruš
f6872bb7e3
Trade: serialization for MeshData.
...
At first I attempted to make the whole thing reinterpret_cast-able from
a blob of memory (i.e., truly zero-overhead), but while that sounded
cool and all, it moved the overhead to basically all other code -- each
function had to special-case access to attribute/vertex/index data as
the pointers were no longer pointers, the binary representation had
various weird unexplainable gaps ("here an array deleter is stored, set
that to null and don't ask"), release*() functions got more complicated
and when I got to issues with move construction/assignment I knew this
was not the right path.
Now the MeshData internals are packed to a much more compact
representation (with the first attempt it was 128 bytes, now it's just
64) and the serialization doesn't make everything else slower, more
complex or harder to test, which is a win.
6 years ago
Vladimír Vondruš
471cef5095
Trade: base structures for memory-mappable serialization format.
6 years ago
Vladimír Vondruš
9edd90d852
imageconverter,sceneconverter: support option subgroups as well.
6 years ago
Vladimír Vondruš
4b2534bea5
sceneconverter: hook scene converter plugins into this thing.
6 years ago
Vladimír Vondruš
7aa9a9b23c
sceneconverter: add a --profile option.
6 years ago
Vladimír Vondruš
778d407bcd
AnySceneImporter: recognize Magnum's blob files.
6 years ago
Vladimír Vondruš
e8d6622265
AnySceneConverter: new plugin.
6 years ago
Vladimír Vondruš
2bf953f172
Trade: bootstrap scene converter plugins.
6 years ago
Vladimír Vondruš
c8a9422d1c
DebugTools: make GLFrameProfiler::Values storeable in Configuration.
...
I want to use these in command-line arguments.
6 years ago
Vladimír Vondruš
99f286f199
DebugTools: deprecate the old Profiler.
6 years ago
Vladimír Vondruš
a2c7d9a43c
DebugTools: wow MSVC thanks for existing.
6 years ago
Vladimír Vondruš
09132ac610
DebugTools: initial implementation of a new frame profiler.
...
Replaces the old & extremely useless Profiler. Doesn't have everything I
want yet (missing stddev and fancier GPU queries), that'll come later.
6 years ago
Vladimír Vondruš
ec3e308c9b
doc: all those VAO+DSA entry points are used already.
6 years ago
Vladimír Vondruš
d366e0e7a0
GL: exposed clip / cull distance APIs.
6 years ago
Vladimír Vondruš
2c5aea6999
GL: forgot to list those GLES extensions.
...
They were listed on WebGL tho. Sigh.
6 years ago
Vladimír Vondruš
c114ca3fb9
Doc++
6 years ago
Vladimír Vondruš
7c0b7ad426
GL: and this is misplaced also.
6 years ago
Vladimír Vondruš
391dfbda4f
GL: not that it mattered much, but AbstractQuery forgot to move _flags.
...
These are not really used much so it probably didn't cause any bugs, but
nevertheless. Found while fixing something else.
6 years ago
Vladimír Vondruš
0cd72b1883
GL: give up and disable ARB_explicit_uniform_location on Intel Windows.
...
SIGH FFS.
6 years ago
Vladimír Vondruš
5c10d6eb1e
GL: implemented ARB_pipeline_statistics_query from GL 4.6.
...
Need this for the upcoming FrameProfiler.
6 years ago
Vladimír Vondruš
5ec5b35931
GL: fix double conversion warning in a test.
6 years ago
Vladimír Vondruš
86a5a63af9
Test: most tests now pass on Zink as well.
...
Just adding a bunch of extension checks that I thought I would never
need again.
6 years ago
Vladimír Vondruš
881a50f7fa
Shaders: clarify that object ID features need GL 3.0 extensions.
...
Important for Zink, which has neither of them.
6 years ago
Vladimír Vondruš
511d0c1b27
Platform: choose a GLXFBConfig with a pbuffer.
...
Looking at provided FBConfigs, first few of them are pbuffer-only so why
not just pick those already, we don't need to look for some config that
supports rendering to a window.
6 years ago
Vladimír Vondruš
68559411fc
Platform: drop the forward compatible flag for fallback GLX 2.1 context.
...
Same is already done in the GLFW and SDL2 app. Also updated the comments
to clarify why is it done (instead of an "I have no idea" TODO).
6 years ago
Vladimír Vondruš
7aaf646728
Platform: handle Xlib errors gracefully in WindowlessGlxApplication.
...
Another step on the path for supporting Mesa's Zink.
6 years ago
Vladimír Vondruš
d9ae6a665e
doc: we can now create a GL 2.1 context on Zink w/o errors.
6 years ago
Vladimír Vondruš
3bce67dfea
GL: don't ask for GL_CONTEXT_PROFILE_MASK on GL < 3.2.
...
Makes Zink sad.
6 years ago
Vladimír Vondruš
403ed25b12
GL: don't call GL3+ APIs on GL 2.1.
...
Makes Zink sad.
6 years ago
Vladimír Vondruš
8b0ad005d8
Shaders: properly skip a test if image plugins are not available.
6 years ago
Vladimír Vondruš
97e3e2a8fe
MeshTools,Shaders: make the rendering tests pass on llvmpipe.
6 years ago
Vladimír Vondruš
6274911a3e
GL: make the double precision shader tests work on llvmpipe.
...
It doesn't support GLSL 4.00 yet, but the extension alone is supported.
6 years ago
Vladimír Vondruš
acc3932e0c
Platform: added ScreenedApplication::globalBeforeDrawEvent().
6 years ago
Vladimír Vondruš
902e8053c7
doc: updated changelog.
6 years ago
Vladimír Vondruš
299cf7740f
imageconverter,sceneconverter: add a --verbose option.
6 years ago
Vladimír Vondruš
1b03e20e3e
Any*{Importer,Converter}: propagate flags to the actual plugins.
6 years ago
Vladimír Vondruš
42b8ab2d0e
TgaImporter,TgaImageConverter: verbose output about channel reordering.
...
Not useful much, more for testing flag propagation inside Any* plugins.
6 years ago
Vladimír Vondruš
0bdb70fcf6
Trade: add flags to AbstractImporter and AbstractImageConverter.
6 years ago
Vladimír Vondruš
4090a88c97
Rework plugin search paths using new Corrade APIs.
6 years ago
Vladimír Vondruš
877c13efa3
Trade: minor.
6 years ago
Vladimír Vondruš
8192278f26
Trade: wtf, stone age still shining through this file.
6 years ago
Vladimír Vondruš
22118c754d
Math: attempt to deconfuse orthogonalization/orthonormalization a bit.
6 years ago
Vladimír Vondruš
fc3382ec36
Math: make dot() twice as fast in Debug.
6 years ago
Vladimír Vondruš
573125d0a9
Math: make cross() 10x faster in Debug.
...
And the Vector3 version 5% slower in Release, on GCC at least. FFS,
what was I thinking with the gather() things. Nice in user code,
extremely bad in library code.
6 years ago
Vladimír Vondruš
341a497932
Math: benchmark vector dot() and cross().
...
Have to do some precision improvements, so a baseline is needed. The
debug perf is beyond awful, actually.
6 years ago
Michael Tao
e5a6f543a0
Shaders: ambient also changes color with VertexColor in Phong.
...
Also adapt the test to explicitly check for this.
6 years ago