Index: data/Media/materials/scripts/Bloom.material
===================================================================
--- data/Media/materials/scripts/Bloom.material	(revision 5119)
+++ data/Media/materials/scripts/Bloom.material	(revision 5119)
@@ -0,0 +1,178 @@
+//DirectX 9.0 HLSL Vertex Shader vs_1_1
+vertex_program Blur0_vs11 hlsl
+{
+	source Blur0_vs11.hlsl
+	target vs_1_1
+	entry_point main
+}
+
+//DirectX 9.0 HLSL Pixel Shader ps_2_0
+fragment_program Blur0_ps20 hlsl
+{
+	source Blur0_ps20.hlsl
+	target ps_2_0
+	entry_point main
+}
+
+//DirectX 9.0 HLSL Vertex Shader vs_1_1
+vertex_program Blur1_vs11 hlsl
+{
+	source Blur1_vs11.hlsl
+	target vs_1_1
+	entry_point main
+}
+
+//DirectX 9.0 HLSL Pixel Shader ps_2_0
+fragment_program Blur1_ps20 hlsl
+{
+	source Blur1_ps20.hlsl
+	target ps_2_0
+	entry_point main
+}
+
+vertex_program Blur0_vs_glsl glsl
+{
+	source Blur0_vs.glsl
+}
+vertex_program Blur1_vs_glsl glsl
+{
+	source Blur1_vs.glsl
+}
+fragment_program Blur_ps_glsl glsl
+{
+	source Blur_ps.glsl
+	default_params
+	{
+		param_named tex0 int 0
+	}
+}
+
+//Effect: Bloom
+material Ogre/Compositor/Blur0
+{
+	technique
+	{
+		//Rendering Pass: Blur0 (pass index: #1 )
+		pass
+		{
+			//State: D3DRS_CULLMODE, Value : D3DCULL_NONE
+			cull_hardware none
+			cull_software none
+			depth_check off
+
+			fragment_program_ref Blur0_ps20
+			{
+			}
+			vertex_program_ref Blur0_vs11
+			{
+			}
+			texture_unit RT
+			{
+                tex_coord_set 0
+				tex_address_mode clamp
+				filtering linear linear linear
+			}
+		}
+	}
+	technique
+	{
+		//Rendering Pass: Blur0 (pass index: #1 )
+		pass
+		{
+			cull_hardware none
+			cull_software none
+			depth_check off
+
+			fragment_program_ref Blur_ps_glsl
+			{
+			}
+			vertex_program_ref Blur0_vs_glsl
+			{
+			}
+			texture_unit RT
+			{
+                tex_coord_set 0
+				tex_address_mode clamp
+				filtering linear linear linear
+			}
+		}
+	}
+}
+
+material Ogre/Compositor/Blur1
+{
+	technique
+	{
+
+		//Rendering Pass: Blur1 (pass index: #2 )
+		pass
+		{
+			cull_hardware none
+			cull_software none
+			depth_check off
+
+			fragment_program_ref Blur1_ps20
+			{
+			}
+			vertex_program_ref Blur1_vs11
+			{
+			}
+			texture_unit
+			{
+                tex_coord_set 0
+				tex_address_mode clamp
+				filtering linear linear linear
+			}
+		}
+	}
+	technique
+	{
+
+		//Rendering Pass: Blur1 (pass index: #2 )
+		pass
+		{
+			cull_hardware none
+			cull_software none
+			depth_func always_pass
+
+			fragment_program_ref Blur_ps_glsl
+			{
+			}
+			vertex_program_ref Blur1_vs_glsl
+			{
+			}
+			texture_unit
+			{
+                tex_coord_set 0
+				tex_address_mode clamp
+				filtering linear linear linear
+			}
+		}
+	}
+}
+
+/// Overlay quad
+material Ogre/Compositor/BloomBlend
+{
+    technique
+    {
+        pass
+        {
+            lighting on
+            diffuse 0.0 0.0 0.0 0.6
+            specular 0.0 0.0 0.0 0.0
+            ambient 0.0 0.0 0.0
+            emissive 1.0 1.0 1.0
+            cull_hardware none
+            depth_check off
+            scene_blend alpha_blend
+
+            texture_unit
+            {
+                tex_coord_set 0
+				tex_address_mode clamp
+				filtering linear linear linear
+            }
+        }
+    }
+}
Index: data/Media/materials/scripts/Bump_Specular.material
===================================================================
--- data/Media/materials/scripts/Bump_Specular.material	(revision 5119)
+++ data/Media/materials/scripts/Bump_Specular.material	(revision 5119)
@@ -0,0 +1,231 @@
+
+//--------------
+// Bump mapping
+//--------------
+
+// Bump map vertex program, support for this is required
+vertex_program BumpMapVP cg
+{
+	source BumpMapping.cg
+	entry_point main_vp
+	profiles vs_1_1 arbvp1
+}
+
+// Bump map fragment program, support for this is optional
+fragment_program BumpMapFP cg
+{
+	source BumpMapping.cg
+	entry_point main_fp
+	profiles ps_1_1 arbfp1 fp20
+}
+
+// Bump map with specular vertex program, support for this is required
+vertex_program BumpMapVPSpecular cg
+{
+	source BumpMapping.cg
+	entry_point specular_vp
+	profiles vs_1_1 arbvp1
+}
+
+// Bump map fragment program, support for this is optional
+fragment_program BumpMapFPSpecular cg
+{
+	source BumpMapping.cg
+	entry_point specular_fp
+	profiles ps_1_1 arbfp1 fp20
+
+	default_params
+	{
+        param_named shine float 3
+	}
+
+}
+
+
+// Any number of lights, diffuse and specular
+material BumpMapping/MultiLightSpecular
+{
+
+	// This is the preferred technique which uses both vertex and
+	// fragment programs, supports coloured lights
+	technique
+	{
+		// Base ambient pass
+		pass
+		{
+			// base colours, not needed for rendering, but as information
+			// to lighting pass categorisation routine
+			ambient 1 1 1
+			diffuse 0 0 0
+			specular 0 0 0 0
+			// Really basic vertex program
+			// NB we don't use fixed function here because GL does not like
+			// mixing fixed function and vertex programs, depth fighting can
+			// be an issue
+			vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+			{
+				param_named_auto worldViewProj worldviewproj_matrix
+				param_named_auto ambient ambient_light_colour
+			}
+
+		}
+		// Now do the lighting pass
+		// NB we don't do decal texture here because this is repeated per light
+		pass
+		{
+			// base colours, not needed for rendering, but as information
+			// to lighting pass categorisation routine
+			ambient 0 0 0
+			// do this for each light
+			iteration once_per_light
+
+
+			scene_blend add
+
+			// Vertex program reference
+			vertex_program_ref BumpMapVPSpecular
+			{
+				param_named_auto lightPosition light_position_object_space 0
+				param_named_auto eyePosition camera_position_object_space
+				param_named_auto worldViewProj worldviewproj_matrix
+			}
+
+			// Fragment program
+			fragment_program_ref BumpMapFPSpecular
+			{
+				param_named_auto lightDiffuse light_diffuse_colour 0
+				param_named_auto lightSpecular light_specular_colour 0
+                param_named shine float 20
+			}
+
+			// Base bump map
+			texture_unit
+			{
+				texture NMnone.tga
+				colour_op replace
+			}
+			// Normalisation cube map
+			texture_unit
+			{
+				cubic_texture nm.tga combinedUVW
+				tex_coord_set 1
+				tex_address_mode clamp
+			}
+			// Normalisation cube map #2
+			texture_unit
+			{
+				cubic_texture nm.tga combinedUVW
+				tex_coord_set 2
+				tex_address_mode clamp
+			}
+		}
+
+		// Decal pass
+		pass
+		{
+			lighting off
+			// Really basic vertex program
+			// NB we don't use fixed function here because GL does not like
+			// mixing fixed function and vertex programs, depth fighting can
+			// be an issue
+			vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+			{
+				param_named_auto worldViewProj worldviewproj_matrix
+				param_named ambient float4 1 1 1 1
+			}
+			scene_blend dest_colour zero
+			texture_unit
+			{
+				texture assff.jpg
+			}
+
+		}
+	}
+
+	// This is the fallback which cards which don't have fragment program
+	// support will use, NB does not support specular colour
+	// Note that it still requires vertex program support
+	technique
+	{
+		// Base ambient pass
+		pass
+		{
+			// base colours, not needed for rendering, but as information
+			// to lighting pass categorisation routine
+			ambient 1 1 1
+			diffuse 0 0 0
+			specular 0 0 0 0
+			// Really basic vertex program
+			// NB we don't use fixed function here because GL does not like
+			// mixing fixed function and vertex programs, depth fighting can
+			// be an issue
+			vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+			{
+				param_named_auto worldViewProj worldviewproj_matrix
+				param_named_auto ambient ambient_light_colour
+			}
+
+		}
+		// Now do the lighting pass
+		// NB we don't do decal texture here because this is repeated per light
+		pass
+		{
+			// base colours, not needed for rendering, but as information
+			// to lighting pass categorisation routine
+			ambient 0 0 0
+			// do this for each light
+			iteration once_per_light
+
+
+			scene_blend add
+
+			// Vertex program reference
+			vertex_program_ref BumpMapVP
+			{
+				param_named_auto lightPosition light_position_object_space 0
+				param_named_auto worldViewProj worldviewproj_matrix
+			}
+
+			// Base bump map
+			texture_unit
+			{
+				texture NMnone.tga
+				colour_op replace
+			}
+			// Normalisation cube map, with dot product on bump map
+			texture_unit
+			{
+				cubic_texture nm.tga combinedUVW
+				tex_coord_set 1
+				tex_address_mode clamp
+				colour_op_ex dotproduct src_texture src_current
+				colour_op_multipass_fallback dest_colour zero
+			}
+		}
+
+		// Decal pass
+		pass
+		{
+			lighting off
+			// Really basic vertex program
+			// NB we don't use fixed function here because GL does not like
+			// mixing fixed function and vertex programs, depth fighting can
+			// be an issue
+			vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+			{
+				param_named_auto worldViewProj worldviewproj_matrix
+				param_named ambient float4 1 1 1 1
+			}
+			scene_blend dest_colour zero
+			texture_unit
+			{
+				texture assff.jpg
+			}
+
+		}
+
+	}
+}
+
+
+
Index: data/Media/materials/scripts/MotionBlur.compositor
===================================================================
--- data/Media/materials/scripts/MotionBlur.compositor	(revision 5119)
+++ data/Media/materials/scripts/MotionBlur.compositor	(revision 5119)
@@ -0,0 +1,62 @@
+compositor MotionBlur
+{
+    technique
+    {
+        // Temporary textures
+        texture scene target_width target_height PF_A8R8G8B8
+        texture sum target_width target_height PF_A8R8G8B8
+        texture temp target_width target_height PF_A8R8G8B8
+
+        target scene
+        {
+            // Render output from previous compositor (or original scene)
+            input previous
+        }
+        target sum
+        {
+            // Render this target pass only initially, on the first frame that
+            // this effect was enabled. This makes sure the sum texture
+            // does not start with randomness.
+            only_initial on
+
+            input previous
+        }
+        target temp
+        {
+            // Start with clear texture
+            input none
+            // Combine scene and sum texture
+            pass render_quad
+            {
+                // Renders a fullscreen quad with a material
+                material Ogre/Compositor/Combine
+                input 0 scene
+                input 1 sum
+            }
+        }
+        target sum
+        {
+            // Start with clear texture
+            input none
+            // Copy temporary back to sum
+            pass render_quad
+            {
+                // Renders a fullscreen quad with a material
+                material Ogre/Compositor/Copyback
+                input 0 temp
+            }
+        }
+        target_output
+        {
+            // Start with clear output
+            input none
+            // Draw a fullscreen quad with the blur
+            pass render_quad
+            {
+                // Renders a fullscreen quad with a material
+                material Ogre/Compositor/MotionBlur
+                input 0 sum
+            }
+        }
+    }
+}
Index: data/Media/materials/scripts/MotionBlur.material
===================================================================
--- data/Media/materials/scripts/MotionBlur.material	(revision 5119)
+++ data/Media/materials/scripts/MotionBlur.material	(revision 5119)
@@ -0,0 +1,84 @@
+fragment_program Ogre/Compositor/Combine_fp cg
+{
+	source Combine_fp.cg
+	profiles ps_2_0 arbfp1
+	entry_point Combine_fp
+
+	default_params
+	{
+		param_named blur float 0.6
+	}
+}
+
+material Ogre/Compositor/Combine
+{
+	technique
+	{
+		pass
+		{
+			depth_check off
+
+			fragment_program_ref Ogre/Compositor/Combine_fp
+			{
+			}
+
+			vertex_program_ref Ogre/Compositor/StdQuad_Cg_vp
+			{
+			}
+
+			texture_unit RT
+			{
+				tex_address_mode clamp
+				filtering linear linear none
+                tex_coord_set 0
+			}
+
+			texture_unit SUM
+			{
+				tex_address_mode clamp
+				filtering linear linear none
+                tex_coord_set 0
+			}
+		}
+	}
+}
+
+material Ogre/Compositor/Copyback
+{
+	technique
+	{
+		pass
+		{
+			lighting off
+			depth_check off
+
+			texture_unit Temp
+			{
+				tex_address_mode clamp
+				filtering linear linear none
+				colour_op replace
+                tex_coord_set 0
+			}
+		}
+	}
+}
+
+material Ogre/Compositor/MotionBlur
+{
+	technique
+	{
+		pass
+		{
+			lighting off
+			depth_check off
+
+			texture_unit Sum
+			{
+				tex_address_mode clamp
+				filtering linear linear none
+				colour_op replace
+                tex_coord_set 0
+			}
+		}
+	}
+}
Index: data/Media/materials/scripts/StdQuad_vp.program
===================================================================
--- data/Media/materials/scripts/StdQuad_vp.program	(revision 5119)
+++ data/Media/materials/scripts/StdQuad_vp.program	(revision 5119)
@@ -0,0 +1,71 @@
+vertex_program Ogre/Compositor/StdQuad_Cg_vp cg
+{
+	source StdQuad_vp.cg
+	entry_point StdQuad_vp
+	profiles vs_1_1 arbvp1
+
+	default_params
+	{
+		param_named_auto worldViewProj worldviewproj_matrix
+	}
+}
+
+vertex_program Ogre/Compositor/StdQuad_Tex2_vp cg
+{
+	source StdQuad_vp.cg
+	entry_point StdQuad_Tex2_vp
+	profiles vs_1_1 arbvp1
+
+	default_params
+	{
+		param_named_auto worldViewProj worldviewproj_matrix
+	}
+}
+
+vertex_program Ogre/Compositor/StdQuad_Tex2a_vp cg
+{
+	source StdQuad_vp.cg
+	entry_point StdQuad_Tex2a_vp
+	profiles vs_1_1 arbvp1
+
+	default_params
+	{
+		param_named_auto worldViewProj worldviewproj_matrix
+	}
+}
+
+vertex_program Ogre/Compositor/StdQuad_Tex3_vp cg
+{
+	source StdQuad_vp.cg
+	entry_point StdQuad_Tex3_vp
+	profiles vs_1_1 arbvp1
+
+	default_params
+	{
+		param_named_auto worldViewProj worldviewproj_matrix
+	}
+}
+
+vertex_program Ogre/Compositor/StdQuad_Tex4_vp cg
+{
+	source StdQuad_vp.cg
+	entry_point StdQuad_Tex4_vp
+	profiles vs_1_1 arbvp1
+
+	default_params
+	{
+		param_named_auto worldViewProj worldviewproj_matrix
+	}
+}
+
+vertex_program Ogre/Compositor/StdQuad_GLSL_vp glsl
+{
+	source StdQuad_vp.glsl
+}
+
+
+vertex_program Ogre/Compositor/StdQuad_vp unified
+{
+	delegate Ogre/Compositor/StdQuad_GLSL_vp
+	delegate Ogre/Compositor/StdQuad_Cg_vp
+}
Index: data/Media/materials/scripts/Transparency.material
===================================================================
--- data/Media/materials/scripts/Transparency.material	(revision 5119)
+++ data/Media/materials/scripts/Transparency.material	(revision 5119)
@@ -0,0 +1,25 @@
+
+material Transparency
+{
+	technique
+	{
+		pass
+		{
+			ambient 0.2 0.2 0.2
+			scene_blend add
+			depth_write off
+
+			texture_unit
+			{
+				texture ????.jpg
+				scroll_anim 0.25 0
+			}
+
+			texture_unit
+			{
+				texture ????.jpg
+				wave_xform scroll_y sine 0 0.1 0 0.5
+			}
+		}
+	}
+}
