;
; 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
  }
}

;
; 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_szyby~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~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_szybyklosze~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=szybyklosze.tga
  shininess=20
  blendfunc=blend
  specular=0.0 0.0 0.0 1.0 
  depthwrite=0
 }
 layer1
  {
   map=$trackenvmap
   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_zawieszenie~vf_standard
{
layer0
 {
  map=zawieszenie.tga
  specular=0.05 0.05 0.05
  shininess=24
 blendfunc=blend
 }
}
shader_czarne~vf_standard
{
layer0
 {
  map=czarne.tga
 }
}
shader_aluminium~vf_bumpspeca
{
  shininess=18
  specular=0.4 0.4 0.45 1
  tangents=1
  layer0
  {
    map=aluminium.tga
  }
  layer1
  {
    compression=0
    mode=linear
    map=nodamage_bump.tga
  }
}
shader_interior_lod0~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_leather~vf_bumpspeca
{
  shininess=18
  specular=0.4 0.4 0.45 1
  tangents=1
  layer0
  {
    map=leather.tga
  }
  layer1
  {
    compression=0
    mode=linear
    map=interior_bump.tga
  }
}
shader_vehiclelights128~vf_standard
{
  layer0
  {
    map=vehiclelights128.tga
  }
}
shader_tireA0~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_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_wheel0~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=wheel0.tga
  }
  layer1
  {
    map=$trackenvmap
  }
}
shader_inner~vf_standard
{
  layer0
  {
    map=inner.tga
  }
}
shader_lights1~vf_standard
{
  sort_offset=1
  layer0
    {
       map=lights1.tga
       blendfunc=add
       ;texenv=replace
       emission=100 100 100 1
    }
}
shader_lights2~vf_standard
{
  sort_offset=2
  layer0
    {
       map=lights2.tga
       blendfunc=add
       ;texenv=replace
       emission=20 20 20 1
    }
}
shader_brake~vf_standard
{
  sort_offset=2
  layer0
    {
       map=brake.tga
       blendfunc=add
       ;texenv=replace
       emission=400 400 400 1
    }
}
shader_re~vf_standard
{
  sort_offset=2
  layer0
    {
       map=re.tga
       blendfunc=add
       ;texenv=replace
       emission=400 400 400 1
    }
}