
; Vertex/fragment shader templates
;
{
  ; Specular control using the diffuse's alpha channel
  vertex_shader
  {
    file=dyn_standard_bump_speca_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_bump_speca_f.cg
  }
}
vf_reflect
{
  ; Just reflection
  vertex_shader
  {
    file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_f.cg
  }
}
vf_reflect_bump
{
  ; Texture+bumpmap+reflection map
  vertex_shader
  {
    ;file=dyn_standard_reflect_v.cg
    ;file=dyn_standard_bump_speca_v.cg
    file=dyn_standard_bump_reflect_v.cg
  }
  fragment_shader
  {
    ;file=dyn_standard_reflect_f.cg
    ;file=dyn_standard_bump_speca_f.cg
    file=dyn_standard_bump_reflect_f.cg
  }
}
vf_reflect_window
{
  vertex_shader
  {
    file=dyn_standard_reflect_window_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_window_f.cg
  }
}
vf_standard
{
  vertex_shader
  {
    file=dyn_standard_v.cg
  }
  fragment_shader
  {
    file=standard_f.cg
  }
}
vf_bump
{
  vertex_shader
  {
    file=dyn_standard_bump_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_bump_f.cg
  }
}

shader_wh~vf_reflect
{
tangents=1
diffuse=2.0 2.0 2.0
ambient=1.2 1.2 1.2
specular=0 0 0
shininess=100
reflect=0.25
compression=0
  layer0
  {
    map=wh.tga
  }
   layer1
  {
    ; Reflection cubemap
    map=$trackenvmap
    mode=linear
  }
}


shader_windows~vf_reflect
{
;was using dyn_reflect_window.cg - shader is buggy ATM (Racer 088)
;temporarily using chrome shader - no fresnel
sort_offset=1
;sort offset needed, otherwise glass hides lit headlamp models..
reflect=1.0
diffuse=1.0 1.0 1.0
ambient=1.0 1.0 1.0
;cull=none
layer0
{
  map=windows.tga
  shininess=20
  blendfunc=blend
  specular=0.0 0.0 0.0 1.0 
  depthwrite=0
 }
 layer1
  {
   map=$trackenvmap
   depthwrite=0
   }
}
shader_windback~vf_reflect
{
;was using dyn_reflect_window.cg - shader is buggy ATM (Racer 088)
;temporarily using chrome shader - no fresnel
sort_offset=1
;sort offset needed, otherwise glass hides lit headlamp models..
reflect=1.0
diffuse=1.0 1.0 1.0
ambient=1.0 1.0 1.0
;cull=none
layer0
{
  map=windback.tga
  shininess=20
  blendfunc=blend
  specular=0.0 0.0 0.0 1.0 
  depthwrite=0
 }
 layer1
  {
   map=$trackenvmap
   depthwrite=0
   }
}

shader_lights1~vf_glass
{
  ;sort_offset=5
  reflect=1
  shininess=16
  specular=0 0 0 0
  layer0
  {
    map=lights.tga
    blendfunc=blend
  }
  layer1
  {
    map=$trackenvmap
  }
}

shader_lights~vf_standard
{
layer0
 {
  map=lights.tga
 }
}

shader_cinza2~vf_standard
{
layer0
 {
  map=cinza2.tga
 }
}

shader_plate~vf_standard
{
layer0
 {
  map=plate.tga
 }
}

shader_baer~vf_standard
{
layer0
 {
  map=baer.tga
 }
}

shader_baer1~vf_standard
{
layer0
 {
  map=baer1.tga
 }
}

shader_lanternas~vf_standard
{
layer0
 {
  map=lanternas.tga
 }
}


shader_badge~vf_reflect
{
	layer0
	{
		map=nodamage.tga
		blendfunc=blend
    		depthwrite=0
	}
}

