vf_road
{
  ; The road uses specularity but burned through the red channel to get a coarse gloss map
  specular=1 1 1
  shininess=4
  vertex_shader 
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    ; Burn specularity through red
    file=standard_burn_f.cg
  }
}
vf_sky
{
  vertex_shader
  {
    file=sky_daynight_v.cg
    ;file=sky_v.cg
  }
  fragment_shader
  {
    file=sky_daynight_f.cg
    ;file=sky_f.cg
  }
}
vf_sky2
{
  vertex_shader
  {
    ;file=sky_daynight_v.cg
    file=sky_v.cg
  }
  fragment_shader
  {
    ;file=sky_daynight_f.cg
    file=sky_f.cg
  }
}
vf_standard
{
  ; Most-often used shader
  ; Carlswood uses vertex coloring a lot. Other tracks may use 'standard_v.cg' and 'standard_f.cg' instead.
  vertex_shader 
  {
    ;file=animate_test_v.cg
    ;file=standard_vc_v.cg
    file=standard_v.cg
  }
  fragment_shader
  {
    ;file=standard_vc_f.cg
    file=standard_f.cg
  }
}
vf_grass
{
  vertex_shader
  {
    file=standard_tree_v.cg
  }
  fragment_shader
  {
    file=standard_tree_f.cg
  }
}
vf_standard_transparent
{
  ; Shader for transparent (blended) materials
  ; Use this 
  vertex_shader 
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_transparent_f.cg
  }
}
shader_SKY~vf_sky
{
  sky=1
  fog=0
  layer0
  {
    ;texenv=replace
    map=SKY_semisun6.tga
    cull=back
    ;depthfunc=always
    depthwrite=1
  }
  layer1
  {
    map=sky_night.tga
    depthwrite=0
  }
}
;shader_sky
;{
;  fog=0
;  sky=1
;  layer0
;  {
;    map=sky.tga
;    depthfunc=always
;    depthwrite=0
;  }
;}

