Vladimír Vondruš
91ed119690
MeshTools: test a "shouldn't assert" case outside of an error redirect.
...
Because if it asserts, it would silently ignore that assert. It should
abort if it asserts.
3 years ago
Vladimír Vondruš
744353b6cd
Port away from deprecated Shaders functionality.
...
What's especially nice is that the code snippets no longer need to
describe that there's "2 lights, 3 materials and 5 draws" because now
it's self-documenting.
4 years ago
Vladimír Vondruš
6bdffb2796
Test: make use of CORRADE_SKIP_IF_NO_ASSERT().
4 years ago
Vladimír Vondruš
b0bfcbe00e
Adapt to Corrade changes.
4 years ago
Vladimír Vondruš
0001308d61
Test: port file/image comparison tests to the new Utility::Path.
4 years ago
Vladimír Vondruš
822fa0d644
Updated copyright year.
4 years ago
Vladimír Vondruš
f145acd760
MeshTools: properly bundle files for CompileGLTest.
...
The path used for Android and Emscripten is relative to the
CMAKE_CURRENT_SOURCE_DIR, so the subdirectory has to be included in the
file paths.
4 years ago
Vladimír Vondruš
41a50f4924
MeshTools: make compile() aware of impl-spec index types.
...
The assertion added for strided index buffers was blowing up on this, so
check it only if the type is not implementation-specific.
4 years ago
Vladimír Vondruš
6527ec35c2
MeshTools: assert in compile() if non-contiguous index buffers are used.
4 years ago
Vladimír Vondruš
11cd5d5cd0
MeshTools: assert in compile() if zero or negative strides are used.
4 years ago
Vladimír Vondruš
344dd3fc17
MeshTools: fix compile() with a non-trivial index offset.
...
Haha, what the heck, how did nobody hit this yet.
4 years ago
Vladimír Vondruš
2066d82ea4
Shaders: suffix all existing shaders with GL.
...
To make room for Vulkan shaders. Also renaming the headers, of course
everything is still aliased to the old names (and marked as deprecated).
5 years ago
Vladimír Vondruš
65a935cedc
Test: adapt to changes in CORRADE_SKIP().
...
Chose to update the tests instead of adding a compatibility DebugStl.h
include to Tester.h, which would have a significant impact on compile
times.
5 years ago
Vladimír Vondruš
3d136503d8
Updated copyright year.
5 years ago
Vladimír Vondruš
01cbfc6c3c
MeshTools: adapt compile() test to changes in Phong light falloff.
...
Heh, I forgot to run the full test suite after the changes in
1eb1eec271 and then the CI accidentally
had all rendering tests skipped due to missing plugins (which got fixed
in the previous commit, d1ee0b7f7e ), so
that didn't catch it either. Sigh.
6 years ago
Vladimír Vondruš
7257bbb871
Shaders: rework Phong to support directional and attenuated point lights.
...
This is a -- long overdue -- breaking change to the rendering output of
this shader, finally adding support for lights that get darker over
distance. The attenuation equation is basically what's documented in
LightData, and the distinction between directional and point lights is
made using a newly added the fourth component of position (which means
the old three-component setters are all deprecated). This allows the
shader code to be practically branchless, which I find to be nice.
This breaks basically all rendering output so all existing Phong and
MeshTools::compile() test outputs had to be regenerated.
6 years ago
Vladimír Vondruš
2b36fd2136
MeshTools, Shaders: adapt thresholds for SwiftShader.
...
The Phong bugfix causes some rounding errors to be larger than before.
6 years ago
Vladimír Vondruš
af0ab0d25b
MeshTools: test compile() with multiple sets of vertex attributes.
...
It should be using only the first set ... but it doesn't.
6 years ago
Vladimír Vondruš
19e0e96d74
Updated copyright year.
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š
97e3e2a8fe
MeshTools,Shaders: make the rendering tests pass on llvmpipe.
6 years ago
Vladimír Vondruš
65a2ced2a7
Make this compile and test cleanly with CORRADE_NO_ASSERT defined.
6 years ago
Vladimír Vondruš
ea3bcb6d93
MeshTools: handle the ObjectId attribute in compile().
...
And that's the last warning fixed.
6 years ago
Vladimír Vondruš
80c6fef7bf
MeshTools: handle generic Tangent and Bitangent attributes in compile().
...
A bit unfortunate that the test needs ES3.2 and GS, but I got nothing
better right now. Not handling ObjectId yet, for that I need to
implement instancing first (so yes, GCC/Clang will still warn about an
unhandled switch case).
6 years ago
Vladimír Vondruš
de9c289328
Adapted all code and doc snippets to GL library changes.
6 years ago
Vladimír Vondruš
a4bf0e61a1
MeshTools: option to disable unknown attribute warnings in compile().
6 years ago
Vladimír Vondruš
a3bb6ba4c5
MeshTools: explicitly handle unavailable attribute types in compile().
6 years ago
Vladimír Vondruš
ee06eb2093
MeshTools: support the 40 new attribute formats by deleting some code.
...
Hur hur.
6 years ago
Vladimír Vondruš
006790969a
Trade, MeshTools: deprecate MeshDataXD and everything that uses it.
6 years ago
Vladimír Vondruš
16c3480d7f
MeshTools: implement compile() taking a MeshData.
...
Also add new variants that allow for external buffers.
6 years ago
Vladimír Vondruš
2a12ca14e3
MeshTools: test compile() with both flat and smooth normals requested.
...
And clarify the docs about what gets the priority.
6 years ago
Vladimír Vondruš
28fdfad0ec
MeshTools: suppress a Clang warning in a test.
6 years ago
Vladimír Vondruš
de95eddb3f
Use the new Matrix4::normalMatrix() everywhere.
7 years ago
Vladimír Vondruš
a0f0015211
Shaders: de-inline uniform setters.
...
Reduces includes in the header quite a lot, yay.
7 years ago
Vladimír Vondruš
93789721b2
De-inline Image headers, remove dependency on ImageView.
...
This means users have to add some more #includes on their side. Sorry
but it's for your own good :P
7 years ago
Vladimír Vondruš
5d2cf7ef93
MeshTools: ability to generate smooth normals in compile().
7 years ago
Vladimír Vondruš
d20a17c5c3
MeshTools: ability to generate flat normals in compile().
7 years ago
Vladimír Vondruš
bf4bf9eac5
MeshTools: 100% code coverage for compile().
...
There's some bug in there, so let's test it all.
7 years ago