Index: GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPPostProc.material
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPPostProc.material	(revision 2137)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPPostProc.material	(revision 2398)
@@ -31,4 +31,31 @@
 		param_named_auto width viewport_width 	
 	        param_named_auto height viewport_height 
+	        
+        }
+        texture_unit
+        {
+	   // filtering none	
+        }		 
+      }
+   }
+}
+
+material GTP/PostProc/Blend
+{
+   technique 
+   { 
+      pass 
+      {
+      scene_blend alpha_blend
+      depth_check off
+		vertex_program_ref GTP/PostProc/PostProc_VS
+        {
+       
+        } 
+		fragment_program_ref GTP/PostProc/AlphaBlend_PS
+        { 
+			param_named_auto width viewport_width 	
+	        param_named_auto height viewport_height 
+	        param_named_auto alpha frame_time 9.0
 	        
         }
@@ -179,4 +206,6 @@
       {
         scene_blend alpha_blend
+        depth_write off
+        depth_check off
 	vertex_program_ref GTP/PostProc/PostProc_VS
         {       
@@ -187,5 +216,6 @@
 	  param_named_auto height viewport_height 
 	  param_named Stretch float 1.2
-	  param_named timeBlur float 0.025
+	  param_named_auto timeBlur frame_time 0.2
+	  //param_named timeBlur float 1
         }
         texture_unit
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPMotionBlur.compositor
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPMotionBlur.compositor	(revision 2398)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPMotionBlur.compositor	(revision 2398)
@@ -0,0 +1,49 @@
+compositor GTP/PostProc/MotionBlur
+{
+    technique
+    {
+        texture scene target_width target_height PF_FLOAT16_RGBA
+		texture rt0 target_width target_height PF_FLOAT16_RGBA
+    	
+		target scene
+        {
+            input previous		 
+        }
+        
+        target rt0
+		{
+	    	input none
+	   	 	only_initial on
+	   		pass clear
+	    	{
+	    	}	
+		}
+		target rt0
+        {
+            input none            
+            pass render_quad
+            {
+		      clear
+		      {
+		        buffers depth
+		      }
+              material GTP/PostProc/Blend
+              input 0 scene			    
+            }
+		} 
+
+       target_output
+       {
+         input none
+		 pass clear
+		 {
+		 	
+		 }          
+         pass render_quad
+         {
+         	   material GTP/PostProc/Copy
+               input 0 rt0               
+         }
+       }
+    }
+}
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPPostProc.hlsl
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPPostProc.hlsl	(revision 2024)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPPostProc.hlsl	(revision 2398)
@@ -25,5 +25,16 @@
 {
    IN.texCoord += float2(0.5/width, 0.5/height);
+  // return 1;
    return tex2D(Texture, IN.texCoord);
+}
+
+float4 AlphaBlend_PS(VS_OUT IN,
+		uniform float width,
+		uniform float height,
+		uniform float alpha,
+		uniform sampler2D Texture: register(s0)) : COLOR 
+{
+   IN.texCoord += float2(0.5/width, 0.5/height);
+  	return float4(tex2D(Texture, IN.texCoord).rgb, alpha);
 }
 
@@ -153,4 +164,5 @@
 	//Color = pow(Color * half4(1.05f, 0.97f, 1.27f, 1.0f), Gain);
 	return Color + 0.0000000000001 * Gain;
+	//return gLum;
 	return float4(tex2D(GlobalLuminanceTexture, IN.texCoord).r,
 				  tex2D(GlobalLuminanceTexture, IN.texCoord).r,
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPPostProc.program
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPPostProc.program	(revision 2024)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPPostProc.program	(revision 2398)
@@ -17,4 +17,11 @@
 	source GTPPostProc.hlsl
 	entry_point Copy_PS
+	target ps_2_0
+} 
+
+fragment_program GTP/PostProc/AlphaBlend_PS hlsl
+{
+	source GTPPostProc.hlsl
+	entry_point AlphaBlend_PS
 	target ps_2_0
 } 
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPToneMap.compositor
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPToneMap.compositor	(revision 2024)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPPostProc/GTPToneMap.compositor	(revision 2398)
@@ -4,6 +4,6 @@
     {
         texture scene target_width target_height PF_FLOAT16_RGBA
-	texture luminance 256 256 PF_FLOAT16_RGBA		        
-        texture rt0 256 256 PF_FLOAT16_RGBA        
+		texture luminance target_width target_height PF_FLOAT16_RGBA		        
+        texture rt0 512 512 PF_FLOAT16_RGBA        
         texture rt1 256 256 PF_FLOAT16_RGBA
         texture rt2 128 128 PF_FLOAT16_RGBA
@@ -15,5 +15,5 @@
         {
             input previous		 
-        }
+       }
         target luminance
         {
@@ -25,22 +25,27 @@
             }
         }
+       
+	
+    
         target rt0
         {
             input none            
-            pass render_quad
+           pass render_quad
             {
-                material GTP/PostProc/GlowBlurV
-                input 0 luminance
+               material GTP/PostProc/GlowBlurV
+               input 0 luminance
             }
-        } 
+        }  
+        
         target rt1
         {
             input none
-            pass render_quad
+           pass render_quad
             {
                material GTP/PostProc/GlowBlurH
-                input 0 rt0			    
+               input 0 rt0			    
             }
 	} 
+		
 	target rt2
         {
@@ -52,4 +57,5 @@
             }
 	} 
+	
 	target rt3
         {
@@ -61,4 +67,5 @@
             }
 	} 
