vertex_program vp_ShadowCaster cg
{
  source shadow_caster.cg.c
  entry_point vp_main
  profiles vs_2_0 arbvp1
}

fragment_program fp_ShadowCaster cg
{
  source shadow_caster.cg.c
  entry_point fp_main
  profiles ps_2_0 arbfp1
}

vertex_program vp_ShadowReceiver cg
{
  source shadow_receiver.cg.c
  entry_point vp_main
  profiles vs_2_0 arbvp1
}

fragment_program fp_ShadowReceiver cg
{
  source shadow_receiver.cg.c
  entry_point fp_main
  profiles ps_2_0 arbfp1
}

fragment_program fp_TwoTexturesDefault cg
{
  source two_textures_default.fp.cg.c
  entry_point main
  profiles ps_2_0 arbfp1
}

vertex_program vp_SpecularBumpLM cg
{
  source specular_bump_lm.vp.cg.c
  entry_point main
  profiles vs_1_1 vs_2_0 vs_3_0 arbvp1 
}

fragment_program fp_SpecularBumpLM cg
{
  source specular_bump_lm.fp.cg.c
  entry_point main
  profiles ps_2_0 arbfp1
}

vertex_program vp_SpecularBump cg
{
  source specular_bump.vp.cg.c
  entry_point main
  profiles vs_1_1 vs_2_0 vs_3_0 arbvp1 
}

fragment_program fp_SpecularBump cg
{
  source specular_bump.fp.cg.c
  entry_point main
  profiles ps_2_0 arbfp1
}

vertex_program vp_VertexLighting_OneLight_TwoTextures cg
{
  source lighting_one_light_two_textures.vp.cg.c
  entry_point main
  profiles vs_1_1 vs_2_0 vs_3_0 arbvp1 
}

vertex_program vp_PassThrough_TwoTextures cg
{
  source pass_through_two_textures.vp.cg.c
  entry_point main
  profiles vs_1_1 vs_2_0 vs_3_0 arbvp1 
}

vertex_program vp_PassThrough_TwoTextures_EnvMap cg
{
  source pass_through_two_textures_envmap.vp.cg.c
  entry_point main
  profiles vs_1_1 vs_2_0 vs_3_0 arbvp1 
}

fragment_program fp_DiffuseLightmap_Default cg
{
  source diffuse_lightmap_default.fp.cg.c
  entry_point main
  profiles arbfp1 ps_2_0 ps_3_0
}

fragment_program fp_DiffuseLightmap_EnvMap cg
{
  source diffuse_lightmap_envmap.fp.cg.c
  entry_point main
  profiles arbfp1 ps_2_0 ps_3_0
}