 			m.translate(-tx, -ty);
 			m.scale(s, s);
 			m.translate(tx, ty);
-			_lightBmp.bitmapData = _applyEffect(_emissionBmd, _bufferBmd, m, passes);
+			_lightBmp.bitmapData = _applyEffect(_baseBmd, _bufferBmd, m, passes);
 			_lightBmp.width = _viewportWidth;
 			_lightBmp.height = _viewportHeight;
 			_lightBmp.smoothing = smoothing;

			_bufferHeight = Math.max(1, Math.sqrt(_bufferSize / aspect));
			_bufferWidth  = Math.max(1, _bufferHeight * aspect);
			dispose();
			_emissionBmd  = new BitmapData(_bufferWidth, _bufferHeight, false, 0);
			_bufferBmd    = new BitmapData(_bufferWidth, _bufferHeight, false, 0);
			_occlusionBmd = new BitmapData(_bufferWidth, _bufferHeight, true, 0);
			_occlusionBmp = new Bitmap(_occlusionBmd);
		}

		// Render a single frame.

		protected var _blurFilter:BlurFilter = new BlurFilter(2, 2);
		protected var _emission:DisplayObject;
		protected var _occlusion:DisplayObject;
		protected var _ct:ColorTransform = new ColorTransform;
		protected var _halve:ColorTransform = new ColorTransform(0.5, 0.5, 0.5);
		protected var _occlusionLoResBmd:BitmapData;
		protected var _occlusionLoResBmp:Bitmap;
		protected var _baseBmd:BitmapData;
		protected var _bufferBmd:BitmapData;
		protected var _lightBmp:Bitmap = new Bitmap;
		protected var _bufferSize:uint = 0x8000;
