- mActorForComposite.ScaleBy( Vector3(1.0f, -1.0f, 1.0f) );
-
- // create custom shader effect
- std::ostringstream embossFragmentSource1;
- if( mDebugRender )
- {
- embossFragmentSource1 << "#define DEBUG_RENDER\n";
- }
- embossFragmentSource1 << EMBOSS_FRAGMENT_SOURCE1;
- ShaderEffect effect1 = ShaderEffect::New( "", embossFragmentSource1.str() );
- mActorForInput1.SetShaderEffect( effect1 );
- effect1.SetUniform( "uTexScale", Vector2( 1.0f/mTargetSize.width, 1.0f/mTargetSize.height) * 1.5f );
-
- std::ostringstream embossFragmentSource2;
- if( mDebugRender )
- {
- embossFragmentSource2 << "#define DEBUG_RENDER\n";
- }
- embossFragmentSource2 << EMBOSS_FRAGMENT_SOURCE2;
- ShaderEffect effect2 = ShaderEffect::New( "", embossFragmentSource2.str() );
- mActorForInput2.SetShaderEffect( effect2 );
- effect2.SetUniform( "uTexScale", Vector2( 1.0f/mTargetSize.width, 1.0f/mTargetSize.height) * 1.5f );
+ mActorForComposite.SetColor( Color::BLACK );
+
+ customShader[ "fragmentShader" ] = COMPOSITE_FRAGMENT_SOURCE;
+ rendererMap[ "shader"] = customShader;
+ Toolkit::RendererFactory rendererFactory = Toolkit::RendererFactory::Get();
+ mRendererForEmboss1 = rendererFactory.GetControlRenderer( mImageForEmboss1 );
+ mRendererForEmboss2 = rendererFactory.GetControlRenderer( mImageForEmboss2 );
+ // set COMPOSITE custom shader to both renderers
+ rendererFactory.ResetRenderer( mRendererForEmboss1, mActorForComposite, rendererMap);
+ rendererFactory.ResetRenderer( mRendererForEmboss2, mActorForComposite, rendererMap);
+ // apply renderers to the actor
+ mRendererForEmboss1.SetOnStage( mActorForComposite );
+ mRendererForEmboss2.SetOnStage( mActorForComposite );
+ mActorForComposite.GetRendererAt(0).RegisterProperty( COLOR_UNIFORM_NAME, Color::BLACK );
+ mActorForComposite.GetRendererAt(1).RegisterProperty( COLOR_UNIFORM_NAME, Color::WHITE );
+ mRootActor.Add( mActorForComposite );