- mActorForBlending = ImageActor::New( mBlurredImage );
- mActorForBlending.SetParentOrigin( ParentOrigin::CENTER );
- mActorForBlending.SetSize(mTargetSize);
- mActorForBlending.ScaleBy( Vector3(1.0f, -1.0f, 1.0f) );
-
- mRootActor.Add( mActorForInput );
- mRootActor.Add( mActorForHorz );
- mRootActor.Add( mActorForBlending );
- mRootActor.Add( mCameraForBlur );
-
- // create custom shader effect
- if( !GetKernelSize() )
- {
- CreateKernel( DEFAULT_KERNEL4, sizeof(DEFAULT_KERNEL4)/sizeof(DEFAULT_KERNEL4[0]) );
- }
- int kernelSize( static_cast< int >(GetKernelSize()) );
-
- std::ostringstream fragmentSource;
- if( mDebugRender )
- {
- fragmentSource << "#define DEBUG_RENDER\n";
- }
- fragmentSource << "#define NUM_SAMPLES " << kernelSize << "\n";
- fragmentSource << BLUR_TWO_PASS_FRAGMENT_SOURCE;
- mShaderForHorz = ShaderEffect::New( "", fragmentSource.str() );
- mActorForInput.SetShaderEffect( mShaderForHorz );
- mShaderForVert = ShaderEffect::New( "", fragmentSource.str() );
- mActorForHorz.SetShaderEffect( mShaderForVert );
+ Renderer rendererForBlending = CreateRenderer( BASIC_VERTEX_SOURCE, SHADER_BLUR_TWO_IMAGES_SHADER_FRAG );
+ TextureSet textureSetForBlending = rendererForBlending.GetTextures();
+ textureSetForBlending.SetTexture( 0u, blurredTexture );
+ textureSetForBlending.SetTexture( 1u, mInputTexture );
+ mActorForBlending.AddRenderer( rendererForBlending );
+ mActorForBlending.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
+ mActorForBlending.SetProperty( Actor::Property::SIZE, mTargetSize );