X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali%2Futc-Dali-Renderer.cpp;h=240d1a0699a846e95a700f2dd4f5ab4d1d0626bc;hb=72d3e464f0fdaaf6db6206873408e8d845f02cd4;hp=8c7bc61fe54b904192a3269751c7c5b751d542f0;hpb=840c7a24f69ccc36769f1a6474d7839eabe61e8b;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/automated-tests/src/dali/utc-Dali-Renderer.cpp b/automated-tests/src/dali/utc-Dali-Renderer.cpp index 8c7bc61..240d1a0 100644 --- a/automated-tests/src/dali/utc-Dali-Renderer.cpp +++ b/automated-tests/src/dali/utc-Dali-Renderer.cpp @@ -1403,6 +1403,33 @@ int UtcDaliRendererUniformMapMultipleUniforms02(void) END_TEST; } + +Renderer CreateRenderer( Actor actor, Geometry geometry, Shader shader, int depthIndex ) +{ + Image image0 = BufferImage::New( 64, 64, Pixel::RGB888 ); + TextureSet textureSet0 = CreateTextureSet( image0 ); + Renderer renderer0 = Renderer::New( geometry, shader ); + renderer0.SetTextures( textureSet0 ); + renderer0.SetProperty( Renderer::Property::DEPTH_INDEX, depthIndex ); + actor.AddRenderer(renderer0); + return renderer0; +} + + +Actor CreateActor( Actor parent, int siblingOrder, const char* location ) +{ + Actor actor0 = Actor::New(); + actor0.SetAnchorPoint(AnchorPoint::CENTER); + actor0.SetParentOrigin(AnchorPoint::CENTER); + actor0.SetPosition(0.0f,0.0f); + actor0.SetSize(100, 100); + actor0.SetProperty( Dali::DevelActor::Property::SIBLING_ORDER, siblingOrder ); + DALI_TEST_EQUALS( actor0.GetProperty( Dali::DevelActor::Property::SIBLING_ORDER), siblingOrder, TEST_INNER_LOCATION(location) ); + parent.Add(actor0); + + return actor0; +} + int UtcDaliRendererRenderOrder2DLayer(void) { TestApplication application; @@ -1411,59 +1438,20 @@ int UtcDaliRendererRenderOrder2DLayer(void) Shader shader = Shader::New("VertexSource", "FragmentSource"); Geometry geometry = CreateQuadGeometry(); - Actor actor0 = Actor::New(); - actor0.SetAnchorPoint(AnchorPoint::CENTER); - actor0.SetParentOrigin(AnchorPoint::CENTER); - actor0.SetPosition(0.0f,0.0f); - Image image0 = BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet0 = CreateTextureSet( image0 ); - Renderer renderer0 = Renderer::New( geometry, shader ); - renderer0.SetTextures( textureSet0 ); - actor0.AddRenderer(renderer0); - actor0.SetSize(1, 1); - Stage::GetCurrent().Add(actor0); - application.SendNotification(); - application.Render(0); + Actor root = Stage::GetCurrent().GetRootLayer(); - Actor actor1 = Actor::New(); - actor1.SetAnchorPoint(AnchorPoint::CENTER); - actor1.SetParentOrigin(AnchorPoint::CENTER); - actor1.SetPosition(0.0f,0.0f); - Image image1= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet1 = CreateTextureSet( image1 ); - Renderer renderer1 = Renderer::New( geometry, shader ); - renderer1.SetTextures( textureSet1 ); - actor1.AddRenderer(renderer1); - actor1.SetSize(1, 1); - Stage::GetCurrent().Add(actor1); - application.SendNotification(); - application.Render(0); + Actor actor0 = CreateActor( root, 0, TEST_LOCATION ); + Renderer renderer0 = CreateRenderer( actor0, geometry, shader, 0 ); - Actor actor2 = Actor::New(); - actor2.SetAnchorPoint(AnchorPoint::CENTER); - actor2.SetParentOrigin(AnchorPoint::CENTER); - actor2.SetPosition(0.0f,0.0f); - Image image2= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet2 = CreateTextureSet( image2 ); - Renderer renderer2 = Renderer::New( geometry, shader ); - renderer2.SetTextures( textureSet2 ); - actor2.AddRenderer(renderer2); - actor2.SetSize(1, 1); - Stage::GetCurrent().Add(actor2); - application.SendNotification(); - application.Render(0); + Actor actor1 = CreateActor( root, 0, TEST_LOCATION ); + Renderer renderer1 = CreateRenderer( actor1, geometry, shader, 0 ); + + Actor actor2 = CreateActor( root, 0, TEST_LOCATION ); + Renderer renderer2 = CreateRenderer( actor2, geometry, shader, 0 ); + + Actor actor3 = CreateActor( root, 0, TEST_LOCATION ); + Renderer renderer3 = CreateRenderer( actor3, geometry, shader, 0 ); - Actor actor3 = Actor::New(); - actor3.SetAnchorPoint(AnchorPoint::CENTER); - actor3.SetParentOrigin(AnchorPoint::CENTER); - actor3.SetPosition(0.0f,0.0f); - Image image3 = BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet3 = CreateTextureSet( image3 ); - Renderer renderer3 = Renderer::New( geometry, shader ); - renderer3.SetTextures( textureSet3 ); - actor3.AddRenderer(renderer3); - actor3.SetSize(1, 1); - Stage::GetCurrent().Add(actor3); application.SendNotification(); application.Render(0); @@ -1542,81 +1530,20 @@ int UtcDaliRendererRenderOrder2DLayerMultipleRenderers(void) Shader shader = Shader::New("VertexSource", "FragmentSource"); Geometry geometry = CreateQuadGeometry(); - Actor actor0 = Actor::New(); - actor0.SetAnchorPoint(AnchorPoint::CENTER); - actor0.SetParentOrigin(AnchorPoint::CENTER); - actor0.SetPosition(0.0f,0.0f); - actor0.SetSize(1, 1); - Stage::GetCurrent().Add(actor0); - - Actor actor1 = Actor::New(); - actor1.SetAnchorPoint(AnchorPoint::CENTER); - actor1.SetParentOrigin(AnchorPoint::CENTER); - actor1.SetPosition(0.0f,0.0f); - actor1.SetSize(1, 1); - actor0.Add(actor1); - - //Renderer0 - Image image0 = BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet0 = CreateTextureSet( image0 ); - Renderer renderer0 = Renderer::New( geometry, shader ); - renderer0.SetTextures( textureSet0 ); - renderer0.SetProperty( Renderer::Property::DEPTH_INDEX, 2 ); - actor0.AddRenderer(renderer0); - application.SendNotification(); - application.Render(0); - - //Renderer1 - Image image1= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet1 = CreateTextureSet( image1 ); - Renderer renderer1 = Renderer::New( geometry, shader ); - renderer1.SetTextures( textureSet1 ); - renderer1.SetProperty( Renderer::Property::DEPTH_INDEX, 0 ); - actor0.AddRenderer(renderer1); - application.SendNotification(); - application.Render(0); - - //Renderer2 - Image image2= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet2 = CreateTextureSet( image2 ); - Renderer renderer2 = Renderer::New( geometry, shader ); - renderer2.SetTextures( textureSet2 ); - renderer2.SetProperty( Renderer::Property::DEPTH_INDEX, 1 ); - actor0.AddRenderer(renderer2); - application.SendNotification(); - application.Render(0); - - //Renderer3 - Image image3 = BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet3 = CreateTextureSet( image3 ); - Renderer renderer3 = Renderer::New( geometry, shader ); - renderer3.SetTextures( textureSet3 ); - renderer3.SetProperty( Renderer::Property::DEPTH_INDEX, 1 ); - actor1.AddRenderer(renderer3); - application.SendNotification(); - application.Render(0); + Actor root = Stage::GetCurrent().GetRootLayer(); - //Renderer4 - Image image4= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet4 = CreateTextureSet( image4 ); - Renderer renderer4 = Renderer::New( geometry, shader ); - renderer4.SetTextures( textureSet4 ); - renderer4.SetProperty( Renderer::Property::DEPTH_INDEX, 0 ); - actor1.AddRenderer(renderer4); - application.SendNotification(); - application.Render(0); + Actor actor0 = CreateActor( root, 0, TEST_LOCATION ); + Actor actor1 = CreateActor( actor0, 0, TEST_LOCATION ); + Renderer renderer0 = CreateRenderer( actor0, geometry, shader, 2 ); + Renderer renderer1 = CreateRenderer( actor0, geometry, shader, 0 ); + Renderer renderer2 = CreateRenderer( actor0, geometry, shader, 1 ); + Renderer renderer3 = CreateRenderer( actor1, geometry, shader, 1 ); + Renderer renderer4 = CreateRenderer( actor1, geometry, shader, 0 ); + Renderer renderer5 = CreateRenderer( actor1, geometry, shader, -1 ); - //Renderer5 - Image image5= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet5 = CreateTextureSet( image5 ); - Renderer renderer5 = Renderer::New( geometry, shader ); - renderer5.SetTextures( textureSet5 ); - renderer5.SetProperty( Renderer::Property::DEPTH_INDEX, -1 ); - actor1.AddRenderer(renderer5); application.SendNotification(); application.Render(0); - TestGlAbstraction& gl = application.GetGlAbstraction(); gl.EnableTextureCallTrace(true); application.SendNotification(); @@ -1648,6 +1575,7 @@ int UtcDaliRendererRenderOrder2DLayerMultipleRenderers(void) END_TEST; } + int UtcDaliRendererRenderOrder2DLayerSiblingOrder(void) { TestApplication application; @@ -1667,9 +1595,10 @@ int UtcDaliRendererRenderOrder2DLayerSiblingOrder(void) * / | \ / | \ * / | \ / | \ * renderer0 renderer1 actor2 renderer2 renderer3 renderer4 - * | + * DI:2 DI:0 | DI:0 DI:1 DI:2 * | * renderer5 + * DI:-1 * * actor0 has sibling order 1 * actor1 has sibling order 0 @@ -1689,92 +1618,20 @@ int UtcDaliRendererRenderOrder2DLayerSiblingOrder(void) Shader shader = Shader::New("VertexSource", "FragmentSource"); Geometry geometry = CreateQuadGeometry(); + Actor root = Stage::GetCurrent().GetRootLayer(); + Actor actor0 = CreateActor( root, 1, TEST_LOCATION ); + Actor actor1 = CreateActor( root, 0, TEST_LOCATION ); + Actor actor2 = CreateActor( actor0, 0, TEST_LOCATION ); - Actor actor0 = Actor::New(); - actor0.SetAnchorPoint(AnchorPoint::CENTER); - actor0.SetParentOrigin(AnchorPoint::CENTER); - actor0.SetPosition(0.0f,0.0f); - actor0.SetSize(1, 1); - actor0.SetProperty( Dali::DevelActor::Property::SIBLING_ORDER, 1 ); - DALI_TEST_EQUALS( actor0.GetProperty( Dali::DevelActor::Property::SIBLING_ORDER), 1, TEST_LOCATION ); - Stage::GetCurrent().Add(actor0); - - Actor actor1 = Actor::New(); - actor1.SetAnchorPoint(AnchorPoint::CENTER); - actor1.SetParentOrigin(AnchorPoint::CENTER); - actor1.SetPosition(0.0f,0.0f); - actor1.SetSize(1, 1); - DALI_TEST_EQUALS( actor1.GetProperty( Dali::DevelActor::Property::SIBLING_ORDER), 0, TEST_LOCATION ); - Stage::GetCurrent().Add(actor1); - - Actor actor2 = Actor::New(); - actor2.SetAnchorPoint(AnchorPoint::CENTER); - actor2.SetParentOrigin(AnchorPoint::CENTER); - actor2.SetPosition(0.0f,0.0f); - actor2.SetSize(1, 1); - DALI_TEST_EQUALS( actor1.GetProperty( Dali::DevelActor::Property::SIBLING_ORDER), 0, TEST_LOCATION ); - actor0.Add(actor2); - - //Renderer0 - Image image0 = BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet0 = CreateTextureSet( image0 ); - Renderer renderer0 = Renderer::New( geometry, shader ); - renderer0.SetTextures( textureSet0 ); - renderer0.SetProperty( Renderer::Property::DEPTH_INDEX, 2 ); - actor0.AddRenderer(renderer0); - application.SendNotification(); - application.Render(0); - - //Renderer1 - Image image1= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet1 = CreateTextureSet( image1 ); - Renderer renderer1 = Renderer::New( geometry, shader ); - renderer1.SetTextures( textureSet1 ); - renderer1.SetProperty( Renderer::Property::DEPTH_INDEX, 0 ); - actor0.AddRenderer(renderer1); - application.SendNotification(); - application.Render(0); - - //Renderer2 - Image image2= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet2 = CreateTextureSet( image2 ); - Renderer renderer2 = Renderer::New( geometry, shader ); - renderer2.SetTextures( textureSet2 ); - renderer2.SetProperty( Renderer::Property::DEPTH_INDEX, 0 ); - actor1.AddRenderer(renderer2); - application.SendNotification(); - application.Render(0); - - //Renderer3 - Image image3 = BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet3 = CreateTextureSet( image3 ); - Renderer renderer3 = Renderer::New( geometry, shader ); - renderer3.SetTextures( textureSet3 ); - renderer3.SetProperty( Renderer::Property::DEPTH_INDEX, 1 ); - actor1.AddRenderer(renderer3); - application.SendNotification(); - application.Render(0); - - //Renderer4 - Image image4= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet4 = CreateTextureSet( image4 ); - Renderer renderer4 = Renderer::New( geometry, shader ); - renderer4.SetTextures( textureSet4 ); - renderer4.SetProperty( Renderer::Property::DEPTH_INDEX, 2 ); - actor1.AddRenderer(renderer4); - application.SendNotification(); - application.Render(0); + Renderer renderer0 = CreateRenderer( actor0, geometry, shader, 2 ); + Renderer renderer1 = CreateRenderer( actor0, geometry, shader, 0 ); + Renderer renderer2 = CreateRenderer( actor1, geometry, shader, 0 ); + Renderer renderer3 = CreateRenderer( actor1, geometry, shader, 1 ); + Renderer renderer4 = CreateRenderer( actor1, geometry, shader, 2 ); + Renderer renderer5 = CreateRenderer( actor2, geometry, shader, -1 ); - //Renderer5 - Image image5= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet5 = CreateTextureSet( image5 ); - Renderer renderer5 = Renderer::New( geometry, shader ); - renderer5.SetTextures( textureSet5 ); - renderer5.SetProperty( Renderer::Property::DEPTH_INDEX, -1 ); - actor2.AddRenderer(renderer5); application.SendNotification(); - application.Render(0); - + application.Render(); TestGlAbstraction& gl = application.GetGlAbstraction(); gl.EnableTextureCallTrace(true); @@ -1796,8 +1653,8 @@ int UtcDaliRendererRenderOrder2DLayerSiblingOrder(void) DALI_TEST_EQUALS( textureBindIndex[0], 4, TEST_LOCATION ); DALI_TEST_EQUALS( textureBindIndex[5], 5, TEST_LOCATION ); - //Change sibling order of actor1 - //New Expected rendering order: renderer1 - renderer0 - renderer2 - renderer3 - renderer4 - renderer5 + // Change sibling order of actor1 + // New Expected rendering order: renderer1 - renderer0 - renderer 5 - renderer2 - renderer3 - renderer4 actor1.SetProperty( Dali::DevelActor::Property::SIBLING_ORDER, 2 ); gl.GetTextureTrace().Reset(); @@ -1813,10 +1670,10 @@ int UtcDaliRendererRenderOrder2DLayerSiblingOrder(void) DALI_TEST_EQUALS( textureBindIndex[1], 0, TEST_LOCATION ); DALI_TEST_EQUALS( textureBindIndex[0], 1, TEST_LOCATION ); - DALI_TEST_EQUALS( textureBindIndex[2], 2, TEST_LOCATION ); - DALI_TEST_EQUALS( textureBindIndex[3], 3, TEST_LOCATION ); - DALI_TEST_EQUALS( textureBindIndex[4], 4, TEST_LOCATION ); - DALI_TEST_EQUALS( textureBindIndex[5], 5, TEST_LOCATION ); + DALI_TEST_EQUALS( textureBindIndex[5], 2, TEST_LOCATION ); + DALI_TEST_EQUALS( textureBindIndex[2], 3, TEST_LOCATION ); + DALI_TEST_EQUALS( textureBindIndex[3], 4, TEST_LOCATION ); + DALI_TEST_EQUALS( textureBindIndex[4], 5, TEST_LOCATION ); END_TEST; } @@ -1828,79 +1685,7 @@ int UtcDaliRendererRenderOrder2DLayerOverlay(void) Shader shader = Shader::New("VertexSource", "FragmentSource"); Geometry geometry = CreateQuadGeometry(); - - Actor actor0 = Actor::New(); - actor0.SetAnchorPoint(AnchorPoint::CENTER); - actor0.SetParentOrigin(AnchorPoint::CENTER); - Image image0 = BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet0 = CreateTextureSet( image0 ); - Renderer renderer0 = Renderer::New( geometry, shader ); - renderer0.SetTextures( textureSet0 ); - actor0.AddRenderer(renderer0); - actor0.SetPosition(0.0f,0.0f); - actor0.SetSize(100, 100); - Stage::GetCurrent().Add(actor0); - actor0.SetDrawMode( DrawMode::OVERLAY_2D ); - application.SendNotification(); - application.Render(0); - - Actor actor1 = Actor::New(); - actor1.SetAnchorPoint(AnchorPoint::CENTER); - actor1.SetParentOrigin(AnchorPoint::CENTER); - Image image1= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet1 = CreateTextureSet( image1 ); - Renderer renderer1 = Renderer::New( geometry, shader ); - renderer1.SetTextures( textureSet1 ); - actor1.SetPosition(0.0f,0.0f); - actor1.AddRenderer(renderer1); - actor1.SetSize(100, 100); - Stage::GetCurrent().Add(actor1); - actor1.SetDrawMode( DrawMode::OVERLAY_2D ); - application.SendNotification(); - application.Render(0); - - Actor actor2 = Actor::New(); - actor2.SetAnchorPoint(AnchorPoint::CENTER); - actor2.SetParentOrigin(AnchorPoint::CENTER); - Image image2= BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet2 = CreateTextureSet( image2 ); - Renderer renderer2 = Renderer::New( geometry, shader ); - renderer2.SetTextures( textureSet2 ); - actor2.AddRenderer(renderer2); - actor2.SetPosition(0.0f,0.0f); - actor2.SetSize(100, 100); - Stage::GetCurrent().Add(actor2); - application.SendNotification(); - application.Render(0); - - Actor actor3 = Actor::New(); - actor3.SetAnchorPoint(AnchorPoint::CENTER); - actor3.SetParentOrigin(AnchorPoint::CENTER); - Image image3 = BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet3 = CreateTextureSet( image3 ); - Renderer renderer3 = Renderer::New( geometry, shader ); - renderer3.SetTextures( textureSet3 ); - actor3.SetPosition(0.0f,0.0f); - actor3.AddRenderer(renderer3); - actor3.SetSize(100, 100); - Stage::GetCurrent().Add(actor3); - actor3.SetDrawMode( DrawMode::OVERLAY_2D ); - application.SendNotification(); - application.Render(0); - - Actor actor4 = Actor::New(); - actor4.SetAnchorPoint(AnchorPoint::CENTER); - actor4.SetParentOrigin(AnchorPoint::CENTER); - Image image4 = BufferImage::New( 64, 64, Pixel::RGB888 ); - TextureSet textureSet4 = CreateTextureSet( image4 ); - Renderer renderer4 = Renderer::New( geometry, shader ); - renderer4.SetTextures( textureSet4 ); - actor4.AddRenderer(renderer4); - actor4.SetPosition(0.0f,0.0f); - actor4.SetSize(100, 100); - Stage::GetCurrent().Add(actor4); - application.SendNotification(); - application.Render(0); + Actor root = Stage::GetCurrent().GetRootLayer(); /* * Create the following hierarchy: @@ -1922,13 +1707,32 @@ int UtcDaliRendererRenderOrder2DLayerOverlay(void) * * Expected rendering order : actor2 - actor4 - actor1 - actor0 - actor3 */ - Stage::GetCurrent().Add( actor2 ); + + Actor actor0 = CreateActor( root, 0, TEST_LOCATION ); + actor0.SetDrawMode( DrawMode::OVERLAY_2D ); + Renderer renderer0 = CreateRenderer( actor0, geometry, shader, 0 ); + + Actor actor1 = CreateActor( root, 0, TEST_LOCATION ); + actor1.SetDrawMode( DrawMode::OVERLAY_2D ); + Renderer renderer1 = CreateRenderer( actor1, geometry, shader, 0 ); + + Actor actor2 = CreateActor( root, 0, TEST_LOCATION ); + Renderer renderer2 = CreateRenderer( actor2, geometry, shader, 0 ); + + Actor actor3 = CreateActor( root, 0, TEST_LOCATION ); + actor3.SetDrawMode( DrawMode::OVERLAY_2D ); + Renderer renderer3 = CreateRenderer( actor3, geometry, shader, 0 ); + + Actor actor4 = CreateActor( root, 0, TEST_LOCATION ); + Renderer renderer4 = CreateRenderer( actor4, geometry, shader, 0 ); + + application.SendNotification(); + application.Render(0); + actor2.Add(actor1); actor2.Add(actor4); actor1.Add(actor0); actor0.Add(actor3); - application.SendNotification(); - application.Render(0); TestGlAbstraction& gl = application.GetGlAbstraction(); gl.EnableTextureCallTrace(true); @@ -2234,10 +2038,13 @@ template< typename T > void CheckEnumerationProperty( Renderer& renderer, Property::Index propertyIndex, T initialValue, T firstCheckEnumeration, T secondCheckEnumeration, std::string secondCheckString ) { DALI_TEST_CHECK( renderer.GetProperty( propertyIndex ) == static_cast( initialValue ) ); + DALI_TEST_CHECK( DevelHandle::GetCurrentProperty< int >( renderer, propertyIndex ) == static_cast( initialValue ) ); renderer.SetProperty( propertyIndex, firstCheckEnumeration ); DALI_TEST_CHECK( renderer.GetProperty( propertyIndex ) == static_cast( firstCheckEnumeration ) ); + DALI_TEST_CHECK( DevelHandle::GetCurrentProperty< int >( renderer, propertyIndex ) == static_cast( firstCheckEnumeration ) ); renderer.SetProperty( propertyIndex, secondCheckString ); DALI_TEST_CHECK( renderer.GetProperty( propertyIndex ) == static_cast( secondCheckEnumeration ) ); + DALI_TEST_CHECK( DevelHandle::GetCurrentProperty< int >( renderer, propertyIndex ) == static_cast( secondCheckEnumeration ) ); } int UtcDaliRendererEnumProperties(void)