Vladimír Vondruš
d06914a1bd
doc: hint that Optional is a safer NoCreate.
7 years ago
Marco Melorio
c632099501
Shaders: inflate rendering test thresholds a bit for the iPhone GPU.
7 years ago
Marco Melorio
2379b8cd09
Fixed shaders tests for iOS
7 years ago
Vladimír Vondruš
65b589f765
New explicit-uniform-location-is-less-explicit-than-you-hoped workaround.
...
Intel drivers on Windows. Surprisingly unsurprising.
7 years ago
Vladimír Vondruš
3a243a04b2
CMake: put all binaries into a dedicated location in the build dir.
...
This makes it possible to:
- finally use Magnum as a CMake subproject on Windows and have your
executables not fail to run with a "DLL missing" error (and the
setting is put to cache so superprojects just implicitly make use of
that)
- run tests on Windows without having to install first
- use dynamic plugins from a CMake subproject on any platform without
having to install first or load them by filename --- and the plugin
directory is now easily discovered as relative to
libraryLocation() of the library implementing given plugin interface
7 years ago
Vladimír Vondruš
7489c4c2d7
Shaders: fix warnings in a test.
7 years ago
Vladimír Vondruš
a018521a8c
CMake: simplify plugin test setup.
...
No matter how broken iOS is in CMake 3.6, $<CONFIG> seems to work there,
so reducing the amount of code and putting the configure into a single
place independently of what generator or what system/build is used.
Compared to current state it always adds Debug/configure.h instead of
putting it directly to the ${CMAKE_CURRENT_BINARY_DIR}, but the
alternative would be some CMake branching again and I just removed that,
so no.
This also prepares everything for plugin libraries being put into a
central place -- the config files don't depend on their location
anymore.
7 years ago
Vladimír Vondruš
a1a59ec4ea
Shaders: assert on the wireframe flag when calling related setters.
...
This is to be consistent with other shaders -- failing loudly is better
than habing to spend ages wondering why it doesn't render the thing.
7 years ago
Vladimír Vondruš
9315175a72
Shaders: avoid MeshVisualizer::VertexIndex reusing a generic color slot.
...
Can't really future-proof that, so just adding a lot of comments
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š
9616273e18
Shaders: improve MeshVisualizer docs.
7 years ago
Vladimír Vondruš
0e8e6f43e5
Shaders: adjust thresholds for Flat/Phong vertex color WebGL 1 tests.
7 years ago
Vladimír Vondruš
a515bdf297
Shaders: rendering tests for all remaining builtin shaders.
7 years ago
Vladimír Vondruš
2d1d9f4b29
Shaders: simplified [DistanceField]Vector and VertexColor shader tests.
7 years ago
Florian Goujeon
837defa182
Fix DistanceFieldVector on WebGL iOS
7 years ago
Vladimír Vondruš
cd39463876
Shaders: verify that no GL errors happened during construction.
7 years ago
Vladimír Vondruš
5617cb5199
Shaders: vertex color support in Phong and Flat.
7 years ago
Vladimír Vondruš
d5e4de772e
Shaders: doc++
7 years ago
Vladimír Vondruš
6ffda8f123
Shaders: fix MeshVisualizer wireframe rendering on WebGL 2.
...
It's not ideal yet (warnings about unused uniforms), but I won't handle
these until I have complete rendering tests.
7 years ago
Vladimír Vondruš
a3c8d8ec63
Shaders: allow Phong with zero lights.
...
Which makes it equivalent to Flat3D. Useful to reduce complexity in apps
that render models with pre-baked lighting.
7 years ago
Vladimír Vondruš
2d4df60257
Shaders: test for five lights works on ES2, too.
...
Ugh.
7 years ago
Vladimír Vondruš
cd5f5e7ff9
Shaders: add ColorOutput constant to all shaders for consistency.
7 years ago
Vladimír Vondruš
b030fa9ad6
Shaders: huh, why this isn't done here?
7 years ago
Vladimír Vondruš
c78d6d9adc
Shaders: doc++
7 years ago
Vladimír Vondruš
1696ffb177
Shaders: destruct test scaffolding in reverse order.
7 years ago
Vladimír Vondruš
87ac8a8cd2
Shaders: support object ID output in Flat and Phong.
7 years ago
Vladimír Vondruš
fd67e42df1
Shaders: don't test for ES3 at runtime.
...
This only generates code that will be never executed. Tested with Flat
and Phong, the other shaders don't have rendering tests yet but since
the change is the same, I assume it will work there as well.
7 years ago
Vladimír Vondruš
b3a455fdaa
Shaders: adapt Flat / Phong to more test results.
7 years ago
Vladimír Vondruš
d932ca3d78
Shaders: whoops, a leftover after pruning depth test from the tests.
7 years ago
Vladimír Vondruš
2cfe5199b4
Shaders: make Phong uniform location calculations more parametrized.
7 years ago
Vladimír Vondruš
000833f86b
Shaders: these cheats for getting code coverage are not needed anymore.
...
The testing is *real* now.
7 years ago
Vladimír Vondruš
c60ef6039f
Shaders: test Phong normal texture multi-bind as well.
7 years ago
Vladimír Vondruš
fd6bf54769
Shaders: no, these are not expected to fail on macOS.
7 years ago
Vladimír Vondruš
6a5a5496f5
Shaders: properly test all constructor combinations of Flat.
7 years ago
Vladimír Vondruš
e6d6d181a9
Shaders: inflate fuzzy thresholds for FlatGLTest.
...
Tested on SwiftShader, WebGL 1 and 2.
7 years ago
Vladimír Vondruš
1246c53c97
Shaders: inflate fuzzy thresholds for PhongGLTest, add some XFAILs.
...
Tested on WebGL 1 and 2, SwiftShader ES2 and ES3 and ARM Mali ES2 and
ES3 now, all pass. SwiftShader has a bit different output for zero
shininess, but that's a corner case so I'm not going to investigate
further, just adding the expected wrong output to check against as well.
7 years ago
Vladimír Vondruš
08f6615048
Shaders: make alpha mask = 1.0 do what's expected.
...
Yay tests!
7 years ago
Vladimír Vondruš
c98b65b82f
Shaders: fix setup of the tangent attribute on ES2.
...
Yay tests!
7 years ago
Vladimír Vondruš
91f1e1ccb5
Shaders: fix an assertion in Phong::bindTextures().
...
Caught by the tests!
7 years ago
Vladimír Vondruš
8276405ce3
Shaders: rendering tests for Flat shader.
7 years ago
Vladimír Vondruš
87764900a4
Shaders: rendering tests for Phong shader.
7 years ago
Vladimír Vondruš
3d5f50ac49
Test: use the new setTestCaseTemplateName().
7 years ago
Vladimír Vondruš
8d98f1161e
Shaders: clamp shininess factor in Phong to minimize artifacts.
...
I feel this makes the shader code unnecessarily slow to handle bad
parameters. But eh, until I actually benchmark, I shouldn't be making
assumptions.
7 years ago
Vladimír Vondruš
0cb4ded506
Shaders: add normal texture support to Phong.
...
Note -- since there are no visual tests for Phong yet, this is done in
the least intrusive manner to avoid breaking current functionality. It's
likely very underperforming due to the matric calculation per fragment,
it'll get optimized once I have proper tests.
7 years ago
Vladimír Vondruš
528e3822dc
Shaders: added Tangent generic vertex attribute.
7 years ago
Vladimír Vondruš
a1d3f734d6
Shaders: generate textured Phong VS only if textures are actually used.
...
Previously this got enabled also when AlphaMask was enabled, but no
texture. That's a strange case but nevertheless, let's be precise.
7 years ago
Vladimír Vondruš
b1ecff0052
Shaders: have a definition for the generic color attribute.
7 years ago
Vladimír Vondruš
3626562e1d
Adapted to Corrade changes.
...
Mostly missing includes now.
7 years ago
Vladimír Vondruš
8e8010c40b
Document and print helpful error messages for GL-dependent features.
7 years ago
Vladimír Vondruš
8ba2cac0ee
DebugTools, MeshTools, TextureTools: handle broken gl_VertexID.
...
DebugTools::textureSubImage(), MeshTools::fullScreenTriangle() and
TextureTools::distanceField() all plagued by this on SwiftShader.
7 years ago