 
 		/**
 		* Low-level workhorse, applies the lighting effect to a bitmap. This function modifies the src and buffer
-		* bitmaps.
+		* bitmaps and it's mtx argument.
 		*
 		* @param src The BitmapData to apply the effect on.
 		* @param buffer Another BitmapData object for temporary storage. Must be the same size as src.

		protected var _bufferHeight:uint;
		protected var _viewportWidth:uint;
		protected var _viewportHeight:uint;

		/**
		* Creates a new effect container.

		public function render(e:Event = null):void {
			var savedQuality:String = stage.quality;
			if(rasterQuality) stage.quality = rasterQuality;
			_drawLoResEmission();
			if(_occlusion) _eraseLoResOcclusion();
			if(rasterQuality) stage.quality = savedQuality;
			var s:Number = 1 + (scale-1) / (1 << passes);
			var tx:Number = srcX/_viewportWidth*_bufferWidth;
			var ty:Number = srcY/_viewportHeight*_bufferHeight;
			_mtx.identity();
			_mtx.translate(-tx, -ty);
			_mtx.scale(s, s);
			_mtx.translate(tx, ty);
			_lightBmp.bitmapData = _applyEffect(_baseBmd, _bufferBmd, _mtx, passes);
			_lightBmp.width = _viewportWidth;
			_lightBmp.height = _viewportHeight;
			_lightBmp.smoothing = smoothing;
		}

		/**
		* Draws a scaled-down emission on _baseBmd.
		*/
		protected function _drawLoResEmission():void {
			_copyMatrix(_emission.transform.matrix, _mtx);
			_mtx.scale(_bufferWidth / _viewportWidth, _bufferHeight / _viewportHeight);
			var mul:Number = colorIntegrity ? intensity : intensity/(1<<passes);
			_ct.redMultiplier = _ct.greenMultiplier = _ct.blueMultiplier = mul;
			_baseBmd.fillRect(_baseBmd.rect, 0);
			_baseBmd.draw(_emission, _mtx, colorIntegrity ? null : _ct);
		}

		/**
		* Draws a scaled-down occlusion on _occlusionLoResBmd and erases it from _baseBmd.
		*/
		protected function _eraseLoResOcclusion():void {
			_occlusionLoResBmd.fillRect(_occlusionLoResBmd.rect, 0);
			_copyMatrix(_occlusion.transform.matrix, _mtx);
			_mtx.scale(_bufferWidth / _viewportWidth, _bufferHeight / _viewportHeight);
			_occlusionLoResBmd.draw(_occlusion, _mtx);
			_baseBmd.draw(_occlusionLoResBmp, null, null, BlendMode.ERASE);
		}

		/**
		* Render the effect on every frame until stopRendering is called.
		*/
		public function startRendering():void {
