 	import aerys.minko.type.binding.DataBindings;
 	import aerys.minko.type.binding.DataProvider;
 	import aerys.minko.type.enum.DataProviderUsage;
+	import aerys.minko.type.enum.FrustumCulling;
 	import aerys.minko.type.log.DebugLevel;
 	
 	import flash.display.BitmapData;

			{
				if (!_postProcessingScene)
				{
					_postProcessingScene = new Scene(
						new Mesh(new QuadGeometry(), new Material(_postProcessingEffect))
					);
					
					_postProcessingScene.bindings.addProvider(
						_postProcessingProperties

		{
			if (_postProcessingEffect)
			{
				var w 		: uint 	= 1 << Math.ceil(Math.log(backBuffer.width) * Math.LOG2E);
				var h 		: uint 	= 1 << Math.ceil(Math.log(backBuffer.height) * Math.LOG2E);
				var bgcolor : uint 	= backBuffer.backgroundColor;
				
				if (!_postProcessingBackBuffer
                    || _postProcessingBackBuffer.width != w
                    || _postProcessingBackBuffer.height != h
                    || _postProcessingBackBuffer.backgroundColor != bgcolor)
				{
                    if (_postProcessingBackBuffer)
                        _postProcessingBackBuffer.textureResource.dispose();
                    
                    _postProcessingBackBuffer = new RenderTarget(
                        w,
                        h,
                        new TextureResource(w, h),
                        0,
                        bgcolor
                    );
                    
                    _postProcessingProperties.setProperty(
                        'backBuffer',
                        _postProcessingBackBuffer.textureResource
                    );
				}
				
				return _postProcessingBackBuffer;
