X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fbloom-view%2Fbloom-view-impl.cpp;h=8d99d68fc2f78e5e655ae504286d3aea1c1a2a24;hp=c05e9549e83edc6eedb0897b13cdb60dc9e80195;hb=1e84d2219befeac1fb9735b3978f73f72005b3d4;hpb=a8cc5814798a6df3859462486d593245ddaa17e5 diff --git a/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp b/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp index c05e954..8d99d68 100644 --- a/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp +++ b/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp @@ -365,10 +365,16 @@ void BloomView::AllocateResources() // create off screen buffer of new size to render our child actors to mRenderTargetForRenderingChildren = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat ); - mBloomExtractTarget = FrameBufferImage::New( mDownsampledWidth, mDownsampledHeight, mPixelFormat ); - FrameBufferImage mBlurExtractTarget = FrameBufferImage::New( mDownsampledWidth, mDownsampledHeight, mPixelFormat ); - mOutputRenderTarget = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat ); + mBloomExtractTarget = FrameBuffer::New( mDownsampledWidth, mDownsampledHeight, FrameBuffer::Attachment::NONE ); + Texture texture = Texture::New( TextureType::TEXTURE_2D, mPixelFormat, unsigned(mDownsampledWidth), unsigned(mDownsampledHeight) ); + mBloomExtractTarget.AttachColorTexture( texture ); + + FrameBuffer blurExtractTarget = FrameBuffer::New( mDownsampledWidth, mDownsampledHeight, FrameBuffer::Attachment::NONE ); + texture = Texture::New( TextureType::TEXTURE_2D, mPixelFormat, unsigned(mDownsampledWidth), unsigned(mDownsampledHeight) ); + blurExtractTarget.AttachColorTexture( texture ); + + mOutputRenderTarget = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat ); ////////////////////////////////////////////////////// // Point actors and render tasks at new render targets @@ -383,7 +389,7 @@ void BloomView::AllocateResources() mBloomExtractImageView.SetProperty( Toolkit::ImageView::Property::IMAGE, visualMap ); // set GaussianBlurView to blur our extracted bloom - mGaussianBlurView.SetUserImageAndOutputRenderTarget(mBloomExtractTarget, mBlurExtractTarget); + mGaussianBlurView.SetUserImageAndOutputRenderTarget( mBloomExtractTarget.GetColorTexture(), blurExtractTarget ); // use the completed blur in the first buffer and composite with the original child actors render mCompositeImageView.SetImage( mRenderTargetForRenderingChildren ); @@ -392,7 +398,7 @@ void BloomView::AllocateResources() visualMap[ Toolkit::Visual::Property::SHADER ] = customShader; mCompositeImageView.SetProperty( Toolkit::ImageView::Property::IMAGE, visualMap ); TextureSet textureSet = mCompositeImageView.GetRendererAt(0).GetTextures(); - TextureSetImage( textureSet, 1u, mBlurExtractTarget ); + textureSet.SetTexture( 1u, blurExtractTarget.GetColorTexture() ); // set up target actor for rendering result, i.e. the blurred image mTargetImageView.SetImage(mOutputRenderTarget); @@ -419,7 +425,7 @@ void BloomView::CreateRenderTasks() mBloomExtractTask.SetInputEnabled( false ); mBloomExtractTask.SetClearEnabled( true ); mBloomExtractTask.SetCameraActor(mRenderDownsampledCamera); - mBloomExtractTask.SetTargetFrameBuffer( mBloomExtractTarget ); + mBloomExtractTask.SetFrameBuffer( mBloomExtractTarget ); // GaussianBlurView tasks must be created here, so they are executed in the correct order with respect to BloomView tasks GetImpl(mGaussianBlurView).CreateRenderTasks();