+	
 	target rt4
         {
@@ -68,6 +75,6 @@
                material GTP/PostProc/GlowBlurV
                input 0 rt3			    
-            }
-        } 
+           }
+       } 
 	target rt5
 	{
@@ -77,4 +84,8 @@
 	    {
 	    }
+	//    pass render_quad
+	//  	{
+	//   		material GTP/PostProc/Black				
+	//  	}
 	}
 	target rt5
@@ -91,4 +102,13 @@
             }
 	} 
+	// target_output
+   //     {
+    //      input none
+    //     pass render_quad
+    //     {
+    //          material GTP/PostProc/Copy
+    //    	input 0 rt5
+	//      }
+   //     } 	
 	target_output
         {
@@ -100,5 +120,5 @@
               input 1 rt1
 	      input 2 luminance
-	      input 3 rt5			
+	     input 3 rt5			
           }
         }
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/trollps.hlsl
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/trollps.hlsl	(revision 2389)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/trollps.hlsl	(revision 2398)
@@ -33,5 +33,6 @@
 	float4 Color = 0;
 	float3 N = normalize(IN.normal);//NormalMap(IN.tangent, IN.binormal, IN.normal, IN.texCoord, bumpMap);
-	float3 V = normalize(IN.V);
+	float dist = length(IN.V);
+	float3 V = IN.V /dist;
 	float3 L = IN.L;
 	
@@ -40,4 +41,5 @@
 	Color = Illumination(N, L, V, lightColor * lightPower, lightRange, diffuseColor, specularity, specularColor);
 	
-	return diffuseColor * 0.1 + Color;
+	float4 ret =  diffuseColor * 0.1 + Color;
+	return float4(ret.xyz, dist);
 }
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/moria.material
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/moria.material	(revision 2386)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/moria.material	(revision 2398)
@@ -26,4 +26,8 @@
 				//	start_tex_id 3
 			  	//}	
+			  	//RenderTechnique SphericalBillboard
+			 	//{
+			   // 	bind_texture false
+				//}	
 			 	RenderTechnique DepthShadowReceiver
 				{
@@ -68,4 +72,7 @@
 			texture_unit displace
 			{
+				texture nullbump.bmp
+				//filtering none
+				//tex_address_mode clamp
 			}
 			texture_unit pathMap
@@ -104,5 +111,7 @@
 			texture_unit displace
 			{
-				texture greatpillardisplace.dds
+				texture greatpillarbump.bmp
+				//texture nullbump.bmp
+				//tex_address_mode mirror
 			}
 		}
@@ -150,4 +159,8 @@
 				texture greatHallWallDetail.png
 			}
+			texture_unit displace
+			{
+				texture morialwalldetailbump.bmp
+			}			
 		}
 	}
@@ -167,4 +180,9 @@
 				texture pillarheaddetail.png
 			}
+			texture_unit displace
+			{
+				texture greatpillarheadbump.bmp
+			}
+						
 		}
 	}
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/MoriaHallBase.hlsl
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/MoriaHallBase.hlsl	(revision 2386)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/MoriaHallBase.hlsl	(revision 2398)
@@ -92,5 +92,6 @@
 	float4 Color = 0;
 	float3 N = NormalMap(IN.wTangent, IN.wBinormal, IN.wNormal, IN.texCoord2.xy, bumpMap);
-	float3 V = normalize(IN.wView);
+	float dist = length(IN.wView);
+	float3 V = IN.wView / dist;
 	// read textures
 	float4 diffuseColor = tex2D(tileTexture, IN.texCoord.zw) * tex2D(detailTexture, IN.texCoord.xy);
@@ -104,6 +105,6 @@
 float shadow;
 
