@ -46,6 +46,7 @@ class FlatMaterialDataTest: public TestSuite::Tester {
void texturedBaseColorSingleMatrixCoordinates ( ) ;
void texturedDiffuseColorSingleMatrixCoordinates ( ) ;
void texturedMismatchedMatrixCoordinates ( ) ;
void texturedImplicitCoordinates ( ) ;
void invalidTextures ( ) ;
} ;
@ -59,6 +60,7 @@ FlatMaterialDataTest::FlatMaterialDataTest() {
& FlatMaterialDataTest : : texturedBaseColorSingleMatrixCoordinates ,
& FlatMaterialDataTest : : texturedDiffuseColorSingleMatrixCoordinates ,
& FlatMaterialDataTest : : texturedMismatchedMatrixCoordinates ,
& FlatMaterialDataTest : : texturedImplicitCoordinates ,
& FlatMaterialDataTest : : invalidTextures } ) ;
}
@ -243,6 +245,34 @@ void FlatMaterialDataTest::texturedMismatchedMatrixCoordinates() {
}
}
void FlatMaterialDataTest : : texturedImplicitCoordinates ( ) {
{
FlatMaterialData data { { } , {
{ MaterialAttribute : : BaseColorTexture , 5u } ,
{ MaterialAttribute : : BaseColorTextureCoordinates , 0u } ,
/* This is ignored because it doesn't match the texture */
{ MaterialAttribute : : DiffuseTextureCoordinates , 2u } ,
} } ;
CORRADE_VERIFY ( data . hasTexture ( ) ) ;
CORRADE_VERIFY ( ! data . hasTextureCoordinates ( ) ) ;
CORRADE_COMPARE ( data . textureCoordinates ( ) , 0 ) ;
} {
FlatMaterialData data { { } , {
{ MaterialAttribute : : DiffuseTexture , 5u } ,
{ MaterialAttribute : : DiffuseTextureCoordinates , 0u } ,
/* This is ignored because it doesn't match the texture */
{ MaterialAttribute : : BaseColorTextureCoordinates , 2u } ,
} } ;
CORRADE_VERIFY ( data . hasTexture ( ) ) ;
CORRADE_VERIFY ( ! data . hasTextureCoordinates ( ) ) ;
CORRADE_COMPARE ( data . textureCoordinates ( ) , 0 ) ;
}
}
void FlatMaterialDataTest : : invalidTextures ( ) {
# ifdef CORRADE_NO_ASSERT
CORRADE_SKIP ( " CORRADE_NO_ASSERT defined, can't test assertions " ) ;