;
; Vertex/fragment shader templates
;
vf_reflect
{
  ; Just reflection
  vertex_shader
  {
    file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_f.cg
  }
}

vf_reflect_spec
{
  ; Just reflection
  vertex_shader
  {
    file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_f.cg
  }
}
vf_glass
{
  ; Just reflection
  vertex_shader
  {
    file=dyn_standard_reflect_window_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_window_f.cg
  }
}

vf_chrome
{
  ; Just reflection
  vertex_shader
  {
    file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_f.cg
  }
}
vf_reflect_bump
{
  ; Just reflection
  vertex_shader
  {
    file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_f.cg
  }
}
vf_bump
{
  vertex_shader
  {
    file=dyn_standard_bump_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_bump_f.cg
  }
}

vf_detail_bump
{ 
  ; Texture+bumpmap+reflection map
  vertex_shader
  {
    ;file=cg/dyn_standard_bump_detail_v.cg
    file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    ;file=cg/dyn_standard_bump_detail_f.cg
    file=dyn_standard_reflect_f.cg
  }
}

vf_standard
{
  vertex_shader
  {
    file=dyn_standard_v.cg
  }
  fragment_shader
  {
    file=standard_f.cg
  }
}

vf_heat
{
;Brake disc heat shader
  vertex_shader
  {
    file=dyn_standard_v.cg
  }
  fragment_shader
  {
    file=standard_brakeheat_f.cg
  }
}

vf_standard_spec
{
  vertex_shader
  {
    file=dyn_standard_v.cg
  }
  fragment_shader
  {
    file=standard_f.cg
  }
}
shader_karoseria~vf_reflect_bump
{
  compression=0
  reflect=0.5
  specular=1 1 1
  shininess=50
  ; Need tangents passed while rendering
  tangents=1
  layer0
  {
    map=karoseria.tga
    ;blend=src_alpha one_minus_src_alpha
  }
  layer1
  {
    ; Bumpmap
    map=bodycolorM.tga
  }
  layer2
  {
    ; Reflection cubemap
    map=$trackenvmap
  }
}
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=szyby.tga
  shininess=20
  blendfunc=blend
  specular=0.0 0.0 0.0 1.0 
  depthwrite=0
 }
 layer1
  {
   map=$trackenvmap
   depthwrite=0
   }
}
shader_chrome
{
  layer0
  {
    map=$trackenvmap
    texgen_s=reflection_map
    texgen_t=reflection_map
    texgen_r=reflection_map
      shininess=42
      specular=1 1 1 1
  }
  layer1
  {
    map=chrome.tga
    blendfunc=one src_alpha
  shininess=35
  specular=0.76 0.75 0.74
  }
}
shader_metal~vf_reflect
{
  compression=0
  reflect=1
  specular=0.3 0.3 0.3 0.3
  shininess=50
  layer0
  {
    map=metal.tga
  }
  layer1
  {
    ; Reflection cubemap
    map=$trackenvmap
  }
}
shader_nodamage~vf_standard
{
  layer0
  {
    map=nodamage.tga
    blendfunc=blend
  }
}
shader_emzone_juoda~vf_standard
{
  layer0
  {
    map=emzone_juoda.tga
  }
}
shader_nodamage_lod0~vf_standard
{
  layer0
  {
    map=nodamage_lod0.tga
    blendfunc=blend
  }
}
shader_interior_lod1~vf_standard
{
  layer0
  {
    map=interior_lod1.tga
  }
}
shader_lights~vf_standard
{
  layer0
  {
    map=lights.tga
  }
}
shader_wheel~vf_reflect
{
  compression=0
  reflect=1
  specular=0.3 0.3 0.3 0.3
  shininess=50
  layer0
  {
    map=wheel.tga
  }
  layer1
  {
    ; Reflection cubemap
    map=$trackenvmap
  }
}
shader_Stabdziu_diskas1~vf_standard
{
  layer0
  {
    map=Stabdziu_diskas1.tga
  }
}
shader_tire~vf_standard
{
  layer0
  {
    map=tire.tga
  }
}
shader_wood~vf_standard
{
  layer0
  {
    map=wood.tga
  }
}
shader_plate~vf_standard
{
  layer0
  {
    map=plate.tga
  }
}
shader_lights1~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights1.tga
       blendfunc=add
       ;texenv=replace
       emission=30 30 30 1
    }
}
shader_lights2~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights2.tga
       blendfunc=add
       ;texenv=replace
       emission=20 20 20 1
    }
}
shader_lights3~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights3.tga
       blendfunc=add
       ;texenv=replace
       emission=10 10 10 1
    }
}
shader_lights4~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights4.tga
       blendfunc=add
       ;texenv=replace
       emission=5 5 5 1
    }
}
shader_mirror
{
  layer0
  {
    map=$mirror
    texscale_s=1
    texscale_r=1
    texscale_t=1
    diffuse=0.015 0.015 0.015 1
    ambient=0.015 0.015 0.015 1
  }
}