void ShadowView::Activate() { DALI_ASSERT_ALWAYS( Self().OnStage() && "ShadowView should be on stage before calling Activate()\n" ); // make sure resources are allocated and start the render tasks processing CreateRenderTasks(); }
void SpreadFilter::Enable() { mCameraActor = CameraActor::New(); mCameraActor.SetParentOrigin(ParentOrigin::CENTER); // create actor to render input with applied emboss effect mActorForInput = ImageActor::New( mInputImage ); mActorForInput.SetParentOrigin( ParentOrigin::CENTER ); mActorForInput.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) ); mActorForInput.ScaleBy( Vector3(1.0f, -1.0f, 1.0f) ); // create internal offscreen for result of horizontal pass mImageForHorz = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::Unused ); // create an actor to render mImageForHorz for vertical blur pass mActorForHorz = ImageActor::New( mImageForHorz ); mActorForHorz.SetParentOrigin( ParentOrigin::CENTER ); mActorForHorz.ApplyConstraint( Constraint::New<Vector3>( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) ); mActorForHorz.ScaleBy( Vector3(1.0f, -1.0f, 1.0f) ); mRootActor.Add( mActorForInput ); mRootActor.Add( mActorForHorz ); mRootActor.Add( mCameraActor ); std::ostringstream fragmentSource; if( mDebugRender ) { fragmentSource << "#define DEBUG_RENDER\n"; } fragmentSource << SPREAD_FRAGMENT_SOURCE; mShaderForHorz = ShaderEffect::New( "", fragmentSource.str() ); mActorForInput.SetShaderEffect( mShaderForHorz ); mShaderForHorz.SetUniform( "uSpread", mSpread ); mShaderForHorz.SetUniform( "uTexScale", Vector2( 1.0f / mTargetSize.width, 0.0f ) ); mShaderForVert = ShaderEffect::New( "", fragmentSource.str() ); mActorForHorz.SetShaderEffect( mShaderForVert ); mShaderForVert.SetUniform( "uSpread", mSpread ); mShaderForVert.SetUniform( "uTexScale", Vector2( 0.0f, 1.0f / mTargetSize.height ) ); SetupCamera(); CreateRenderTasks(); }
void GaussianBlurView::Activate() { // make sure resources are allocated and start the render tasks processing AllocateResources(); CreateRenderTasks(); }