From: David Steele Date: Tue, 22 Feb 2022 18:00:19 +0000 (+0000) Subject: Merge "Use RegisterUniqueProperty for some more renderers" into devel/master X-Git-Tag: dali_2.1.11~9 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=076f84a43592f26ff0aa2bced54583f712800fe3;hp=a3c24db302ffb83a32a0b5d8fba0b2c9de2b6634 Merge "Use RegisterUniqueProperty for some more renderers" into devel/master --- diff --git a/dali-toolkit/internal/controls/bubble-effect/bubble-renderer.cpp b/dali-toolkit/internal/controls/bubble-effect/bubble-renderer.cpp index b3ef299..364e0c3 100644 --- a/dali-toolkit/internal/controls/bubble-effect/bubble-renderer.cpp +++ b/dali-toolkit/internal/controls/bubble-effect/bubble-renderer.cpp @@ -53,25 +53,25 @@ void BubbleRenderer::Initialize(unsigned int numberOfBubble, const Vector2& move mRenderer.SetTextures(textureSet); // register uniforms - mIndexGravity = mRenderer.RegisterProperty("uGravity", 50.f); - mIndexDynamicScale = mRenderer.RegisterProperty("uDynamicScale", 1.f); + mIndexGravity = mRenderer.RegisterUniqueProperty("uGravity", 50.f); + mIndexDynamicScale = mRenderer.RegisterUniqueProperty("uDynamicScale", 1.f); - mIndexInvertedMovementArea = mRenderer.RegisterProperty("uInvertedMovementArea", Vector2(1.f, 1.f) / movementArea); + mIndexInvertedMovementArea = mRenderer.RegisterUniqueProperty("uInvertedMovementArea", Vector2(1.f, 1.f) / movementArea); mIndicesOffset.resize(9); int offset = movementArea.Length() / 10.f; unsigned int seed = time(NULL); - mIndicesOffset[0] = mRenderer.RegisterProperty("uOffset[0]", Vector2(0.f, 0.f)); - mIndicesOffset[1] = mRenderer.RegisterProperty("uOffset[1]", Vector2(rand_r(&seed) % offset, rand_r(&seed) % offset)); - mIndicesOffset[2] = mRenderer.RegisterProperty("uOffset[2]", Vector2(rand_r(&seed) % offset, -rand_r(&seed) % offset)); - mIndicesOffset[3] = mRenderer.RegisterProperty("uOffset[3]", Vector2(-rand_r(&seed) % offset, rand_r(&seed) % offset)); - mIndicesOffset[4] = mRenderer.RegisterProperty("uOffset[4]", Vector2(-rand_r(&seed) % offset, -rand_r(&seed) % offset)); - mIndicesOffset[5] = mRenderer.RegisterProperty("uOffset[5]", Vector2(rand_r(&seed) % offset, 0.f)); - mIndicesOffset[6] = mRenderer.RegisterProperty("uOffset[6]", Vector2(-rand_r(&seed) % offset, 0.f)); - mIndicesOffset[7] = mRenderer.RegisterProperty("uOffset[7]", Vector2(0.f, rand_r(&seed) % offset)); - mIndicesOffset[8] = mRenderer.RegisterProperty("uOffset[8]", Vector2(0.f, -rand_r(&seed) % offset)); + mIndicesOffset[0] = mRenderer.RegisterUniqueProperty("uOffset[0]", Vector2(0.f, 0.f)); + mIndicesOffset[1] = mRenderer.RegisterUniqueProperty("uOffset[1]", Vector2(rand_r(&seed) % offset, rand_r(&seed) % offset)); + mIndicesOffset[2] = mRenderer.RegisterUniqueProperty("uOffset[2]", Vector2(rand_r(&seed) % offset, -rand_r(&seed) % offset)); + mIndicesOffset[3] = mRenderer.RegisterUniqueProperty("uOffset[3]", Vector2(-rand_r(&seed) % offset, rand_r(&seed) % offset)); + mIndicesOffset[4] = mRenderer.RegisterUniqueProperty("uOffset[4]", Vector2(-rand_r(&seed) % offset, -rand_r(&seed) % offset)); + mIndicesOffset[5] = mRenderer.RegisterUniqueProperty("uOffset[5]", Vector2(rand_r(&seed) % offset, 0.f)); + mIndicesOffset[6] = mRenderer.RegisterUniqueProperty("uOffset[6]", Vector2(-rand_r(&seed) % offset, 0.f)); + mIndicesOffset[7] = mRenderer.RegisterUniqueProperty("uOffset[7]", Vector2(0.f, rand_r(&seed) % offset)); + mIndicesOffset[8] = mRenderer.RegisterUniqueProperty("uOffset[8]", Vector2(0.f, -rand_r(&seed) % offset)); Vector4 zeroVector; mIndiceStartEndPos.resize(numberOfBubble); @@ -80,11 +80,11 @@ void BubbleRenderer::Initialize(unsigned int numberOfBubble, const Vector2& move { std::ostringstream ossProperty; ossProperty << "uStartEndPosition[" << i << "]"; - mIndiceStartEndPos[i] = mRenderer.RegisterProperty(ossProperty.str(), zeroVector); + mIndiceStartEndPos[i] = mRenderer.RegisterUniqueProperty(ossProperty.str(), zeroVector); ossProperty.str(""); ossProperty << "uPercentage[" << i << "]"; - mIndicesPercentage[i] = mRenderer.RegisterProperty(ossProperty.str(), 0.f); + mIndicesPercentage[i] = mRenderer.RegisterUniqueProperty(ossProperty.str(), 0.f); } } diff --git a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp index fef8956..ad90105 100644 --- a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp +++ b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp @@ -147,7 +147,7 @@ void SuperBlurView::OnInitialize() { Actor self(Self()); - mBlurStrengthPropertyIndex = self.RegisterProperty("blurStrength", 0.f); + mBlurStrengthPropertyIndex = self.RegisterUniqueProperty("blurStrength", 0.f); DevelControl::SetAccessibilityConstructor(self, [](Dali::Actor actor) { return std::unique_ptr( @@ -307,7 +307,7 @@ void SuperBlurView::OnSceneConnection(int depth) if(i > 0) { Renderer renderer = mRenderers[i]; - Property::Index index = renderer.RegisterProperty(ALPHA_UNIFORM_NAME, 0.f); + Property::Index index = renderer.RegisterUniqueProperty(ALPHA_UNIFORM_NAME, 0.f); Constraint constraint = Constraint::New(renderer, index, ActorOpacityConstraint(mBlurLevels, i - 1)); constraint.AddSource(Source(self, mBlurStrengthPropertyIndex)); constraint.Apply(); diff --git a/dali-toolkit/internal/visuals/animated-gradient/animated-gradient-visual.cpp b/dali-toolkit/internal/visuals/animated-gradient/animated-gradient-visual.cpp index 30fb901..30d8616 100644 --- a/dali-toolkit/internal/visuals/animated-gradient/animated-gradient-visual.cpp +++ b/dali-toolkit/internal/visuals/animated-gradient/animated-gradient-visual.cpp @@ -667,13 +667,13 @@ void AnimatedGradientVisual::OnInitialize() mImpl->mRenderer = Renderer::New(geometry, shader); mImpl->mRenderer.ReserveCustomProperties(CUSTOM_PROPERTY_COUNT); - mImpl->mRenderer.RegisterProperty(UNIFORM_START_POINT_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::START_POSITION, START_POSITION_NAME)); - mImpl->mRenderer.RegisterProperty(UNIFORM_START_COLOR_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::START_COLOR, START_COLOR_NAME)); - mImpl->mRenderer.RegisterProperty(UNIFORM_END_POINT_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::END_POSITION, END_POSITION_NAME)); - mImpl->mRenderer.RegisterProperty(UNIFORM_END_COLOR_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::END_COLOR, END_COLOR_NAME)); - mImpl->mRenderer.RegisterProperty(UNIFORM_ROTATE_CENTER_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::ROTATE_CENTER, ROTATE_CENTER_NAME)); - mImpl->mRenderer.RegisterProperty(UNIFORM_ROTATE_ANGLE_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::ROTATE_AMOUNT, ROTATE_AMOUNT_NAME)); - mImpl->mRenderer.RegisterProperty(UNIFORM_OFFSET_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::OFFSET, OFFSET_NAME)); + mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_START_POINT_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::START_POSITION, START_POSITION_NAME)); + mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_START_COLOR_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::START_COLOR, START_COLOR_NAME)); + mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_END_POINT_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::END_POSITION, END_POSITION_NAME)); + mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_END_COLOR_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::END_COLOR, END_COLOR_NAME)); + mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_ROTATE_CENTER_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::ROTATE_CENTER, ROTATE_CENTER_NAME)); + mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_ROTATE_ANGLE_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::ROTATE_AMOUNT, ROTATE_AMOUNT_NAME)); + mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_OFFSET_NAME, GetStartValue(mValueMap, Toolkit::DevelAnimatedGradientVisual::Property::OFFSET, OFFSET_NAME)); //Register transform properties mImpl->mTransform.RegisterUniforms(mImpl->mRenderer, Direction::LEFT_TO_RIGHT); diff --git a/dali-toolkit/internal/visuals/arc/arc-visual.cpp b/dali-toolkit/internal/visuals/arc/arc-visual.cpp index 1423341..bf07a40 100644 --- a/dali-toolkit/internal/visuals/arc/arc-visual.cpp +++ b/dali-toolkit/internal/visuals/arc/arc-visual.cpp @@ -216,9 +216,9 @@ void ArcVisual::OnInitialize() mImpl->mRenderer = Renderer::New(geometry, shader); mImpl->mRenderer.ReserveCustomProperties(CUSTOM_PROPERTY_COUNT); - mThicknessIndex = mImpl->mRenderer.RegisterProperty(DevelArcVisual::Property::THICKNESS, THICKNESS_NAME, mThickness); - mStartAngleIndex = mImpl->mRenderer.RegisterProperty(DevelArcVisual::Property::START_ANGLE, START_ANGLE_NAME, mStartAngle); - mSweepAngleIndex = mImpl->mRenderer.RegisterProperty(DevelArcVisual::Property::SWEEP_ANGLE, SWEEP_ANGLE_NAME, mSweepAngle); + mThicknessIndex = mImpl->mRenderer.RegisterUniqueProperty(DevelArcVisual::Property::THICKNESS, THICKNESS_NAME, mThickness); + mStartAngleIndex = mImpl->mRenderer.RegisterUniqueProperty(DevelArcVisual::Property::START_ANGLE, START_ANGLE_NAME, mStartAngle); + mSweepAngleIndex = mImpl->mRenderer.RegisterUniqueProperty(DevelArcVisual::Property::SWEEP_ANGLE, SWEEP_ANGLE_NAME, mSweepAngle); mRadiusIndex = mImpl->mRenderer.RegisterProperty(RADIUS_NAME, mRadius); diff --git a/dali-toolkit/internal/visuals/border/border-visual.cpp b/dali-toolkit/internal/visuals/border/border-visual.cpp index 9e977fc..b60cc27 100644 --- a/dali-toolkit/internal/visuals/border/border-visual.cpp +++ b/dali-toolkit/internal/visuals/border/border-visual.cpp @@ -129,12 +129,18 @@ void BorderVisual::DoSetProperty(Dali::Property::Index index, void BorderVisual::DoSetOnScene(Actor& actor) { - mBorderColorIndex = mImpl->mRenderer.RegisterProperty(Toolkit::BorderVisual::Property::COLOR, COLOR_NAME, mBorderColor); + if(mBorderColorIndex == Property::INVALID_INDEX) + { + mBorderColorIndex = mImpl->mRenderer.RegisterUniqueProperty(Toolkit::BorderVisual::Property::COLOR, COLOR_NAME, mBorderColor); + } if(mBorderColor.a < 1.f || mAntiAliasing) { mImpl->mRenderer.SetProperty(Renderer::Property::BLEND_MODE, BlendMode::ON); } - mBorderSizeIndex = mImpl->mRenderer.RegisterProperty(Toolkit::BorderVisual::Property::SIZE, SIZE_NAME, mBorderSize); + if(mBorderSizeIndex == Property::INVALID_INDEX) + { + mBorderSizeIndex = mImpl->mRenderer.RegisterUniqueProperty(Toolkit::BorderVisual::Property::SIZE, SIZE_NAME, mBorderSize); + } actor.AddRenderer(mImpl->mRenderer); diff --git a/dali-toolkit/internal/visuals/color/color-visual.cpp b/dali-toolkit/internal/visuals/color/color-visual.cpp index c1177ce..21a1a70 100644 --- a/dali-toolkit/internal/visuals/color/color-visual.cpp +++ b/dali-toolkit/internal/visuals/color/color-visual.cpp @@ -128,7 +128,7 @@ void ColorVisual::DoSetProperties(const Property::Map& propertyMap) // We must regist properies into renderer, and update shader. // BlurRadius added by this action. Regist property to renderer. - mBlurRadiusIndex = mImpl->mRenderer.RegisterProperty(DevelColorVisual::Property::BLUR_RADIUS, BLUR_RADIUS_NAME, mBlurRadius); + mBlurRadiusIndex = mImpl->mRenderer.RegisterUniqueProperty(DevelColorVisual::Property::BLUR_RADIUS, BLUR_RADIUS_NAME, mBlurRadius); mImpl->mRenderer.SetProperty(Renderer::Property::BLEND_MODE, BlendMode::ON); // Change the shader must not be occured many times. we always have to use blur feature. @@ -209,7 +209,7 @@ void ColorVisual::OnInitialize() if(!EqualsZero(mBlurRadius)) { - mBlurRadiusIndex = mImpl->mRenderer.RegisterProperty(DevelColorVisual::Property::BLUR_RADIUS, BLUR_RADIUS_NAME, mBlurRadius); + mBlurRadiusIndex = mImpl->mRenderer.RegisterUniqueProperty(DevelColorVisual::Property::BLUR_RADIUS, BLUR_RADIUS_NAME, mBlurRadius); mImpl->mRenderer.SetProperty(Renderer::Property::BLEND_MODE, BlendMode::ON); } diff --git a/dali-toolkit/internal/visuals/gradient/gradient-visual.cpp b/dali-toolkit/internal/visuals/gradient/gradient-visual.cpp index 820be6a..f3028c4 100644 --- a/dali-toolkit/internal/visuals/gradient/gradient-visual.cpp +++ b/dali-toolkit/internal/visuals/gradient/gradient-visual.cpp @@ -262,7 +262,7 @@ void GradientVisual::OnInitialize() mImpl->mRenderer.SetProperty(Renderer::Property::BLEND_MODE, BlendMode::OFF); } - mImpl->mRenderer.RegisterProperty(UNIFORM_ALIGNMENT_MATRIX_NAME, mGradientTransform); + mImpl->mRenderer.RegisterUniqueProperty(UNIFORM_ALIGNMENT_MATRIX_NAME, mGradientTransform); //Register transform properties mImpl->mTransform.RegisterUniforms(mImpl->mRenderer, Direction::LEFT_TO_RIGHT); diff --git a/dali-toolkit/internal/visuals/npatch/npatch-visual.cpp b/dali-toolkit/internal/visuals/npatch/npatch-visual.cpp index c251193..bca8d03 100644 --- a/dali-toolkit/internal/visuals/npatch/npatch-visual.cpp +++ b/dali-toolkit/internal/visuals/npatch/npatch-visual.cpp @@ -464,12 +464,6 @@ void NPatchVisual::ApplyTextureAndUniforms() imageSize = actor.GetProperty(Actor::Property::SIZE).Get(); } mFactoryCache.UpdateBrokenImageRenderer(mImpl->mRenderer, imageSize); - Texture croppedImage = mImpl->mRenderer.GetTextures().GetTexture(0); - textureSet.SetTexture(0u, croppedImage); - mImpl->mRenderer.RegisterProperty("uFixed[0]", Vector2::ZERO); - mImpl->mRenderer.RegisterProperty("uFixed[1]", Vector2::ZERO); - mImpl->mRenderer.RegisterProperty("uFixed[2]", Vector2::ZERO); - mImpl->mRenderer.RegisterProperty("uStretchTotal", Vector2(croppedImage.GetWidth(), croppedImage.GetHeight())); } if(mAuxiliaryPixelBuffer) diff --git a/dali-toolkit/internal/visuals/text/text-visual.cpp b/dali-toolkit/internal/visuals/text/text-visual.cpp index 5d523a4..5b12a34 100644 --- a/dali-toolkit/internal/visuals/text/text-visual.cpp +++ b/dali-toolkit/internal/visuals/text/text-visual.cpp @@ -300,7 +300,7 @@ void TextVisual::DoSetOnScene(Actor& actor) const Vector4& defaultColor = mController->GetTextModel()->GetDefaultColor(); if(mTextColorAnimatableIndex == Property::INVALID_INDEX) { - mTextColorAnimatableIndex = mImpl->mRenderer.RegisterProperty("uTextColorAnimatable", defaultColor); + mTextColorAnimatableIndex = mImpl->mRenderer.RegisterUniqueProperty("uTextColorAnimatable", defaultColor); } else { diff --git a/dali-toolkit/internal/visuals/visual-base-impl.cpp b/dali-toolkit/internal/visuals/visual-base-impl.cpp index 004d201..288ed34 100644 --- a/dali-toolkit/internal/visuals/visual-base-impl.cpp +++ b/dali-toolkit/internal/visuals/visual-base-impl.cpp @@ -830,7 +830,9 @@ Property::Index Visual::Base::GetPropertyIndex(Property::Key key) // Leave keyIndex as INVALID_KEY - it can still be registered against the string key. } Property::Value value = shader.GetProperty(index); - index = mImpl->mRenderer.RegisterProperty(keyIndex, keyName, value); + + // We already know that mRenderer didn't have property. So we can assume that it is unique. + index = mImpl->mRenderer.RegisterUniqueProperty(keyIndex, keyName, value); } } return index;