vertex_program base_normalspecularmap_vs hlsl
{
	source NormalSpecular_vs.hlsl
	entry_point main_vs
	target vs_2_a
	default_params
	{
		//param_named_auto matWorld world_matrix
		param_named_auto matWorldViewProj worldviewproj_matrix  
		param_named_auto matInvWorld inverse_world_matrix
		param_named_auto msCamPos camera_position_object_space
		
		param_named wsLightDir float3 0 1 0
	}
}

fragment_program base_normalspecularmap_ps hlsl
{
	source NormalSpecular_ps.hlsl
	entry_point main_ps
	target ps_2_a
	default_params
	{
		param_named_auto useAlpha custom 113
		param_named_auto useAlpha float 1
				
		param_named_auto hilight custom 114
		param_named_auto hilight float4 1 1 1 1

		param_named_auto colorModulate custom 115
		param_named_auto colorModulate float4 1 1 1 1
		
		param_named lightDiffuse float3 0.5 0.5 0.5
	}
}

fragment_program base_normalspecularmap_preview_ps hlsl
{
	source NormalSpecular_ps.hlsl
	entry_point main_ps
	target ps_2_a
	preprocessor_defines MAP_PREVIEW
	default_params
	{
		param_named_auto useAlpha custom 113
		param_named_auto useAlpha float 1
				
		param_named_auto colorModulate custom 115
		param_named_auto colorModulate float4 1 1 1 1
	}
}

vertex_program AmbientDiffuse_vs hlsl
{
	source AmbientDiffuse_vs.hlsl
	entry_point main_vs
	target vs_2_0
	default_params
	{
		//param_named_auto matWorld world_matrix  
		param_named_auto matWorldViewProj worldviewproj_matrix  
		//param_named_auto matInvTransposeWorld inverse_transpose_world_matrix
		param_named_auto msCamPos camera_position_object_space
	}
}

fragment_program AmbientDiffuse_ps hlsl
{
	source AmbientDiffuse_ps.hlsl
	entry_point main_ps
	target ps_2_0
	
	default_params
	{
		param_named_auto useAlpha custom 113
		param_named_auto useAlpha 1

		param_named_auto hilight custom 114
		param_named_auto hilight float4 1 1 1 1
		
		param_named_auto colorModulate custom 115
		param_named_auto colorModulate float4 1 1 1 1

		//param_named_auto wsPosCamera camera_position
	}
}

vertex_program AmbientDiffuseUL_vs hlsl
{
	source AmbientDiffuseUL_vs.hlsl
	entry_point main_vs
	target vs_2_0
	default_params
	{
		param_named_auto matWorld world_matrix  
		param_named_auto matWorldViewProj worldviewproj_matrix  
		//param_named_auto matInvTransposeWorld inverse_transpose_world_matrix
	}
}

fragment_program AmbientDiffuseUL_ps hlsl
{
	source AmbientDiffuseUL_ps.hlsl
	entry_point main_ps
	target ps_2_0
	
	default_params
	{
		param_named_auto hilight custom 114
		param_named_auto hilight float4 1 1 1 1
		
		param_named_auto colorModulate custom 115
		param_named_auto colorModulate float4 1 1 1 1
	}
}


vertex_program AmbientDiffuseL_vs hlsl
{
	source AmbientDiffuseL_vs.hlsl
	entry_point main_vs
	target vs_2_0
	default_params
	{
		param_named_auto matWorld world_matrix  
		param_named_auto matWorldViewProj worldviewproj_matrix  
		//param_named_auto matInvTransposeWorld inverse_transpose_world_matrix
	}
}

fragment_program AmbientDiffuseL_ps hlsl
{
	source AmbientDiffuseL_ps.hlsl
	entry_point main_ps
	target ps_2_0
	
	default_params
	{
		param_named_auto hilight custom 114
		param_named_auto hilight float4 1 1 1 1
		
		param_named_auto colorModulate custom 115
		param_named_auto colorModulate float4 1 1 1 1
	}
}
