Browse Source

Shaders: rename MeshVisualizer tests to make room for non-instanced IDs.

pull/547/head
Vladimír Vondruš 4 years ago
parent
commit
2fe98ab791
  1. 16
      src/Magnum/Shaders/Test/CMakeLists.txt
  2. 40
      src/Magnum/Shaders/Test/MeshVisualizerGLTest.cpp
  3. 0
      src/Magnum/Shaders/Test/MeshVisualizerTestFiles/defaults-instancedobjectid2D.tga
  4. 0
      src/Magnum/Shaders/Test/MeshVisualizerTestFiles/defaults-instancedobjectid3D.tga
  5. 0
      src/Magnum/Shaders/Test/MeshVisualizerTestFiles/instancedobjectid2D.tga
  6. 0
      src/Magnum/Shaders/Test/MeshVisualizerTestFiles/instancedobjectid3D.tga
  7. 0
      src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-instancedobjectid2D.tga
  8. 0
      src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-instancedobjectid3D.tga
  9. 0
      src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-nogeo-instancedobjectid2D.tga
  10. 0
      src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-nogeo-instancedobjectid3D.tga

16
src/Magnum/Shaders/Test/CMakeLists.txt

@ -197,8 +197,8 @@ if(BUILD_GL_TESTS)
MagnumOpenGLTester
FILES
MeshVisualizerTestFiles/bitangents-from-tangents.tga
MeshVisualizerTestFiles/defaults-objectid2D.tga
MeshVisualizerTestFiles/defaults-objectid3D.tga
MeshVisualizerTestFiles/defaults-instancedobjectid2D.tga
MeshVisualizerTestFiles/defaults-instancedobjectid3D.tga
MeshVisualizerTestFiles/defaults-primitiveid2D.tga
MeshVisualizerTestFiles/defaults-primitiveid3D.tga
MeshVisualizerTestFiles/defaults-tbn.tga
@ -206,8 +206,8 @@ if(BUILD_GL_TESTS)
MeshVisualizerTestFiles/defaults-vertexid3D.tga
MeshVisualizerTestFiles/defaults-wireframe2D.tga
MeshVisualizerTestFiles/defaults-wireframe3D.tga
MeshVisualizerTestFiles/objectid2D.tga
MeshVisualizerTestFiles/objectid3D.tga
MeshVisualizerTestFiles/instancedobjectid2D.tga
MeshVisualizerTestFiles/instancedobjectid3D.tga
MeshVisualizerTestFiles/primitiveid-tn.tga
MeshVisualizerTestFiles/primitiveid2D.tga
MeshVisualizerTestFiles/primitiveid3D.tga
@ -217,10 +217,10 @@ if(BUILD_GL_TESTS)
MeshVisualizerTestFiles/vertexid3D.tga
MeshVisualizerTestFiles/wireframe-nogeo2D.tga
MeshVisualizerTestFiles/wireframe-nogeo3D.tga
MeshVisualizerTestFiles/wireframe-objectid2D.tga
MeshVisualizerTestFiles/wireframe-objectid3D.tga
MeshVisualizerTestFiles/wireframe-nogeo-objectid2D.tga
MeshVisualizerTestFiles/wireframe-nogeo-objectid3D.tga
MeshVisualizerTestFiles/wireframe-instancedobjectid2D.tga
MeshVisualizerTestFiles/wireframe-instancedobjectid3D.tga
MeshVisualizerTestFiles/wireframe-nogeo-instancedobjectid2D.tga
MeshVisualizerTestFiles/wireframe-nogeo-instancedobjectid3D.tga
MeshVisualizerTestFiles/wireframe-perspective.tga
MeshVisualizerTestFiles/wireframe-primitiveid-tn.tga
MeshVisualizerTestFiles/wireframe-tn-smooth.tga

40
src/Magnum/Shaders/Test/MeshVisualizerGLTest.cpp