-if(dot(lightColor1, lightColor1) != 0)
-{
+//if(dot(lightColor1, lightColor1) != 0)
+//{
 	L = wLightPos1.xyz - IN.wPos * wLightPos1.w;
 	//illumination
@@ -113,5 +114,7 @@
 	shadow = shadowPoint(ShadowMap1Point, lightCPos, lightFarPlane1);
 	Color += col * shadow;	
-}
+	
+	//Color = col;
+//}
 
 //----------------------------------------------------------------------------------------------------------------
@@ -137,4 +140,5 @@
 	//gather caustics for all casters
 	//return diffuseColor;
+	Color.a = dist;
 	return Color;
 }
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaDoF.compositor
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaDoF.compositor	(revision 2398)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaDoF.compositor	(revision 2398)
@@ -0,0 +1,47 @@
+compositor GTP/Moria/PostProc/DoF
+{
+    technique
+    {
+        texture scene target_width target_height PF_FLOAT16_RGBA
+	
+        texture rt1 1 1 PF_FLOAT16_RGBA
+        
+		target scene
+        {
+            // Render output from previous compositor (or original scene)
+            input previous
+        }
+        target rt1
+		{
+		    input none
+		    only_initial on
+		    pass clear
+		    {
+		    }	
+		}
+        target rt1
+        {
+            input none
+            pass render_quad
+            {
+            	clear
+	      		{
+	        		buffers depth
+	      		}
+               material GTP/Moria/PostProc/SampleCenter
+               input 0 scene			    
+           }
+		} 
+	   
+       target_output
+       {
+         input none          
+         pass render_quad
+         {
+               material GTP/Moria/PostProc/DoF
+               input 0 scene               
+               input 1 rt1 
+         }
+       }
+    }
+}
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/MoriaDust.material
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/MoriaDust.material	(revision 2392)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/MoriaDust.material	(revision 2398)
@@ -30,4 +30,5 @@
 			depth_write off
 			scene_blend src_alpha one
