stencilActor.SetAnchorPoint( AnchorPoint::CENTER );
stencilActor.SetDrawMode( DrawMode::STENCIL );
- Dali::ShaderEffect shaderEffect = AlphaDiscardEffect::New();
+ Dali::ShaderEffect shaderEffect = CreateAlphaDiscardEffect();
stencilActor.SetShaderEffect( shaderEffect );
return stencilActor;
dfActor.SetSize( Vector2( randSize, randSize ) );
dfActor.SetParentOrigin( ParentOrigin::CENTER );
- Toolkit::DistanceFieldEffect effect = Toolkit::DistanceFieldEffect::New();
+ ShaderEffect effect = Toolkit::CreateDistanceFieldEffect();
dfActor.SetShaderEffect( effect );
dfActor.SetColor( randColour );
- effect.SetOutlineParams( Vector2( 0.55f, 0.00f ) );
- effect.SetSmoothingEdge( 0.5f );
+ effect.SetUniform("uOutlineParams", Vector2( 0.55f, 0.00f ) );
+ effect.SetUniform("uSmoothing", 0.5f );
layer.Add( dfActor );
}
*/
void SetMotionBlurEffect( Actor actor )
{
- /*
+
// only do something if the actor and effect are valid
if( actor )
{
// first remove from this actor
- RenderableActor renderable = RenderableActor::DownCast( actor );
- if( renderable )
+ ImageActor imageActor = ImageActor::DownCast( actor );
+ if( imageActor )
{
- MotionBlurEffect shaderEffect = MotionBlurEffect::New();
- shaderEffect.SetSpeedScalingFactor(0.1f);
+ ShaderEffect shaderEffect = Toolkit::CreateMotionBlurEffect();
+ shaderEffect.SetUniform("uSpeedScalingFactor",0.1f);
Dali::Property::Index uModelProperty = shaderEffect.GetPropertyIndex( "uModelLastFrame" );
Constraint constraint = Constraint::New<Matrix>( shaderEffect, uModelProperty, EqualToConstraint() );
- constraint.AddSource( Source( actor , Actor::Property::WORLD_MATRIX ) );
+ constraint.AddSource( Source( imageActor , Actor::Property::WORLD_MATRIX ) );
constraint.Apply();
- renderable.SetShaderEffect( shaderEffect );
+ imageActor.SetShaderEffect( shaderEffect );
}
// then all children recursively
const unsigned int count = actor.GetChildCount();
Actor child( actor.GetChildAt( index ) );
SetMotionBlurEffect( child );
}
- }*/
+ }
}
/**
case CAROUSEL_EFFECT:
{
// Apply Carousel Shader Effect to scrollView
- CarouselEffect shaderEffect = CarouselEffect::New();
- shaderEffect.SetRadius( -CAROUSEL_EFFECT_RADIUS );
+ ShaderEffect shaderEffect = Toolkit::CreateCarouselEffect();
+ shaderEffect.SetUniform( "uRadius", -CAROUSEL_EFFECT_RADIUS );
// dont apply shader effect to scrollview as it might override internal shaders for bounce effect etc
for( std::vector<ClusterInfo>::iterator i = mClusterInfo.begin(); i != mClusterInfo.end(); ++i )
{
const Vector2 angleSweep( CAROUSEL_EFFECT_ANGLE_SWEEP / stageSize.width,
CAROUSEL_EFFECT_ANGLE_SWEEP / stageSize.width );
- Property::Index anglePerUnit = shaderEffect.GetPropertyIndex( shaderEffect.GetAnglePerUnitPropertyName() );
+ Property::Index anglePerUnit = shaderEffect.GetPropertyIndex( "uAnglePerUnit" );
Constraint constraint = Constraint::New<Vector2>( shaderEffect, anglePerUnit, CarouselEffectOrientationConstraint( angleSweep ) );
constraint.AddSource( Source(mView, Actor::Property::ORIENTATION) );
constraint.Apply();
mScrollView.SetRulerY(rulerY);
// Apply Carousel Shader Effect to scrollView (Spherical style)
- CarouselEffect shaderEffect = CarouselEffect::New();
+ ShaderEffect shaderEffect = Toolkit::CreateCarouselEffect();
- shaderEffect.SetRadius( SPHERE_EFFECT_RADIUS );
- shaderEffect.SetAnglePerUnit( Vector2( SPHERE_EFFECT_ANGLE_SWEEP / stageSize.y, SPHERE_EFFECT_ANGLE_SWEEP / stageSize.y ) );
+ shaderEffect.SetUniform( "uRadius", SPHERE_EFFECT_RADIUS );
+ shaderEffect.SetUniform( "uAnglePerUnit", Vector2( SPHERE_EFFECT_ANGLE_SWEEP / stageSize.y, SPHERE_EFFECT_ANGLE_SWEEP / stageSize.y ) );
// dont apply shader effect to scrollview as it might override internal shaders for bounce effect etc
for( std::vector<ClusterInfo>::iterator i = mClusterInfo.begin(); i != mClusterInfo.end(); ++i )
{
ImageActor mNextImage;
unsigned int mIndex;
- Toolkit::DissolveEffect mCurrentImageEffect;
- Toolkit::DissolveEffect mNextImageEffect;
+ ShaderEffect mCurrentImageEffect;
+ ShaderEffect mNextImageEffect;
bool mUseHighPrecision;
Animation mAnimation;
mPanGestureDetector.DetectedSignal().Connect( this, &DissolveEffectApp::OnPanGesture );
// create the dissolve effect object
- mCurrentImageEffect = Toolkit::DissolveEffect::New(mUseHighPrecision);
- mNextImageEffect = Toolkit::DissolveEffect::New(mUseHighPrecision);
+ mCurrentImageEffect = Toolkit::CreateDissolveEffect(mUseHighPrecision);
+ mNextImageEffect = Toolkit::CreateDissolveEffect(mUseHighPrecision);
mViewTimer = Timer::New( VIEWINGTIME );
mViewTimer.TickSignal().Connect( this, &DissolveEffectApp::OnTimerTick );
{
mAnimation = Animation::New(TRANSITION_DURATION);
- mCurrentImageEffect.SetCentralLine(position,displacement);
- mCurrentImageEffect.SetDistortion(0.0f);
+ Dali::Toolkit::DissolveEffectSetCentralLine( mCurrentImageEffect, position, displacement );
+ mCurrentImageEffect.SetUniform("uPercentage", 0.0f);
mCurrentImage.SetShaderEffect(mCurrentImageEffect);
- mAnimation.AnimateTo( Property(mCurrentImageEffect, mCurrentImageEffect.GetDistortionPropertyName()), 1.0f, AlphaFunction::LINEAR );
+ mAnimation.AnimateTo( Property(mCurrentImageEffect, "uPercentage"), 1.0f, AlphaFunction::LINEAR );
mNextImage.SetOpacity(0.0f);
mAnimation.AnimateTo( Property( mNextImage, Actor::Property::COLOR_ALPHA ), 1.0f, AlphaFunction::LINEAR );
if(mUseHighPrecision)
{
- mNextImageEffect.SetCentralLine(position,-displacement);
- mNextImageEffect.SetDistortion(1.0f);
+ Dali::Toolkit::DissolveEffectSetCentralLine( mNextImageEffect, position, displacement );
+ mNextImageEffect.SetUniform("uPercentage", 1.0f);
mNextImage.SetShaderEffect(mNextImageEffect);
- mAnimation.AnimateTo( Property(mNextImageEffect, mNextImageEffect.GetDistortionPropertyName()), 0.0f, AlphaFunction::LINEAR );
+ mAnimation.AnimateTo( Property(mNextImageEffect, "uPercentage"), 0.0f, AlphaFunction::LINEAR );
}
else
{
bool DissolveEffectApp::OnEffectButtonClicked( Toolkit::Button button )
{
mUseHighPrecision = !mUseHighPrecision;
- mCurrentImageEffect = Toolkit::DissolveEffect::New(mUseHighPrecision);
+ mCurrentImageEffect = Dali::Toolkit::CreateDissolveEffect(mUseHighPrecision);
if(mUseHighPrecision)
{
mTitleActor.SetProperty( TextLabel::Property::TEXT, std::string(APPLICATION_TITLE_HIGHP) );
mContentLayer.Add( mMotionBlurImageActor );
// Create shader used for doing motion blur
- mMotionBlurEffect = MotionBlurEffect::Apply(mMotionBlurImageActor);
+ mMotionBlurEffect = Toolkit::CreateMotionBlurEffect();
+ Dali::Property::Index uModelProperty = mMotionBlurEffect.GetPropertyIndex( "uModelLastFrame" );
+ Constraint constraint = Constraint::New<Matrix>( mMotionBlurEffect, uModelProperty, EqualToConstraint() );
+ constraint.AddSource( Source( mMotionBlurImageActor , Actor::Property::WORLD_MATRIX ) );
+ constraint.Apply();
+ mMotionBlurImageActor.SetShaderEffect( mMotionBlurEffect );
#ifdef MULTIPLE_MOTION_BLURRED_ACTORS
mMotionBlurImageActor.Add( mMotionBlurImageActor2 );
// Create shader used for doing motion blur
- mMotionBlurEffect2 = MotionBlurEffect::New(MOTION_BLUR_NUM_SAMPLES);
+ mMotionBlurEffect2 = CreateMotionBlurEffect(MOTION_BLUR_NUM_SAMPLES);
// set actor shader to the blur one
mMotionBlurImageActor2.SetShaderEffect( mMotionBlurEffect2 );
mMotionBlurImageActor.Add( mMotionBlurImageActor3 );
// Create shader used for doing motion blur
- mMotionBlurEffect3 = MotionBlurEffect::New(MOTION_BLUR_NUM_SAMPLES);
+ mMotionBlurEffect3 = CreateMotionBlurEffect(MOTION_BLUR_NUM_SAMPLES);
// set actor shader to the blur one
mMotionBlurImageActor3.SetShaderEffect( mMotionBlurEffect3 );
mMotionBlurImageActor.Add( mMotionBlurImageActor4 );
// Create shader used for doing motion blur
- mMotionBlurEffect4 = MotionBlurEffect::New(MOTION_BLUR_NUM_SAMPLES);
+ mMotionBlurEffect4 = CreateMotionBlurEffect(MOTION_BLUR_NUM_SAMPLES);
// set actor shader to the blur one
mMotionBlurImageActor4.SetShaderEffect( mMotionBlurEffect4 );
mMotionBlurImageActor.Add( mMotionBlurImageActor5 );
// Create shader used for doing motion blur
- mMotionBlurEffect5 = MotionBlurEffect::New(MOTION_BLUR_NUM_SAMPLES);
+ mMotionBlurEffect5 = CreateMotionBlurEffect(MOTION_BLUR_NUM_SAMPLES);
// set actor shader to the blur one
mMotionBlurImageActor5.SetShaderEffect( mMotionBlurEffect5 );
PushButton mActorEffectsButton; ///< The actor effects toggling Button.
// Motion blur
- MotionBlurEffect mMotionBlurEffect;
+ ShaderEffect mMotionBlurEffect;
ImageActor mMotionBlurImageActor;
Size mMotionBlurActorSize;
#ifdef MULTIPLE_MOTION_BLURRED_ACTORS
- MotionBlurEffect mMotionBlurEffect2;
- MotionBlurEffect mMotionBlurEffect3;
- MotionBlurEffect mMotionBlurEffect4;
- MotionBlurEffect mMotionBlurEffect5;
+ ShaderEffect mMotionBlurEffect2;
+ ShaderEffect mMotionBlurEffect3;
+ ShaderEffect mMotionBlurEffect4;
+ ShaderEffect mMotionBlurEffect5;
ImageActor mMotionBlurImageActor2;
ImageActor mMotionBlurImageActor3;
mContentLayer.Add( mMotionStretchImageActor );
// Create shader used for doing motion stretch
- mMotionStretchEffect = MotionStretchEffect::Apply(mMotionStretchImageActor);
+ mMotionStretchEffect = Toolkit::CreateMotionStretchEffect();
+ Dali::Property::Index uModelProperty = mMotionStretchEffect.GetPropertyIndex( "uModelLastFrame" );
+ Constraint constraint = Constraint::New<Matrix>( mMotionStretchEffect, uModelProperty, EqualToConstraint() );
+ constraint.AddSource( Source( mMotionStretchImageActor , Actor::Property::WORLD_MATRIX ) );
+ constraint.Apply();
+ mMotionStretchImageActor.SetShaderEffect( mMotionStretchEffect );
}
//////////////////////////////////////////////////////////////
PushButton mActorEffectsButton; ///< The actor effects toggling Button.
// Motion stretch
- MotionStretchEffect mMotionStretchEffect;
+ ShaderEffect mMotionStretchEffect;
ImageActor mMotionStretchImageActor;
// animate actor to position where user taps screen