

vertex_program specular_vs_hlsl hlsl
{
	entry_point specularVS
	target vs_1_1
	source specular.hlsl

	default_params
	{
		param_named_auto gCameraPosObj camera_position_object_space
		param_named_auto gLightPosObj light_position_object_space 0
		param_named_auto gWorldViewProj worldviewproj_matrix
	}
}

fragment_program phong_ps_hlsl hlsl
{
	entry_point phongPS
	target ps_2_0
	source specular.hlsl

	default_params
	{
		param_named gSpecShine float1 20 0 0 0
		param_named_auto gAmbient ambient_light_colour
		param_named_auto gDiffuse light_diffuse_colour 0
		param_named_auto gSpecular light_specular_colour 0
	}
}

fragment_program blinn_ps_hlsl hlsl
{
	entry_point blinnPS
	target ps_2_0
	source specular.hlsl

	default_params
	{
		param_named gSpecShine float1 20 0 0 0
		param_named_auto gAmbient ambient_light_colour
		param_named_auto gDiffuse light_diffuse_colour 0
		param_named_auto gSpecular light_specular_colour 0
	}
}

vertex_program outline_vs_hlsl hlsl
{
	entry_point backVS
	target vs_1_1
	source outline.hlsl

	default_params
	{
		param_named gBorderFactor float1 1 0 0 0
		param_named_auto gWorldViewProj worldviewproj_matrix
	}
}

vertex_program xWave_vs_hlsl hlsl
{
	entry_point waveVS
	target vs_1_1
	source wave.hlsl

	default_params
	{
		param_named gWaveFactor float1 1 0 0 0
		param_named gYFactor float1 1 0 0 0
		param_named_auto gCameraPosObj camera_position_object_space
		param_named_auto gLightPosObj light_position_object_space 0
		param_named_auto gTime time 1
		param_named_auto gWorldViewProj worldviewproj_matrix
	}
}

vertex_program flate_vs_hlsl hlsl
{
	entry_point mainVS
	target vs_1_1
	source flate.hlsl

	default_params
	{
		param_named gFlateFactor float1 1 0 0 0
		param_named_auto gCameraPosObj camera_position_object_space
		param_named_auto gLightPosObj light_position_object_space 0
		param_named_auto gTime time 1
		param_named_auto gWorldViewProj worldviewproj_matrix
	}
}

fragment_program xBlur_ps_hlsl hlsl
{
	entry_point xBlurPS
	target ps_2_0
	preprocessor_defines blurTime=1
	source blur.hlsl

	default_params
	{
		param_named gBlurStep float1 0.01 0 0 0
	}
}

vertex_program growingEdge_vs_hlsl hlsl
{
	entry_point mainVS
	target vs_1_1
	source growingEdge.hlsl

	default_params
	{
		param_named_auto gCameraPosObj camera_position_object_space
		param_named_auto gWorldViewProj worldviewproj_matrix
	}
}

fragment_program growingEdge_ps_hlsl hlsl
{
	entry_point mainPS
	target ps_2_0
	source growingEdge.hlsl

	default_params
	{
		param_named gGlowExponent float1 0.5 0 0 0
		param_named gGlowRejection float1 0.8 0 0 0
		param_named_auto gGlowColor light_diffuse_colour 0
	}
}

vertex_program multiLights_vs_hlsl hlsl
{
	entry_point multiTypeLightVS
	target vs_1_1
	preprocessor_defines gLightCount=5
	source multiLight.hlsl

	default_params
	{
		param_named_auto gCameraPosObj camera_position_object_space
		param_named_auto gLightPosObjArray light_position_object_space_array 5
		param_named_auto gWorldViewProj worldviewproj_matrix
	}
}

fragment_program multiLights_ps_hlsl hlsl
{
	entry_point multiTypeLightPS
	target ps_3_0
	preprocessor_defines gLightCount=5
	source multiLight.hlsl

	default_params
	{
		param_named gSpecShine float1 20 0 0 0
		param_named_auto gAmbient ambient_light_colour
		param_named_auto gDiffuseArray light_diffuse_colour_array 5
		param_named_auto gLightAttenArray light_attenuation_array 5
		param_named_auto gLightDirObjArray light_direction_object_space_array 5
		param_named_auto gLightDistObjArray light_distance_object_space_array 5
		param_named_auto gSLParamsArray spotlight_params_array 5
		param_named_auto gSpecularArray light_specular_colour_array 5
	}
}