+			scene_blend_alpha zero one
 			//scene_blend alpha_blend
 			vertex_program_ref Moria/MoriaDust_VS
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaGlow.compositor
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaGlow.compositor	(revision 2398)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaGlow.compositor	(revision 2398)
@@ -0,0 +1,73 @@
+compositor GTP/Moria/PostProc/Glow
+{
+    technique
+    {
+        texture scene target_width target_height PF_FLOAT16_RGBA
+	texture cut 256 256 PF_FLOAT16_RGBA		        
+        texture rt0 256 256 PF_FLOAT16_RGBA        
+        texture rt1 256 256 PF_FLOAT16_RGBA
+        texture prev 256 256 PF_FLOAT16_RGBA
+   
+	target prev
+	{
+          input none
+	  only_initial on
+	  pass render_quad
+	  {
+	   material GTP/PostProc/Black				
+	  }
+	}		
+        target scene
+        {
+            // Render output from previous compositor (or original scene)
+            input previous
+        }		
+        target cut
+        {
+            input none			
+            pass render_quad
+            {
+               material GTP/Moria/PostProc/GlowCut
+               input 0 scene
+               input 1 prev
+            }
+        }
+        target rt0
+        {
+            input none          
+            pass render_quad
+            {
+                material GTP/Moria/PostProc/GlowBlurV
+                input 0 cut
+            }
+        } 
+        target rt1
+        {
+            input none         
+            pass render_quad
+            {
+               material GTP/Moria/PostProc/GlowBlurH
+               input 0 rt0
+            }
+	}
+        target prev        
+        {
+	   input none		    
+           pass render_quad
+           {
+		material GTP/PostProc/Copy
+		input 0 rt1				
+           }
+       }      
+       target_output
+       {
+         input none          
+         pass render_quad
+         {
+               material GTP/PostProc/Add
+               input 0 scene
+               input 1 rt1
+         }
+       }
+    }
+}
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaPostProc.material
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaPostProc.material	(revision 2398)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaPostProc.material	(revision 2398)
@@ -0,0 +1,115 @@
+material GTP/Moria/PostProc/GlowCut : GTP/PostProc/GlowCut
+{
+   technique 0
+   { 
+      pass 0 
+      {
+	fragment_program_ref
+        { 
+	  param_named cutValue float 35.0
+	  param_named timeBlur float 0.4	        
+        }        	
+      }
+   }
+}
+
+material GTP/Moria/PostProc/GlowBlurH : GTP/PostProc/GlowBlurH
+{
+   technique 0
+   { 
+      pass 0
+      {
+	 fragment_program_ref
+         { 
+	   param_named Stretch float 1.3	   
+         }         		 	
+      }
+   }
+}
+
+material GTP/Moria/PostProc/GlowBlurV : GTP/PostProc/GlowBlurV
+{
+   technique 0
+   { 
+      pass 0
+      {
+         fragment_program_ref
+         { 
+	   param_named Stretch float 1.3	       
+         }        		 
+      }
+   }
+}
+
+
+fragment_program GTP/Moria/PostProc/DoF_PS hlsl
+{
+	source GTPMoriaPostProc.hlsl
+	entry_point DoF_PS
+	target ps_3_0
+}
+
+material GTP/Moria/PostProc/DoF
+{
+   technique 
+   { 
+      pass 
+      {
+	vertex_program_ref GTP/PostProc/PostProc_VS
+        {
+       
+        } 
+	fragment_program_ref GTP/Moria/PostProc/DoF_PS
+        { 
+			param_named_auto width viewport_width 	
+	        param_named_auto height viewport_height
+			param_named focalDist  float 2.0 
+			param_named focalRange float 0.02
+			param_named maxCoC     float 10
+	        
+        }
+        texture_unit
+        {
+	    	filtering none
+	    	tex_address_mode clamp
+        }
+        texture_unit
+        {
+	    	filtering none
+	    	tex_address_mode clamp
+        }	
+      }
+   }
+}
+
+fragment_program GTP/Moria/PostProc/SampleCenter_PS hlsl
+{
+	source GTPMoriaPostProc.hlsl
+	entry_point sampleCenter_PS
+	target ps_2_0
+}
+
+material GTP/Moria/PostProc/SampleCenter
+{
+   technique 
+   { 
+      pass 
+      {
+      	scene_blend  alpha_blend
+      	depth_dest off
+		vertex_program_ref GTP/PostProc/PostProc_VS
+        {
+       
+        } 
+		fragment_program_ref GTP/Moria/PostProc/SampleCenter_PS
+        { 
+			param_named_auto blending frame_time 4.0		        
+        }
+        texture_unit
+        {
+	    	filtering none
+	    	tex_address_mode clamp
+        }        	
+      }
+   }
+}
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaPostProc.hlsl
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaPostProc.hlsl	(revision 2398)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/GTPMoriaPostProc.hlsl	(revision 2398)
@@ -0,0 +1,103 @@
+struct VS_OUT
+{
+	float4 hPosition	: POSITION;
+	float2 texCoord		: TEXCOORD0;	
+};
+
+VS_OUT Default_VS(float4 position : POSITION,	
+				float4 texCoord : TEXCOORD0)
+{
+   VS_OUT OUT;  
+   OUT.hPosition = float4(sign(position.xy),0,1);	
+   OUT.texCoord = (float2(OUT.hPosition.x, -OUT.hPosition.y) + 1.0) / 2.0;	
+   return OUT;
+}
+
+#define NUM_DOF_TAPS 12
+
+float4 DoF_PS(VS_OUT IN,
+		uniform float width,
+		uniform float height,
+		//uniform float focalDist,
+		uniform float focalRange,
+		uniform float maxCoC,
+		uniform sampler2D ImageTexture: register(s0),
+		uniform sampler2D DepthTexture: register(s1)
+		) : COLOR 
+{
+   float2 filterTaps[NUM_DOF_TAPS];
+
+   float dx = 1.0f / width;
+   float dy = 1.0f / height;
+
+   filterTaps[0]  = float2(-0.326212f * dx, -0.405805f * dy);
+   filterTaps[1]  = float2(-0.840144f * dx, -0.07358f * dy);
+   filterTaps[2]  = float2(-0.695914f * dx, 0.457137f * dy);
+   filterTaps[3]  = float2(-0.203345f * dx, 0.620716f * dy);
+   filterTaps[4]  = float2(0.96234f * dx, -0.194983f * dy);
+   filterTaps[5]  = float2(0.473434f * dx, -0.480026f * dy);
+   filterTaps[6]  = float2(0.519456f * dx, 0.767022f * dy);
+   filterTaps[7]  = float2(0.185461f * dx, -0.893124f * dy);
+   filterTaps[8]  = float2(0.507431f * dx, 0.064425f * dy);
+   filterTaps[9]  = float2(0.89642f * dx, 0.412458f * dy);
+   filterTaps[10] = float2(-0.32194f * dx, -0.932615f * dy);
+   filterTaps[11] = float2(-0.791559f * dx, -0.597705f * dy);
+
+   IN.texCoord += float2(0.5/width, 0.5/height);
+    
+   float focalDist  = tex2D(DepthTexture, float2(0.5,0.5)).x;
+   float4 color = tex2D(ImageTexture, IN.texCoord);
+   float centerDepth = color.a;//tex2D(DepthTexture, IN.texCoord).x;
+	//return abs(centerDepth - focalDist);
+   float blur = saturate(abs(centerDepth - focalDist) * focalRange);
+
+   float sizeCoC = blur * maxCoC;
+
+   float totalContribution = 1.0f;
+   
+   
+   // Run through all taps
+   for (int i = 0; i < NUM_DOF_TAPS; i++)
+   {
+		// Compute tap coordinates
+		float2 tapCoord = IN.texCoord + filterTaps[i] * sizeCoC;
+
+		// Fetch tap sample
+		float4 tapColor = tex2D(ImageTexture, tapCoord);
+		float tapDepth = tapColor.a;//tex2D(DepthTexture, tapCoord).x;
+		
+		float blur = saturate(abs(tapDepth - focalDist) * focalRange);
+
+		// Compute tap contribution
+		float tapContribution = (tapDepth > centerDepth) ? 1.0f : blur;
+
+		// Accumulate color and contribution
+		color += tapColor * tapContribution;
+		totalContribution += tapContribution;
+	}
+
+	// Normalize to get proper luminance
+	float4 finalColor = color / totalContribution;
+
+	//return  tex2D(ImageTexture, IN.texCoord).r;
+	return finalColor;
+}
+
+float4 sampleCenter_PS(VS_OUT IN,uniform sampler2D ImageTexture: register(s0), uniform float blending):COLOR
+{
+	float dx = 1.0 / 640.0;
+	float dy = 1.0 / 480.0;
+   float sample = 0;
+   sample += tex2D(ImageTexture, float2(0.5, 0.5)).a;
+   sample += tex2D(ImageTexture, float2(0.5, 0.5) + float2(dx, 0)).a;
+   sample += tex2D(ImageTexture, float2(0.5, 0.5) + float2(dx, dy)).a;
+   sample += tex2D(ImageTexture, float2(0.5, 0.5) + float2(0, dy)).a;
+   sample += tex2D(ImageTexture, float2(0.5, 0.5) + float2(-dx, 0)).a;
+   sample += tex2D(ImageTexture, float2(0.5, 0.5) + float2(-dx, -dy)).a;
+   sample += tex2D(ImageTexture, float2(0.5, 0.5) + float2(0, -dy)).a;
+   sample += tex2D(ImageTexture, float2(0.5, 0.5) + float2(-dx, dy)).a;
+   sample += tex2D(ImageTexture, float2(0.5, 0.5) + float2(dx, -dy)).a;
+   sample /= 9.0;
+   
+   return float4(sample, sample, sample, blending);   
+}
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/illum.hlsl
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/illum.hlsl	(revision 2376)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/illum.hlsl	(revision 2398)
@@ -7,8 +7,11 @@
 	float3 H = normalize(L + V);
 	float4 Lighting = lit(dot(N, L), dot(N, H), specularity);
