X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-ShaderEffects.cpp;h=336efb5dba2c25c8ad7ac9b9bfafacdd219fa747;hp=33dfee4a458b900f4e551693cfdf463b763bf7da;hb=HEAD;hpb=cde5ef8b9c6de8008865e29f3b1acab8f7cd2bbc;ds=sidebyside diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ShaderEffects.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ShaderEffects.cpp index 33dfee4..7f7caab 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ShaderEffects.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ShaderEffects.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,165 +15,108 @@ * */ -#include -#include #include #include +#include +#include #include -#include -#include -#include -#include -#include #include -#include #include #include -#include -#include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include using namespace Dali; +using namespace Dali::Toolkit; int UtcDaliCreateAlphaDiscardEffect(void) { ToolkitTestApplication application; - ShaderEffect effect = Toolkit::CreateAlphaDiscardEffect(); - DALI_TEST_CHECK( effect ); - - END_TEST; -} - -int UtcDaliCreateBendyEffect(void) -{ - ToolkitTestApplication application; - - ShaderEffect effect = Toolkit::CreateBendyEffect(); - DALI_TEST_CHECK( effect ); - - END_TEST; -} - -int UtcDaliCreateBlindEffect(void) -{ - ToolkitTestApplication application; - - ShaderEffect effect = Toolkit::CreateBlindEffect(); - DALI_TEST_CHECK( effect ); + Property::Map effect = Toolkit::CreateAlphaDiscardEffect(); + DALI_TEST_CHECK(!effect.Empty()); - END_TEST; -} - -int UtcDaliCreateBouncingEffect(void) -{ - ToolkitTestApplication application; - - Vector4 color(1.0f,1.0f,1.0f,1.0f); - - ShaderEffect effect = Toolkit::CreateBouncingEffect(color); - DALI_TEST_CHECK( effect ); - - Property::Value value = effect.GetProperty( effect.GetPropertyIndex("uAssignedColor")); - DALI_TEST_EQUALS( value.Get(), color, TEST_LOCATION ); - - END_TEST; -} - -int UtcDaliCreateCarouselEffect(void) -{ - ToolkitTestApplication application; + Property::Value* customShaderValue = effect.Find(Toolkit::Visual::Property::SHADER); + DALI_TEST_CHECK(customShaderValue); - ShaderEffect effect = Toolkit::CreateCarouselEffect(); - DALI_TEST_CHECK( effect ); + Property::Map customShader; + DALI_TEST_CHECK(customShaderValue->Get(customShader)); - END_TEST; -} + Property::Value* vertexShaderValue = customShader.Find(Visual::Shader::Property::VERTEX_SHADER); + DALI_TEST_CHECK(!vertexShaderValue); -int UtcDaliCreateDisplacementEffectDisplaced(void) -{ - ToolkitTestApplication application; + Property::Value* fragmentShaderValue = customShader.Find(Visual::Shader::Property::FRAGMENT_SHADER); + DALI_TEST_CHECK(fragmentShaderValue); - ShaderEffect effect = Toolkit::CreateDisplacementEffect(Toolkit::DISPLACEMENT_EFFECT_DISPLACED); - DALI_TEST_CHECK( effect ); + std::string fragmentShader; + DALI_TEST_CHECK(fragmentShaderValue->Get(fragmentShader)); + DALI_TEST_CHECK(!fragmentShader.empty()); - END_TEST; -} + Property::Value* gridXValue = customShader.Find(Visual::Shader::Property::SUBDIVIDE_GRID_X); + DALI_TEST_CHECK(!gridXValue); -int UtcDaliCreateDisplacementEffectFixed(void) -{ - ToolkitTestApplication application; + Property::Value* gridYValue = customShader.Find(Visual::Shader::Property::SUBDIVIDE_GRID_Y); + DALI_TEST_CHECK(!gridYValue); - ShaderEffect effect = Toolkit::CreateDisplacementEffect(Toolkit::DISPLACEMENT_EFFECT_FIXED); - DALI_TEST_CHECK( effect ); + Property::Value* hintsValue = customShader.Find(Visual::Shader::Property::HINTS); + DALI_TEST_CHECK(!hintsValue); END_TEST; } -int UtcDaliCreateDissolveEffect( bool highPrecision ) +int UtcDaliCreateDissolveEffect(bool highPrecision) { ToolkitTestApplication application; - Property::Map effect = Toolkit::CreateDissolveEffect( highPrecision ); - DALI_TEST_CHECK( !effect.Empty() ); + Property::Map effect = Toolkit::CreateDissolveEffect(highPrecision); + DALI_TEST_CHECK(!effect.Empty()); - Property::Value* customShaderValue = effect.Find( "shader" ); - DALI_TEST_CHECK( customShaderValue ); + Property::Value* customShaderValue = effect.Find(Toolkit::Visual::Property::SHADER); + DALI_TEST_CHECK(customShaderValue); Property::Map customShader; - DALI_TEST_CHECK( customShaderValue->Get( customShader ) ); + DALI_TEST_CHECK(customShaderValue->Get(customShader)); - Property::Value* vertexShaderValue = customShader.Find( "vertex-shader" ); - DALI_TEST_CHECK( vertexShaderValue ); + Property::Value* vertexShaderValue = customShader.Find(Visual::Shader::Property::VERTEX_SHADER); + DALI_TEST_CHECK(vertexShaderValue); std::string vertexShader; - DALI_TEST_CHECK( vertexShaderValue->Get( vertexShader ) ); - DALI_TEST_CHECK( !vertexShader.empty() ); + DALI_TEST_CHECK(vertexShaderValue->Get(vertexShader)); + DALI_TEST_CHECK(!vertexShader.empty()); - Property::Value* fragmentShaderValue = customShader.Find( "fragment-shader" ); - DALI_TEST_CHECK( fragmentShaderValue ); + Property::Value* fragmentShaderValue = customShader.Find(Visual::Shader::Property::FRAGMENT_SHADER); + DALI_TEST_CHECK(fragmentShaderValue); std::string fragmentShader; - DALI_TEST_CHECK( fragmentShaderValue->Get( fragmentShader ) ); - DALI_TEST_CHECK( !fragmentShader.empty() ); + DALI_TEST_CHECK(fragmentShaderValue->Get(fragmentShader)); + DALI_TEST_CHECK(!fragmentShader.empty()); - Property::Value* gridXValue = customShader.Find( "subdivide-grid-x" ); - DALI_TEST_CHECK( gridXValue ); + Property::Value* gridXValue = customShader.Find(Visual::Shader::Property::SUBDIVIDE_GRID_X); + DALI_TEST_CHECK(gridXValue); int gridX = 0; - DALI_TEST_CHECK( gridXValue->Get( gridX ) ); - DALI_TEST_CHECK( gridX > 1 ); + DALI_TEST_CHECK(gridXValue->Get(gridX)); + DALI_TEST_CHECK(gridX > 1); - Property::Value* gridYValue = customShader.Find( "subdivide-grid-y" ); - DALI_TEST_CHECK( gridYValue ); + Property::Value* gridYValue = customShader.Find(Visual::Shader::Property::SUBDIVIDE_GRID_Y); + DALI_TEST_CHECK(gridYValue); int gridY = 0; - DALI_TEST_CHECK( gridYValue->Get( gridY ) ); - DALI_TEST_CHECK( gridY > 1 ); + DALI_TEST_CHECK(gridYValue->Get(gridY)); + DALI_TEST_CHECK(gridY > 1); - Property::Value* hintsValue = customShader.Find( "hints" ); - DALI_TEST_CHECK( hintsValue ); + Property::Value* hintsValue = customShader.Find(Visual::Shader::Property::HINTS); + DALI_TEST_CHECK(hintsValue); - std::string hints; - DALI_TEST_CHECK( hintsValue->Get( hints ) ); - DALI_TEST_CHECK( hints == "output-is-transparent" ); + int hints; + ; + DALI_TEST_CHECK(hintsValue->Get(hints)); + DALI_TEST_CHECK(hints == Shader::Hint::OUTPUT_IS_TRANSPARENT); Actor actor = Actor::New(); - Toolkit::DissolveEffectSetCentralLine( actor, Vector2::ONE, Vector2::ONE, 0.0f ); - DALI_TEST_CHECK( actor.GetPropertyIndex( "uPercentage" ) != Property::INVALID_INDEX ); + Toolkit::DissolveEffectSetCentralLine(actor, Vector2::ONE, Vector2::ONE, 0.0f); + DALI_TEST_CHECK(actor.GetPropertyIndex("uPercentage") != Property::INVALID_INDEX); END_TEST; } @@ -188,219 +131,199 @@ int UtcDaliCreateDissolveEffectMediumPrecision(void) return UtcDaliCreateDissolveEffect(false); } -int UtcDaliCreateDissolveLocalEffect(void) -{ - ToolkitTestApplication application; - - ShaderEffect effect = Toolkit::CreateDissolveLocalEffect(0); - DALI_TEST_CHECK( effect ); - - END_TEST; -} - -int UtcDaliCreateDistanceFieldEffect(void) +int UtcDaliCreateDissolveEffect(void) { ToolkitTestApplication application; - ShaderEffect effect = Toolkit::CreateDistanceFieldEffect(); - DALI_TEST_CHECK( effect ); + Property::Map effect = Toolkit::CreateDistanceFieldEffect(); + DALI_TEST_CHECK(!effect.Empty()); - END_TEST; -} - -int UtcDaliCreateImageRegionEffect(void) -{ - ToolkitTestApplication application; + Property::Value* customShaderValue = effect.Find(Toolkit::Visual::Property::SHADER); + DALI_TEST_CHECK(customShaderValue); - ShaderEffect effect = Toolkit::CreateImageRegionEffect(); - DALI_TEST_CHECK( effect ); + Property::Map customShader; + DALI_TEST_CHECK(customShaderValue->Get(customShader)); - END_TEST; -} + Property::Value* vertexShaderValue = customShader.Find(Visual::Shader::Property::VERTEX_SHADER); + DALI_TEST_CHECK(!vertexShaderValue); -int UtcDaliCreateIrisEffect(void) -{ - ToolkitTestApplication application; + Property::Value* fragmentShaderValue = customShader.Find(Visual::Shader::Property::FRAGMENT_SHADER); + DALI_TEST_CHECK(fragmentShaderValue); - ShaderEffect effect = Toolkit::CreateIrisEffect(); - DALI_TEST_CHECK( effect ); + std::string fragmentShader; + DALI_TEST_CHECK(fragmentShaderValue->Get(fragmentShader)); + DALI_TEST_CHECK(!fragmentShader.empty()); - END_TEST; -} + Property::Value* gridXValue = customShader.Find(Visual::Shader::Property::SUBDIVIDE_GRID_X); + DALI_TEST_CHECK(!gridXValue); -int UtcDaliCreateMaskEffect(void) -{ - ToolkitTestApplication application; + Property::Value* hintsValue = customShader.Find(Visual::Shader::Property::HINTS); + DALI_TEST_CHECK(hintsValue); - BufferImage image = CreateBufferImage(); - ShaderEffect effect = Toolkit::CreateMaskEffect(image); - DALI_TEST_CHECK( effect ); + int hints; + ; + DALI_TEST_CHECK(hintsValue->Get(hints)); + DALI_TEST_CHECK(hints == Shader::Hint::OUTPUT_IS_TRANSPARENT); END_TEST; } -int UtcDaliCreateMirrorEffect(void) +int UtcDaliCreateImageRegionEffect(void) { ToolkitTestApplication application; - BufferImage image = CreateBufferImage(); - ShaderEffect effect = Toolkit::CreateMirrorEffect(); - DALI_TEST_CHECK( effect ); + Property::Map effect = Toolkit::CreateImageRegionEffect(); + DALI_TEST_CHECK(!effect.Empty()); - END_TEST; -} - -int UtcDaliCreateMotionBlurEffect(void) -{ - ToolkitTestApplication application; + Property::Value* customShaderValue = effect.Find(Toolkit::Visual::Property::SHADER); + DALI_TEST_CHECK(customShaderValue); - unsigned int sampleCount(4); - ShaderEffect effect = Toolkit::CreateMotionBlurEffect(sampleCount); - DALI_TEST_CHECK( effect ); - - Property::Value value = effect.GetProperty( effect.GetPropertyIndex("uNumSamples")); - DALI_TEST_EQUALS( value.Get(), (float)sampleCount, TEST_LOCATION ); + Property::Map customShader; + DALI_TEST_CHECK(customShaderValue->Get(customShader)); - END_TEST; -} + Property::Value* vertexShaderValue = customShader.Find(Visual::Shader::Property::VERTEX_SHADER); + DALI_TEST_CHECK(vertexShaderValue); -int UtcDaliCreateMotionStretchEffect(void) -{ - ToolkitTestApplication application; + std::string vertexShader; + DALI_TEST_CHECK(vertexShaderValue->Get(vertexShader)); + DALI_TEST_CHECK(!vertexShader.empty()); - ShaderEffect effect = Toolkit::CreateMotionStretchEffect(); - DALI_TEST_CHECK( effect ); + Property::Value* fragmentShaderValue = customShader.Find(Visual::Shader::Property::FRAGMENT_SHADER); + DALI_TEST_CHECK(!fragmentShaderValue); - END_TEST; -} + Property::Value* gridXValue = customShader.Find(Visual::Shader::Property::SUBDIVIDE_GRID_X); + DALI_TEST_CHECK(!gridXValue); -int UtcDaliCreateOverlayEffect(void) -{ - ToolkitTestApplication application; + Property::Value* gridYValue = customShader.Find(Visual::Shader::Property::SUBDIVIDE_GRID_Y); + DALI_TEST_CHECK(!gridYValue); - BufferImage image = CreateBufferImage(); - ShaderEffect effect = Toolkit::CreateOverlayEffect(image); - DALI_TEST_CHECK( effect ); + Property::Value* hintsValue = customShader.Find(Visual::Shader::Property::HINTS); + DALI_TEST_CHECK(!hintsValue); END_TEST; } -int UtcDaliCreateQuadraticBezier(void) +int UtcDaliCreateMotionBlurEffect(void) { ToolkitTestApplication application; - ShaderEffect effect = Toolkit::CreateQuadraticBezier(3,false); - DALI_TEST_CHECK( effect ); - - END_TEST; -} - -int UtcDaliCreateQuadraticBezierFilled(void) -{ - ToolkitTestApplication application; + Property::Map effect = Toolkit::CreateMotionBlurEffect(); + DALI_TEST_CHECK(!effect.Empty()); - ShaderEffect effect = Toolkit::CreateQuadraticBezier(3,true); - DALI_TEST_CHECK( effect ); + Property::Value* customShaderValue = effect.Find(Toolkit::Visual::Property::SHADER); + DALI_TEST_CHECK(customShaderValue); - END_TEST; -} + Property::Map customShader; + DALI_TEST_CHECK(customShaderValue->Get(customShader)); -int UtcDaliCreateRipple2DEffect(void) -{ - ToolkitTestApplication application; + Property::Value* vertexShaderValue = customShader.Find(Visual::Shader::Property::VERTEX_SHADER); + DALI_TEST_CHECK(vertexShaderValue); - ShaderEffect effect = Toolkit::CreateRipple2DEffect(); - DALI_TEST_CHECK( effect ); + std::string vertexShader; + DALI_TEST_CHECK(vertexShaderValue->Get(vertexShader)); + DALI_TEST_CHECK(!vertexShader.empty()); - END_TEST; -} + Property::Value* fragmentShaderValue = customShader.Find(Visual::Shader::Property::FRAGMENT_SHADER); + DALI_TEST_CHECK(fragmentShaderValue); -int UtcDaliCreateRippleEffect(void) -{ - ToolkitTestApplication application; + std::string fragmentShader; + DALI_TEST_CHECK(fragmentShaderValue->Get(fragmentShader)); + DALI_TEST_CHECK(!fragmentShader.empty()); - ShaderEffect effect = Toolkit::CreateRippleEffect(); - DALI_TEST_CHECK( effect ); + Property::Value* gridXValue = customShader.Find(Visual::Shader::Property::SUBDIVIDE_GRID_X); + DALI_TEST_CHECK(gridXValue); - END_TEST; -} + int gridX = 0; + DALI_TEST_CHECK(gridXValue->Get(gridX)); + DALI_TEST_CHECK(gridX > 1); -int UtcDaliCreateShearEffect(void) -{ - ToolkitTestApplication application; + Property::Value* gridYValue = customShader.Find(Visual::Shader::Property::SUBDIVIDE_GRID_Y); + DALI_TEST_CHECK(gridYValue); - ShaderEffect effect = Toolkit::CreateShearEffect(); - DALI_TEST_CHECK( effect ); + int gridY = 0; + DALI_TEST_CHECK(gridYValue->Get(gridY)); + DALI_TEST_CHECK(gridY > 1); - END_TEST; -} + Property::Value* hintsValue = customShader.Find(Visual::Shader::Property::HINTS); + DALI_TEST_CHECK(hintsValue); -int UtcDaliSoftButtonEffectElliptical(void) -{ - ToolkitTestApplication application; + int hints; + ; + DALI_TEST_CHECK(hintsValue->Get(hints)); + DALI_TEST_CHECK(hints == Shader::Hint::OUTPUT_IS_TRANSPARENT); - ShaderEffect effect = Toolkit::CreateSoftButtonEffect(Toolkit::SOFT_BUTTON_ELLIPTICAL); - DALI_TEST_CHECK( effect ); + unsigned int sampleCount(4); + Actor actor = Actor::New(); + Toolkit::SetMotionBlurProperties(actor, sampleCount); + DALI_TEST_CHECK(actor.GetPropertyIndex("uBlurTexCoordScale") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uGeometryStretchFactor") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uSpeedScalingFactor") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uObjectFadeStart") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uObjectFadeEnd") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uAlphaScale") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uNumSamples") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uModelLastFrame") != Property::INVALID_INDEX); END_TEST; } -int UtcDaliSoftButtonEffectRectangular(void) +int UtcDaliCreateMotionStretchEffect(void) { ToolkitTestApplication application; - ShaderEffect effect = Toolkit::CreateSoftButtonEffect(Toolkit::SOFT_BUTTON_RECTANGULAR); - DALI_TEST_CHECK( effect ); - - END_TEST; -} - -int UtcDaliSoftButtonEffectFixed(void) -{ - ToolkitTestApplication application; + Property::Map effect = Toolkit::CreateMotionStretchEffect(); + DALI_TEST_CHECK(!effect.Empty()); - ShaderEffect effect = Toolkit::CreateSoftButtonEffect(Toolkit::SOFT_BUTTON_FIXED); - DALI_TEST_CHECK( effect ); + Property::Value* customShaderValue = effect.Find(Toolkit::Visual::Property::SHADER); + DALI_TEST_CHECK(customShaderValue); - END_TEST; -} + Property::Map customShader; + DALI_TEST_CHECK(customShaderValue->Get(customShader)); -int UtcDaliCreateSpotEffect(void) -{ - ToolkitTestApplication application; + Property::Value* vertexShaderValue = customShader.Find(Visual::Shader::Property::VERTEX_SHADER); + DALI_TEST_CHECK(vertexShaderValue); - ShaderEffect effect = Toolkit::CreateSpotEffect(); - DALI_TEST_CHECK( effect ); + std::string vertexShader; + DALI_TEST_CHECK(vertexShaderValue->Get(vertexShader)); + DALI_TEST_CHECK(!vertexShader.empty()); - END_TEST; -} + Property::Value* fragmentShaderValue = customShader.Find(Visual::Shader::Property::FRAGMENT_SHADER); + DALI_TEST_CHECK(fragmentShaderValue); -int UtcDaliCreateSquareDissolveEffect(void) -{ - ToolkitTestApplication application; + std::string fragmentShader; + DALI_TEST_CHECK(fragmentShaderValue->Get(fragmentShader)); + DALI_TEST_CHECK(!fragmentShader.empty()); - ShaderEffect effect = Toolkit::CreateSquareDissolveEffect(); - DALI_TEST_CHECK( effect ); + Property::Value* gridXValue = customShader.Find(Visual::Shader::Property::SUBDIVIDE_GRID_X); + DALI_TEST_CHECK(gridXValue); - END_TEST; -} + int gridX = 0; + DALI_TEST_CHECK(gridXValue->Get(gridX)); + DALI_TEST_CHECK(gridX > 1); -int UtcDaliSwirlEffect(void) -{ - ToolkitTestApplication application; + Property::Value* gridYValue = customShader.Find(Visual::Shader::Property::SUBDIVIDE_GRID_Y); + DALI_TEST_CHECK(gridYValue); - ShaderEffect effect = Toolkit::CreateSwirlEffect(false); - DALI_TEST_CHECK( effect ); + int gridY = 0; + DALI_TEST_CHECK(gridYValue->Get(gridY)); + DALI_TEST_CHECK(gridY > 1); - END_TEST; -} + Property::Value* hintsValue = customShader.Find(Visual::Shader::Property::HINTS); + DALI_TEST_CHECK(hintsValue); -int UtcDaliSwirlEffectWrap(void) -{ - ToolkitTestApplication application; + int hints; + ; + DALI_TEST_CHECK(hintsValue->Get(hints)); + DALI_TEST_CHECK(hints == Shader::Hint::OUTPUT_IS_TRANSPARENT); - ShaderEffect effect = Toolkit::CreateSwirlEffect(true); - DALI_TEST_CHECK( effect ); + Actor actor = Actor::New(); + Toolkit::SetMotionStretchProperties(actor); + DALI_TEST_CHECK(actor.GetPropertyIndex("uGeometryStretchFactor") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uSpeedScalingFactor") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uObjectFadeStart") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uObjectFadeEnd") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uAlphaScale") != Property::INVALID_INDEX); + DALI_TEST_CHECK(actor.GetPropertyIndex("uModelLastFrame") != Property::INVALID_INDEX); END_TEST; }