
;
; Vertex/fragment templates
;
vf_standard
{
  vertex_shader
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_f.cg
  }
}
vf_dyn_standard
{ 
  {
    file=dyn_standard_v.cg
  }
  fragment_shader
  {
    file=standard_f.cg
  }
}
vf_standard_transparent
{
  vertex_shader
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_transparent_f.cg
  }
}
vf_vertexcolor
{
  vertex_shader 
  {
    file=standard_vc_v.cg
  }
  fragment_shader
  {
    file=standard_vc_f.cg
  }
}
vf_tree
{
  wrap_t=clamp_to_edge
  vertex_shader
  {
    file=standard_tree_v.cg
  }
  fragment_shader
  {
    file=standard_tree_f.cg
  }
}
vf_road
{
  ;specular=1 1 1
  ;shininess=4
  scale=7.5
  emission=0.2 0.2 0.2 0.2
  specular=0.1 0.1 0.1 0.1
  shininess=0.5
;  vertex_shader 
;  {
;    file=standard_v.cg
;  }
;  fragment_shader
;  {
;    file=standard_detail_burn_a_f.cg
    ;file=standard_burn_a_f.cg
;  }
}
vf_bump
{
  vertex_shader
  {
    file=standard_bump_v.cg
  }
  fragment_shader
  {
    file=standard_bump_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
  }
}
;
; Racer shaders----------------------
;
shader_sky~vf_sky
{
  sky=1
  cull=none
  layer0
  {
    map=sky_clouds.tga
    depthwrite=0
    depthfunc=always
  }
  layer1
  {
    map=sky_night.tga
    depthwrite=0
    depthfunc=always
  }
}

