+ // Set up blur-two-pass custom shader
+ std::ostringstream fragmentSource;
+ fragmentSource << "#define NUM_SAMPLES " << kernelSize << "\n";
+ fragmentSource << BLUR_TWO_PASS_FRAGMENT_SOURCE;
+
+ Property::Map customShader;
+ customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = fragmentSource.str();
+ Property::Map visualMap;
+ visualMap.Insert( Toolkit::Visual::Property::SHADER, customShader );
+ mActorForInput.SetProperty( Toolkit::ImageView::Property::IMAGE, visualMap );
+ mActorForHorz.SetProperty( Toolkit::ImageView::Property::IMAGE, visualMap );
+
+ // Set up blend-two-image custom shader
+ customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = BLEND_TWO_IMAGES_FRAGMENT_SOURCE;
+ visualMap[ Toolkit::Visual::Property::SHADER ] = customShader;
+ mActorForBlending.SetProperty( Toolkit::ImageView::Property::IMAGE, visualMap );
+
+ mRootActor.Add( mActorForInput );
+ mRootActor.Add( mActorForHorz );
+ mRootActor.Add( mActorForBlending );
+
+ // Add effect texture to blend-two-image custom shader
+ TextureSet textureSet = mActorForBlending.GetRendererAt(0).GetTextures();
+ if( textureSet )
+ {
+ TextureSetImage( textureSet, 1u, mInputImage );
+ }