shader_chrome~vf_reflect
{
compression=0
ambient=0.8 0.8 0.8
diffuse=0.1 0.1 0.1
specular=0.0 0.0 0.0 ; no specular for solid colours
shininess=16
reflect=1.0 ;max reflect, for chrome - bodge with modded dyn_reflect shader
sort_offset=1
compression=0
  layer0
  {
    map=chrome.tga
  }
   layer1
  {
    ; Reflection cubemap
    map=$trackenvmap
  }
}
shader_break
{
  layer0
  {
    map=break.tga
    emission=0 0 0 1
    shininess=32
    specular=1 1 1 1
  }
  vertex_shader
  {
    file=dyn_standard_v.cg
  }
  fragment_shader
  {
    file=standard_heat_f.cg
  }
}
shader_wheel~vf_reflect
{
  reflect=1
  specular=0.5 0.5 0.5 1
  shininess=32
  fresnel
  {
    bias=0.5
    scale=0.5
    power=2
  }
  layer0
  {
    map=wheel.tga
  }
  layer1
  {
    map=$trackenvmap
  }
}
shader_rim~vf_reflect
{
  reflect=1
  specular=0.5 0.5 0.5 1
  shininess=32
  fresnel
  {
    bias=0.5
    scale=0.5
    power=2
  }
  layer0
  {
    map=wheel.tga
  }
  layer1
  {
    map=$trackenvmap
  }
}


shader_tire~vf_bumpspeca
{
  shininess=18
  specular=0.4 0.4 0.45 1
  tangents=1
  layer0
  {
    map=tirea0.tga
  }
  layer1
  {
    compression=0
    mode=linear
    map=tirea0_bump.tga
  }
}

shader_undercarriage~vf_standard
{
layer0
 {
  map=undercarriage.tga
  specular=0.05 0.05 0.05
  shininess=24
 blendfunc=blend
 }
}

shader_nodamage~vf_bumpspeca
{
  shininess=18
  specular=0.4 0.4 0.45 1
  tangents=1
  layer0
  {
    map=nodamage.tga
  }
  layer1
  {
    compression=0
    mode=linear
    map=nodamage_bump.tga
  }
}

shader_interior~vf_bumpspeca
{
  shininess=18
  specular=0.4 0.4 0.45 1
  tangents=1
  layer0
  {
    map=interior_lod0.tga
  }
  layer1
  {
    compression=0
    mode=linear
    map=interior_bump.tga
  }
}


shader_brakes~vf_standard
{
  sort_offset=1
  layer0
    {
       map=brakes.tga
       blendfunc=add
       ;texenv=replace
       emission=550 550 550 1
    }
}
shader_lights2~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights2.tga
       blendfunc=add
       ;texenv=replace
       emission=250 250 250 1
    }
}
shader_lights3~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights3.tga
       blendfunc=add
       ;texenv=replace
       emission=400 400 400 1
    }
}

shader_lights4~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights4.tga
       blendfunc=add
       ;texenv=replace
       emission=10 10 10 1
    }
}

shader_lights5~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights5.tga
       blendfunc=add
       ;texenv=replace
       emission=500 500 500 1
    }
}

shader_lights6~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights6.tga
       blendfunc=add
       ;texenv=replace
       emission=30 30 30 1
    }
}
shader_lights7~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights7.tga
       blendfunc=add
       ;texenv=replace
       emission=40 40 40 1
    }
}
shader_lights8~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights8.tga
       blendfunc=add
       ;texenv=replace
       emission=650 650 650 1
    }
}
shader_lights9~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights9.tga
       blendfunc=add
       ;texenv=replace
       emission=40 40 40 1
    }
}
shader_lights10~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights10.tga
       blendfunc=add
       ;texenv=replace
       emission=20 20 20 1
    }
}
shader_lights11~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights11.tga
       blendfunc=add
       ;texenv=replace
       emission=700 700 700 1
    }
}

shader_mirror~vf_standard
{
  diffuse=.5 .5 .5
  layer0
    {
       map=$mirror
    }
}