shader_blinn69~vf_road
{
  reflect=0.05
  diffuse=1 1 1
  ;ambient=0 0 0
  specular=0.5 0.5 0.5
  shininess=30
  tangents=1
  ;ambient=1 1 1
  diffuse=1 1 1
  cast_shadow=1
  layer0
  {
    map=road02.tga
  }
}
shader_blinn56~vf_road
{
  reflect=0.05
  diffuse=1 1 1
  ;ambient=0 0 0
  specular=0.5 0.5 0.5
  shininess=30
  tangents=1
  ;ambient=1 1 1
  diffuse=1 1 1
  cast_shadow=1
  layer0
  {
    map=road04.tga
  }
}
shader_blinn60~vf_road
{
  reflect=0.05
  diffuse=1 1 1
  ;ambient=0 0 0
  specular=0.5 0.5 0.5
  shininess=30
  tangents=1
  ;ambient=1 1 1
  diffuse=1 1 1
  cast_shadow=1
  layer0
  {
    map=road01.tga
  }
}
shader_ssroad02~vf_road
{
  reflect=0.05
  diffuse=1 1 1
  ;ambient=0 0 0
  specular=0.5 0.5 0.5
  shininess=30
  tangents=1
  ;ambient=1 1 1
  diffuse=1 1 1
  cast_shadow=1
  layer0
  {
    map=road02.tga
  }
}
shader_ssroad03~vf_road
{
  reflect=0.05
  diffuse=1 1 1
  ;ambient=0 0 0
  specular=0.5 0.5 0.5
  shininess=30
  tangents=1
  ;ambient=1 1 1
  diffuse=1 1 1
  cast_shadow=1
  layer0
  {
    map=road03.tga
  }
}
shader_blinn76~vf_road
{
  reflect=0.05
  diffuse=1 1 1
  ;ambient=0 0 0
  specular=0.5 0.5 0.5
  shininess=30
  tangents=1
  ;ambient=1 1 1
  diffuse=1 1 1
  cast_shadow=1
  layer0
  {
    map=road05.tga
  }
}
shader_ssroad01~vf_road
{
  reflect=0.05
  diffuse=1 1 1
  ;ambient=0 0 0
  specular=0.5 0.5 0.5
  shininess=30
  tangents=1
  ;ambient=1 1 1
  diffuse=1 1 1
  cast_shadow=1
  layer0
  {
    map=road01.tga
  }
}
shader_ssroad04~vf_road
{
  reflect=0.05
  diffuse=1 1 1
  ;ambient=0 0 0
  specular=0.5 0.5 0.5
  shininess=30
  tangents=1
  ;ambient=1 1 1
  diffuse=1 1 1
  cast_shadow=1
  layer0
  {
    map=road04.tga
  }
}
shader_blinn73~vf_road
{
  reflect=0.05
  diffuse=1 1 1
  ;ambient=0 0 0
  specular=0.5 0.5 0.5
  shininess=30
  tangents=1
  ;ambient=1 1 1
  diffuse=1 1 1
  cast_shadow=1
  layer0
  {
    map=road03pit.tga
  }
}
shader_blinn65~vf_standard
{
  cast_shadow=0
  layer0
  {
    map=grass04.tga
  }
}
shader_blinn61~vf_standard
{
  cast_shadow=0
  layer0
  {
    map=grass01.tga
  }
}
shader_blinn62~vf_standard
{
  cast_shadow=0
  layer0
  {
    map=grass02.tga
  }
}
shader_ssgrass04~vf_standard
{
  cast_shadow=0
  layer0
  {
    map=grass04.tga
  }
}
shader_ssgrass03~vf_standard
{
  cast_shadow=0
  layer0
  {
    map=grass03.tga
  }
}
shader_ssgrass01~vf_standard
{
  cast_shadow=0
  layer0
  {
    map=grass01.tga
  }
}
shader_ssgrass02~vf_standard
{
  cast_shadow=0
  layer0
  {
    map=grass02.tga
  }
}
shader_blinn64~vf_road
{
  reflect=0.05
  diffuse=1 1 1
  ;ambient=0 0 0
  specular=0.5 0.5 0.5
  shininess=30
  tangents=1
  ;ambient=1 1 1
  diffuse=1 1 1
  cast_shadow=1
  layer0
  {
    map=curb01.tga
  }
}
shader_sscurb01~vf_road
{
  reflect=0.05
  diffuse=1 1 1
  ;ambient=0 0 0
  specular=0.5 0.5 0.5
  shininess=30
  tangents=1
  ;ambient=1 1 1
  diffuse=1 1 1
  cast_shadow=1
  layer0
  {
    map=curb01.tga
  }
}
shader_blinn55~vf_standard
{
  cast_shadow=0
  layer0
  {
    map=sand01.tga
  }
}
shader_blinn58~vf_standard
{
  cast_shadow=0
  layer0
  {
    map=sand02.tga
  }
}
shader_sssand01~vf_standard
{
  cast_shadow=0
  layer0
  {
    map=sand01.tga
  }
}
shader_sssand02~vf_standard
{
  cast_shadow=0
  layer0
  {
    map=sand02.tga
  }
}
shader_sssign03~vf_standard
{
  layer0
  {
    map=sign03.tga
    texenv=replace
  }
}
shader_sssign04~vf_standard
{
  layer0
  {
    map=sign04.tga
    texenv=replace
  }
}
shader_sscone01~vf_dyn_standard
{
  layer0
  {
    map=cone01.tga
  }
}
shader_blinn42~vf_dyn_standard
{
  layer0
  {
    map=cone01.tga
  }
}
shader_blinn57~vf_standard
{
  layer0
  {
    map=wall07.tga
    ;texenv=replace
  }
}
shader_blinn70~vf_standard
{
  layer0
  {
    map=wall03.tga
    ;texenv=replace
  }
}
shader_blinn59~vf_standard
{
  layer0
  {
    map=wall09.tga
    ;texenv=replace
  }
}
shader_blinn68~vf_standard
{
  layer0
  {
    map=wall02.tga
    ;texenv=replace
  }
}
shader_blinn71~vf_standard
{
  layer0
  {
    map=wall04.tga
    ;texenv=replace
  }
}
shader_blinn63~vf_standard
{
  layer0
  {
    map=wall01.tga
    ;texenv=replace
  }
}
shader_sswall08~vf_standard
{
  layer0
  {
    map=wall08.tga
    ;texenv=replace
  }
}
shader_sswall03~vf_standard
{
  layer0
  {
    map=wall03.tga
    ;texenv=replace
  }
}
shader_sswall09~vf_standard
{
  layer0
  {
    map=wall09.tga
    ;texenv=replace
  }
}
shader_sswall01~vf_standard
{
  layer0
  {
    map=wall01.tga
    ;texenv=replace
  }
}
shader_sswall02~vf_standard
{
  layer0
  {
    map=wall02.tga
    ;texenv=replace
  }
}
shader_sswall04~vf_standard
{
  layer0
  {
    map=wall04.tga
    ;texenv=replace
  }
}
shader_sswall07~vf_standard
{
  layer0
  {
    map=wall07.tga
    ;texenv=replace
  }
}
shader_sspit01~vf_standard
{
  layer0
  {
    map=pit01.tga
  }
}
shader_blinn27~vf_standard
{
  layer0
  {
    map=pit01.tga
  }
}
shader_blinn75~vf_standard
{
  layer0
  {
    map=build01.tga
  }
}
shader_dunlop_blinn2~vf_standard
{
  layer0
  {
    map=build01.tga
  }
}
shader_ssbuild02~vf_standard
{
  layer0
  {
    map=build02.tga
  }
}
shader_ssbuild01~vf_standard
{
  layer0
  {
    map=build01.tga
  }
}
shader_sstyres01~vf_standard
{
  layer0
  {
    map=tyres01.tga
  }
}
shader_ruedas_tyres_blinn1~vf_standard
{
  layer0
  {
    map=tyres01.tga
  }
}
shader_ssshadow01~vf_standard
{
  layer0
  {
    map=shadow01.tga
  }
}
shader_blinn74~vf_standard
{
  layer0
  {
    map=ground03.tga
  }
}
shader_ssground03~vf_standard
{
  layer0
  {
    map=ground03.tga
  }
}
shader_ssfence01~vf_standard
{
  layer0
  {
    map=fence01.tga
    blendfunc=blend
    alphafunc=gequal 100
    shininess=128
    depthwrite=1 
    texenv=replace
  }
}
shader_blinn67~vf_standard
{
  layer0
  {
    map=fence01.tga
    blendfunc=blend
    alphafunc=gequal 100
    shininess=128
    depthwrite=1 
    texenv=replace
  }
}
shader_blinn66~vf_tree
{
  ; Trouble with sun behind trees if blended
  layer0
  {
    map=treeline01.tga
    alpha_to_coverage=1
    alphafunc=gequal 128
    depthwrite=1
    ;blendfunc=blend
    wrap_t=clamp_to_edge
    depthwrite=1
    ; Avoid too much light difference based on direction
    ;diffuse=2.5 0.6 0.5
    ;ambient=1 1 1
    ;diffuse=0.1 0.1 0.1
  }
}
shader_blinn6~vf_tree
{
  ; Trouble with sun behind trees if blended
  layer0
  {
    map=tree01.tga
    alpha_to_coverage=1
    alphafunc=gequal 128
    depthwrite=1
    ;blendfunc=blend
    wrap_t=clamp_to_edge
    depthwrite=1
    ;diffuse=2.5 0.6 0.5
    ;ambient=1 1 1
    ;diffuse=0.1 0.1 0.1
  }
}
shader_sstree01~vf_tree
{
  ; Trouble with sun behind trees if blended
  layer0
  {
    map=tree01.tga
    alpha_to_coverage=1
    alphafunc=gequal 128
    depthwrite=1
    ;blendfunc=blend
    wrap_t=clamp_to_edge
    depthwrite=1
    ;diffuse=2.5 0.6 0.5
    ;ambient=1 1 1
    ;diffuse=0.1 0.1 0.1
  }
}
shader_sspeople01~vf_tree
{
  ; Trouble with sun behind trees if blended
  layer0
  {
    map=people01.tga
    alpha_to_coverage=1
    alphafunc=gequal 150
    depthwrite=1
    ;blendfunc=blend
    wrap_t=clamp_to_edge
    depthwrite=1
    ;diffuse=2.5 0.6 0.5
    ;ambient=1 1 1
    ;diffuse=0.1 0.1 0.1
  }
}
shader_personas_blinn22~vf_tree
{
  ; Trouble with sun behind trees if blended
  layer0
  {
    map=people01.tga
    alpha_to_coverage=1
    alphafunc=gequal 150
    depthwrite=1
    ;blendfunc=blend
    wrap_t=clamp_to_edge
    depthwrite=1
    ;diffuse=2.5 0.6 0.5
    ;ambient=1 1 1
    ;diffuse=0.1 0.1 0.1
  }
}