+	Lighting = saturate(Lighting);
 	
 	return   lightColor * (Lighting.y * diffuseColor + Lighting.z * specularColor) //color
 			 / (lightRange.y + d * lightRange.z + d * d * lightRange.w) //attenuation
 			 ;
+			 
+	//return lightColor * (Lighting.y * diffuseColor);
 }
 
@@ -19,15 +22,13 @@
 	float3 mNormal;
 	float3 tNormal = tex2D(normalMap, texCoord).rgb;
-	if(length(tNormal == 0))	
-		mNormal = normal;
-    else
-    {
-    	tangent = normalize(tangent);
-		binormal = normalize(binormal);	
-		float3x3 TangentToModel = float3x3(tangent, binormal, normal );
+	//tNormal = float3(0.5,0.5,1.0);
+	
+    tangent = normalize(tangent);
+	binormal = normalize(binormal);	
+	float3x3 TangentToModel = float3x3(tangent, binormal, normal );
 		
-    	tNormal.xy = (tNormal.xy *2.0) - 1.0;
-    	mNormal = normalize( mul( tNormal, TangentToModel ) );
-	}
+   	tNormal.xy = (tNormal.xy *2.0) - 1.0;
+   	mNormal = normalize( mul( tNormal, TangentToModel ) );
+	
     return mNormal;
 }
Index: GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/FPSarm.material
===================================================================
--- GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/FPSarm.material	(revision 2392)
+++ GTP/trunk/App/Demos/Illum/Ogre/Media/MORIA/FPSarm.material	(revision 2398)
@@ -10,5 +10,5 @@
 			emissive 0 0 0
 
-			scene_blend alpha_blend
+			//scene_blend alpha_blend
 			depth_write on
 			//depth_check off