shader_bka1~vf_sky2
{
  sky=1
  layer0
  {
    map=bka1.tga
    blendfunc=blend
    wrap_s=clamp_to_edge
  }
}
shader_water01~vf_standard
{
}
shader_asphalt1~vf_standard
{
  layer0
  {
    map=asphalt1.tga
  }
}
shader_road01~vf_road
{
  layer0
  {
    map=road01.tga
    ;blendfunc=one src_alpha
  }
}
shader_road02~vf_road
{
  layer0
  {
    map=road02.tga
  }
}
shader_curb01~vf_standard
{
  layer0
  {
    map=curb01.tga
  }
}
shader_curb02~vf_standard
{
  layer0
  {
    map=curb02.tga
  }
}
shader_curb03~vf_standard
{
  layer0
  {
    map=curb03.tga
  }
}
shader_curb04~vf_standard
{
  layer0
  {
    map=curb04.tga
  }
}
shader_curb05~vf_standard
{
  layer0
  {
    map=curb05.tga
  }
}
shader_curb06~vf_standard
{
  layer0
  {
    map=curb06.tga
  }
}
shader_crvsgn01~vf_standard_transparent
{
  layer0
  {
    map=crvsgn01.tga
    alpha_to_coverage=1
    depthwrite=1
    alphafunc=gequal 128
    mipmap=0
  }
}
shader_lamppost~vf_standard
{
  layer0
  {
    map=lamppost.tga
  }
}
shader_fence01~vf_standard
{
  layer0
  {
    map=fence01.tga
    wrap_s=clamp_to_edge
  }
}
shader_fence02~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=fence02.tga
    alphafunc=gequal 128
    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
    mipmap=0
  }
}
shader_fence03~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=fence03.tga
    alphafunc=gequal 128
    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
    mipmap=0
  }
}
shader_fencep~vf_standard
{
  cull=none
  layer0
  {
    map=fencep.tga
    wrap_s=clamp_to_edge
  }
}
shader_armco~vf_standard
{
  cull=none
  layer0
  {
    map=armco.tga
    wrap_s=clamp_to_edge
  }
}
shader_gate01~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=gate01.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    mipmap=0
  }
}
shader_grass01~vf_standard
{
  layer0
  {
    map=grass01.tga
  }
}
shader_water01
{
  layer0
  {
    map=water01.tga
    blendfunc=blend
  }
}
shader_bushmap1~vf_standard
{
  layer0
  {
    map=bushmap1.tga
  }
}
shader_shore01~vf_standard
{
  layer0
  {
    map=shore01.tga
  }
}
shader_prklot01~vf_standard
{
  layer0
  {
    map=prklot01.tga
  }
}
shader_prklot02~vf_standard
{
  layer0
  {
    map=prklot02.tga
  }
}
shader_hangar01~vf_standard
{
  layer0
  {
    map=hangar01.tga
  }
}
shader_hangar02~vf_standard
{
  layer0
  {
    map=hangar02.tga
  }
}
shader_hangar03~vf_standard
{
  layer0
  {
    map=hangar03.tga
  }
}
shader_bldng01a~vf_standard
{
  layer0
  {
    map=bldng01a.tga
  }
}
shader_bldng01b~vf_standard
{
  layer0
  {
    map=bldng01b.tga
  }
}
shader_bldng02~vf_standard
{
  fog=0
  layer0
  {
    map=bldng02.tga
  }
}
shader_bridge1a~vf_standard
{
  layer0
  {
    map=bridge1a.tga
  }
}
shader_bridge1b~vf_standard
{
  layer0
  {
    map=bridge1b.tga
  }
}
shader_bridge1c~vf_standard
{
  layer0
  {
    map=bridge1c.tga
  }
}
shader_grasst01~vf_grass
{
  cull=none
  layer0
  {
    map=grasst01.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
    ;emission=1 1 1
    ;emission=.5 .5 .5
    ;mipmap=0
  }
}
shader_grasst02~vf_grass
{
  cull=none
  layer0
  {
    map=grasst02.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
    ;emission=1 1 1
    ;emission=.5 .5 .5
    ;mipmap=0
  }
}
shader_grasst03~vf_grass
{
  cull=none
  layer0
  {
    map=grasst03.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
    ;emission=1 1 1
    ;emission=.5 .5 .5
    ;mipmap=0
  }
}
shader_grasst04~vf_grass
{
  cull=none
  layer0
  {
    map=grasst04.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
    ;emission=1 1 1
    ;emission=.5 .5 .5
    ;mipmap=0
  }
}
shader_trline01~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=trline01.tga
    alphafunc=gequal 196
    wrap_s=clamp_to_edge
  }
}
shader_trline02~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=trline02.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_trline03~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=trline03.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_trline04~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=trline04.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
    ;texscale_t=0.5
  }
}
shader_tree01~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=tree01.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_tree02~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=tree02.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_tree03~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=tree03.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_tree04~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=tree04.tga
    alphafunc=gequal 200
    wrap_s=clamp_to_edge
  }
}
shader_tree05~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=tree05.tga
    alphafunc=gequal 150
    wrap_s=clamp_to_edge
  }
}
shader_tree06~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=tree06.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_tree07~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=tree07.tga
    alphafunc=gequal 200
    wrap_s=clamp_to_edge
  }
}
shader_tree08~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=tree08.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_bigbush1~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=bigbush1.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_bigbush2~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=bigbush2.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_bigbush3~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=bigbush3.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_bigbush4~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=bigbush4.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_bigbush5~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=bigbush5.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_bushes01~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=bushes01.tga
    alphafunc=gequal 200
    wrap_s=clamp_to_edge
  }
}
shader_bushes02~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=bushes02.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_bushes03~vf_standard_transparent
{
  cull=none
  layer0
  {
    map=bushes03.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
    wrap_s=clamp_to_edge
  }
}
shader_0m~vf_standard_transparent
{
  layer0
  {
    map=0m.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
  }
}
shader_500m~vf_standard_transparent
{
  layer0
  {
    map=500m.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
  }
}
shader_1000m~vf_standard_transparent
{
  layer0
  {
    map=1000m.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
  }
}
shader_1500m~vf_standard_transparent
{
  layer0
  {
    map=1500m.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
  }
}
shader_2000m~vf_standard_transparent
{
  layer0
  {
    map=2000m.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
  }
}
shader_2500m~vf_standard_transparent
{
  layer0
  {
    map=2500m.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
  }
}
shader_3000m~vf_standard_transparent
{
  layer0
  {
    map=3000m.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
  }
}
shader_3500m~vf_standard_transparent
{
  layer0
  {
    map=3500m.tga
        alphafunc=gequal 128
	    alpha_to_coverage=1
    depthwrite=1
  }
}
shader_cone~vf_standard
{
  layer0
  {
    map=cone.tga
  }
}