@ -134,8 +134,8 @@ struct MeshVisualizerGLTest: GL::OpenGLTester {
template<MeshVisualizerGL3D::Flag flag = MeshVisualizerGL3D::Flag{}> void renderDefaultsWireframe3D();
#endif
#ifndef MAGNUM_TARGET_GLES2
template<MeshVisualizerGL2D::Flag flag = MeshVisualizerGL2D::Flag{}> void renderDefaultsObjectId2D();
template<MeshVisualizerGL3D::Flag flag = MeshVisualizerGL3D::Flag{}> void renderDefaultsObjectId3D();
template<MeshVisualizerGL2D::Flag flag = MeshVisualizerGL2D::Flag{}> void renderDefaultsInstancedObjectId2D();
template<MeshVisualizerGL3D::Flag flag = MeshVisualizerGL3D::Flag{}> void renderDefaultsInstancedObjectId3D();
template<MeshVisualizerGL2D::Flag flag = MeshVisualizerGL2D::Flag{}> void renderDefaultsVertexId2D();
template<MeshVisualizerGL3D::Flag flag = MeshVisualizerGL3D::Flag{}> void renderDefaultsVertexId3D();
template<MeshVisualizerGL2D::Flag flag = MeshVisualizerGL2D::Flag{}> void renderDefaultsPrimitiveId2D();
@ -421,7 +421,7 @@ constexpr struct {
const char* name;
SamplerFilter filter;
SamplerWrapping wrapping;
} ObjectIdDefaultsData[] {
} InstancedObjectIdDefaultsData[] {
{"nearest, clamp", SamplerFilter::Nearest, SamplerWrapping::ClampToEdge},
{"nearest, repeat", SamplerFilter::Nearest, SamplerWrapping::Repeat},
{"linear, clamp", SamplerFilter::Linear, SamplerWrapping::ClampToEdge},
@ -477,10 +477,10 @@ constexpr struct {
const char* file2D;
const char* file3D;
} ObjectVertexPrimitiveIdData[] {
{"object ID",
{"instanced object ID",
MeshVisualizerGL2D::Flag::InstancedObjectId,
MeshVisualizerGL3D::Flag::InstancedObjectId,
"objectid2D.tga", "objectid3D.tga"},
"instancedobjectid2D.tga", "instancedobjectid3D.tga"},
{"vertex ID",
MeshVisualizerGL2D::Flag::VertexId,
MeshVisualizerGL3D::Flag::VertexId,
@ -495,16 +495,16 @@ constexpr struct {
MeshVisualizerGL2D::Flag::PrimitiveIdFromVertexId,
MeshVisualizerGL3D::Flag::PrimitiveIdFromVertexId,
"primitiveid2D.tga", "primitiveid3D.tga"},
{"wireframe + object ID",
{"wireframe + instanced object ID",
MeshVisualizerGL2D::Flag::InstancedObjectId|MeshVisualizerGL2D::Flag::Wireframe,
MeshVisualizerGL3D::Flag::InstancedObjectId|MeshVisualizerGL3D::Flag::Wireframe,
"wireframe-objectid2D.tga", "wireframe-objectid3D.tga"},
{"wireframe + object ID, no geometry shader",
"wireframe-instancedobjectid2D.tga", "wireframe-instancedobjectid3D.tga"},
{"wireframe + instanced object ID, no geometry shader",
MeshVisualizerGL2D::Flag::InstancedObjectId|MeshVisualizerGL2D::Flag::Wireframe|
MeshVisualizerGL2D::Flag::NoGeometryShader,
MeshVisualizerGL3D::Flag::InstancedObjectId|MeshVisualizerGL3D::Flag::Wireframe|
MeshVisualizerGL3D::Flag::NoGeometryShader,
"wireframe-nogeo-objectid2D.tga", "wireframe-nogeo-objectid3D.tga"},
"wireframe-nogeo-instancedobjectid2D.tga", "wireframe-nogeo-instancedobjectid3D.tga"},
{"wireframe + vertex ID",
MeshVisualizerGL2D::Flag::VertexId|MeshVisualizerGL2D::Flag::Wireframe,
MeshVisualizerGL3D::Flag::VertexId|MeshVisualizerGL3D::Flag::Wireframe,
@ -783,16 +783,16 @@ MeshVisualizerGLTest::MeshVisualizerGLTest() {
#ifndef MAGNUM_TARGET_GLES2
/* MSVC needs explicit type due to default template args */
addInstancedTests<MeshVisualizerGLTest>({
&MeshVisualizerGLTest::renderDefaultsObjectId2D,
&MeshVisualizerGLTest::renderDefaultsInstancedObjectId2D,
#ifndef MAGNUM_TARGET_GLES2
&MeshVisualizerGLTest::renderDefaultsObjectId2D<MeshVisualizerGL2D::Flag::UniformBuffers>,
&MeshVisualizerGLTest::renderDefaultsInstancedObjectId2D<MeshVisualizerGL2D::Flag::UniformBuffers>,
#endif
&MeshVisualizerGLTest::renderDefaultsObjectId3D,
&MeshVisualizerGLTest::renderDefaultsInstancedObjectId3D,
#ifndef MAGNUM_TARGET_GLES2
&MeshVisualizerGLTest::renderDefaultsObjectId3D<MeshVisualizerGL3D::Flag::UniformBuffers>,
&MeshVisualizerGLTest::renderDefaultsInstancedObjectId3D<MeshVisualizerGL3D::Flag::UniformBuffers>,
#endif
},
Containers::arraySize(ObjectIdDefaultsData),
Containers::arraySize(InstancedObjectIdDefaultsData),
&MeshVisualizerGLTest::renderSetup,
&MeshVisualizerGLTest::renderTeardown);
#endif
@ -1919,8 +1919,8 @@ template<MeshVisualizerGL3D::Flag flag> void MeshVisualizerGLTest::renderDefault
#endif
#ifndef MAGNUM_TARGET_GLES2
template<MeshVisualizerGL2D::Flag flag> void MeshVisualizerGLTest::renderDefaultsObjectId2D() {
auto&& data = ObjectIdDefaultsData[testCaseInstanceId()];
template<MeshVisualizerGL2D::Flag flag> void MeshVisualizerGLTest::renderDefaultsInstancedObjectId2D() {
auto&& data = InstancedObjectIdDefaultsData[testCaseInstanceId()];
setTestCaseDescription(data.name);
if(flag == MeshVisualizerGL2D::Flag::UniformBuffers) {
@ -1990,13 +1990,13 @@ template<MeshVisualizerGL2D::Flag flag> void MeshVisualizerGLTest::renderDefault
CORRADE_COMPARE_WITH(
/* Dropping the alpha channel, as it's always 1.0 */
Containers::arrayCast<Color3ub>(_framebuffer.read(_framebuffer.viewport(), {PixelFormat::RGBA8Unorm}).pixels<Color4ub>()),
Utility::Directory::join(_testDir, "MeshVisualizerTestFiles/defaults-objectid2D.tga"),
Utility::Directory::join(_testDir, "MeshVisualizerTestFiles/defaults-instancedobjectid2D.tga"),
/* SwiftShader has a few rounding errors on edges */
(DebugTools::CompareImageToFile{_manager, 150.67f, 0.45f}));
}
template<MeshVisualizerGL3D::Flag flag> void MeshVisualizerGLTest::renderDefaultsObjectId3D() {
auto&& data = ObjectIdDefaultsData[testCaseInstanceId()];
template<MeshVisualizerGL3D::Flag flag> void MeshVisualizerGLTest::renderDefaultsInstancedObjectId3D() {
auto&& data = InstancedObjectIdDefaultsData[testCaseInstanceId()];
setTestCaseDescription(data.name);
if(flag == MeshVisualizerGL3D::Flag::UniformBuffers) {
@ -2070,7 +2070,7 @@ template<MeshVisualizerGL3D::Flag flag> void MeshVisualizerGLTest::renderDefault
CORRADE_COMPARE_WITH(
/* Dropping the alpha channel, as it's always 1.0 */
Containers::arrayCast<Color3ub>(_framebuffer.read(_framebuffer.viewport(), {PixelFormat::RGBA8Unorm}).pixels<Color4ub>()),
Utility::Directory::join(_testDir, "MeshVisualizerTestFiles/defaults-objectid3D.tga"),
Utility::Directory::join(_testDir, "MeshVisualizerTestFiles/defaults-instancedobjectid3D.tga"),
/* SwiftShader has a few rounding errors on edges */
(DebugTools::CompareImageToFile{_manager, 150.67f, 0.165f}));
}

0
src/Magnum/Shaders/Test/MeshVisualizerTestFiles/defaults-objectid2D.tga → src/Magnum/Shaders/Test/MeshVisualizerTestFiles/defaults-instancedobjectid2D.tga

0
src/Magnum/Shaders/Test/MeshVisualizerTestFiles/defaults-objectid3D.tga → src/Magnum/Shaders/Test/MeshVisualizerTestFiles/defaults-instancedobjectid3D.tga

0
src/Magnum/Shaders/Test/MeshVisualizerTestFiles/objectid2D.tga → src/Magnum/Shaders/Test/MeshVisualizerTestFiles/instancedobjectid2D.tga

0
src/Magnum/Shaders/Test/MeshVisualizerTestFiles/objectid3D.tga → src/Magnum/Shaders/Test/MeshVisualizerTestFiles/instancedobjectid3D.tga

0
src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-objectid2D.tga → src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-instancedobjectid2D.tga

0
src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-objectid3D.tga → src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-instancedobjectid3D.tga

0
src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-nogeo-objectid2D.tga → src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-nogeo-instancedobjectid2D.tga

0
src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-nogeo-objectid3D.tga → src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-nogeo-instancedobjectid3D.tga

Loading…
Cancel
Save