material Gile[s]_nx.floor2.shadows
{
// 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
			vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTextureUnified
			{
			}
			
		}
		// Now do the lighting pass
		// NB we don't do decal texture here because this is repeated per light
		pass lighting
		{
			// 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 Ogre/DepthShadowmap/ReceiverVP
			{
			}
			shadow_receiver_vertex_program_ref Ogre/DepthShadowmap/ReceiverVP
			{
			}

			// Fragment program
			fragment_program_ref Ogre/DepthShadowmap/ReceiverFP
			{
			}
			shadow_receiver_fragment_program_ref Ogre/DepthShadowmap/ReceiverFP
			{
			}

			// shadowmap texture will be bound by code

		}
		
		// Decal pass
		pass
		{
			// base colours, not needed for rendering, but as information
			// to lighting pass categorisation routine
			lighting off
			// Really basic vertex program
			vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTextureUnified
			{
				param_named ambient float4 1 1 1 1
			}
			scene_blend dest_colour zero


			texture_unit
			{
				texture nx.floor.png
			}
			
		}
	}
}
material Gile[s]_nx.floor2
{
	technique
	{
		pass
		{
			texture_unit
			{
				texture nx.floor.png
				filtering bilinear
				colour_op modulate
			}
			texture_unit
			{
				texture nx.floor.shadowalpha.png
				tex_address_mode clamp
				filtering linear linear none
				tex_coord_set 1
				colour_op_ex modulate_x2 src_current src_texture
			}
		}
	}
}

material nx.floor
{
	technique
	{
		pass
		{
			texture_unit
			{
				texture nx.floor.png
				filtering bilinear
				colour_op modulate
			}
		}
	}
}

material nx.skygrid
{
	technique
	{
		pass
		{
			lighting off
			depth_write off

			texture_unit
			{
				cubic_texture nx.skygrid.png nx.skygrid.png nx.skygrid.png nx.skygrid.png nx.skygrid.png nx.skygrid.png separateUV
				tex_address_mode clamp
			}
		}
	}
}