Index: data/branches/environment/materials/Godrays.compositor
===================================================================
--- data/branches/environment/materials/Godrays.compositor	(revision 8357)
+++ data/branches/environment/materials/Godrays.compositor	(revision 8357)
@@ -0,0 +1,63 @@
+compositor Godrays
+{
+    technique
+    {
+        texture rt_scene target_width target_height PF_A8R8G8B8
+        
+        target rt_scene
+        {
+            input previous
+        }
+
+        texture rt_raw target_width target_height PF_A8R8G8B8
+        
+        target rt_raw
+        {
+            clear
+            {
+                buffers colour
+                colour_value 0.0 0.0 0.0 1.0 // Clear by sky colour. Default is black.
+            }
+
+            render_scene // render_custom?
+            {
+                first_render_queue 40
+                last_render_queue 40
+
+                material Godrays/Raw/Obstacle
+            }
+
+            render_scene
+            {
+                first_render_queue 60
+                last_render_queue 60
+
+                material Godrays/Raw/Sun
+            }
+        }
+
+        texture rt_blur target_width target_height PF_A8R8G8B8
+
+        target rt_blur
+        {
+            render_quad
+            {
+                material Godrays/Blur
+
+                input 0 rt_raw
+            }
+        }
+        
+
+        target_output
+        {
+            render_quad
+            {
+                material Godrays/Combine
+                
+                input 0 rt_blur
+                input 1 rt_godrays
+            }
+        }
+    }
+}
Index: data/branches/environment/materials/Godrays.material
===================================================================
--- data/branches/environment/materials/Godrays.material	(revision 8346)
+++ data/branches/environment/materials/Godrays.material	(revision 8357)
@@ -1,4 +1,4 @@
 /**
-*
+* 
 * \author Markus Wegmann
 *
@@ -31,13 +31,14 @@
 
 
-fragment_program GodrayBlurFragmentProgram cg
+fragment_program GodraysBlurFragmentProgram cg
 {
     source Godrays_blur.cg
-    entry_point godray_blur
-    profiles ps_3_0 fp40
+    entry_point godrays_blur
+    profiles fp40 ps_3_0
 }
 
 
-material Godrays/Blur/RadialBlur
+
+material Godrays/Blur
 {
     technique
@@ -46,5 +47,5 @@
         pass
         {
-            fragment_program_ref GodrayBlurFragmentProgram
+            fragment_program_ref GodraysBlurFragmentProgram
             { 
                 param_indexed 0 float2 0.0 0.0
@@ -52,7 +53,24 @@
                 param_indexed 2 float 0.1
                 param_indexed 3 float 0.7
-                // The raw decal has to be loaded manually by api.
             }
         }
     }
 }
+
+fragment_program GodraysCombineFragmentProgram cg
+{
+    source Godrays_blur.cg
+    entry_point godrays_combine
+    profiles fp40 ps_3_0
+}
+
+material Godrays/Combine
+{
+    technique
+    {
+        pass
+        {  
+            fragment_program_ref GodraysCombineFragmentProgram { }
+        }
+    }
+}
Index: data/branches/environment/programs/Godrays_blur.cg
===================================================================
--- data/branches/environment/programs/Godrays_blur.cg	(revision 8346)
+++ data/branches/environment/programs/Godrays_blur.cg	(revision 8357)
@@ -1,5 +1,5 @@
 /**
 *
-* \brief Godrays_*.cg is a radial blur based shader implementation of the natural effects of godrays (ray light scattering). The vertex function ScreenQuadVS() skips the default wvp-transform, that is irrelevant for screenspace effects.
+* \brief Godrays_*.cg is a radial blur based shader implementation of the natural effects of godrays (ray light scattering). The vertex function ScreenQuadVS() skips the default wvp-transform, what is irrelevant in Ogre when doing a "render_quad"-pass... just to say!
 *
 * \author Markus Wegmann
@@ -27,5 +27,5 @@
 //// Fragment Shader ////
 
-void godray_blur(
+void godrays_blur(
         OneTexelVertex IN,
 		
@@ -66,5 +66,5 @@
 
 
-void combineRenderAndGodrays(
+void godrays_combine(
 	OneTexelVertex IN,
 
@@ -103,7 +103,7 @@
 > = {0f,0f,0f,1.0f};
 
-float GodrayExposure = 1f;
-float GodrayDecay = 0.1f;
-float GodrayDensity = 0.7f;
+float GodraysExposure = 1f;
+float GodraysDecay = 0.1f;
+float GodraysDensity = 0.7f;
 
 texture ScnTarget : RenderColorTarget <
@@ -122,5 +122,5 @@
 };
 
-texture GodrayTarget : RenderColorTarget <
+texture GodraysTarget : RenderColorTarget <
 	float2 ViewPortRatio = {1,1};
     int MipLevels = 1;
@@ -129,6 +129,6 @@
 >;
 
-sampler2D GodrayDecal = sampler_state {
-    Texture = <GodrayTarget>;
+sampler2D GodraysDecal = sampler_state {
+    Texture = <GodraysTarget>;
 	WrapS = ClampToEdge;
     WrapT = ClampToEdge;
@@ -188,9 +188,9 @@
 		
 		VertexShader = compile vp40 ScreenQuadVS();
-    	FragmentProgram = compile fp40 godray_blur(
+    	FragmentProgram = compile fp40 godrays_blur(
             ProjSunLightPosition,
-			GodrayExposure, 
-			GodrayDecay, 
-			GodrayDensity,
+			GodraysExposure, 
+			GodraysDecay, 
+			GodraysDensity,
 			ScnDecal);
   	}
@@ -208,7 +208,7 @@
 		
 		VertexShader = compile vp40 ScreenQuadVS();
-    	FragmentProgram = compile fp40 combineRenderAndGodrays(
+    	FragmentProgram = compile fp40 godrays_combine(
 			ScnDecal,
-			GodrayDecal);
+			GodraysDecal);
   	}
 }
Index: data/branches/environment/programs/Godrays_raw.cg
===================================================================
--- data/branches/environment/programs/Godrays_raw.cg	(revision 8346)
+++ data/branches/environment/programs/Godrays_raw.cg	(revision 8357)
@@ -25,5 +25,5 @@
 
 
-void black_shader(
+void obstacle_shader(
     float4 position : POSITION,
 
@@ -84,5 +84,5 @@
 			CullFaceEnable = true;
 		
-			VertexProgram = compile vp40 black_shader(WvpXf);
+			VertexProgram = compile vp40 obstacle_shader(WvpXf);
   		}
 }
