
; Vertex/fragment shader templates
;
{
  ; Specular control using the diffuse's alpha channel
  cast_shadow=1
  vertex_shader
  {
    file=dyn_standard_bump_speca_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_bump_speca_f.cg
  }
}
vf_reflect
{
  ; Just reflection
cast_shadow=1
  vertex_shader
  {
    file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_f.cg
  }
}
vf_reflect_bump
{
  ; Texture+bumpmap+reflection map
cast_shadow=1
  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
{
cast_shadow=1
  vertex_shader
  {
    file=dyn_standard_reflect_window_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_window_f.cg
  }
}
vf_standard
{
cast_shadow=1
  vertex_shader
  {
    file=dyn_standard_v.cg
  }
  fragment_shader
  {
    file=standard_f.cg
  }
}
vf_bump
{
cast_shadow=1
  vertex_shader
  {
    file=dyn_standard_bump_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_bump_f.cg
  }
}
vf_speckle
{
cast_shadow=1
  vertex_shader
  {
    file=speckle_v.cg
  }
  fragment_shader
  {
    file=speckle_f.cg
  }
}
shader_body~vf_reflect
{
	cull=none
	compression=0
	reflect=0.3
	shininess=15
	diffuse=0.5 0.5 0.5 1
	ambient=1 1 1 1
	specular=0 0 0 1
	fresnel
	{
		bias=0.05
		power=2.0
		scale=1.0
	}
	layer0
	{
		map=body.tga
	}
	layer1
	{
		map=$trackenvmap
	}
}
shader_detail_glass~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=0.1
diffuse=1.0 1.0 1.0
ambient=1.0 1.0 1.0
;cull=none
layer0
{
  map=detail_glass.tga
  shininess=20
  blendfunc=blend
  specular=0.0 0.0 0.0 1.0 
  depthwrite=0
 }
 layer1
  {
   map=$trackenvmap
   depthwrite=0
   }
}
shader_window~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=0.1
diffuse=1.0 1.0 1.0
ambient=1.0 1.0 1.0
;cull=none
layer0
{
  map=window.tga
  shininess=20
  blendfunc=blend
  specular=0.0 0.0 0.0 1.0 
  depthwrite=0
 }
 layer1
  {
   map=$trackenvmap
   depthwrite=0
   }
}
shader_defrost_lines~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=0.1
diffuse=1.0 1.0 1.0
ambient=1.0 1.0 1.0
;cull=none
layer0
{
  map=defrost_lines.tga
  shininess=20
  blendfunc=blend
  specular=0.0 0.0 0.0 1.0 
  depthwrite=0
 }
 layer1
  {
   map=$trackenvmap
   depthwrite=0
   }
}
shader_glass~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=0.1
diffuse=1.0 1.0 1.0
ambient=1.0 1.0 1.0
;cull=none
layer0
{
  map=glass.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_chrome_2~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=0.4 ;max reflect, for chrome - bodge with modded dyn_reflect shader
sort_offset=1
compression=0
  layer0
  {
    map=chrome_2.tga
  }
   layer1
  {
    ; Reflection cubemap
    map=$trackenvmap
  }
}
shader_black~vf_reflect
{
  layer0
  {
    map=black.tga
    blendfunc=blend
  }
}
shader_bump_plastic~vf_bump
{
  shininess=128
  cast_shadow=1
  specular=0.03 0.03 0.03 1
  tangents=1
  layer0
  {
    map=bump_plastic.tga
  }
  layer1
  {
    compression=0
    mode=linear
    map=bump_plastic_bump.tga
  }
}
shader_interior_loda~vf_standard
{
  layer0
  {
    map=interior_loda.tga
    blendfunc=blend
  }
}
shader_plastic~vf_standard
{
  shininess=6
  specular=0.02 0.02 0.02 1
  tangents=1
  layer0
  {
    map=interior_lod0.tga
  }
}
shader_leather~vf_standard
{
  shininess=6
  specular=0.02 0.02 0.02 1
  tangents=1
  layer0
  {
    map=leather.tga
  }
}
shader_emblem~vf_standard
{
  shininess=6
  specular=0.02 0.02 0.02 1
  tangents=1
  layer0
  {
    map=nodamage_lod0.bmp
  }
}
shader_metal~vf_standard
{
  shininess=6
  specular=0.02 0.02 0.02 1
  tangents=1
  layer0
  {
    map=metal.tga
  }
}
shader_lights~vf_standard
{
  shininess=6
  specular=0.02 0.02 0.02 1
  tangents=1
  layer0
  {
    map=lights_lod0.bmp
  }
}
shader_bumper_frame~vf_standard
{
  shininess=6
  specular=0.02 0.02 0.02 1
  tangents=1
  layer0
  {
    map=bumper_frame.bmp
  }
}
shader_undercarriage~vf_standard
{
layer0
 {
  map=undercarriage.bmp
 }
}
shader_mirror~vf_standard
{
  diffuse=1 1 1 1
  layer0
    {
       map=$mirror
    }
}
shader_mottled~vf_standard
{
layer0
 {
  map=mottled.tga
 }
}
shader_black_glass~vf_standard
{
layer0
 {
  map=black_glass.tga
 }
}
shader_digital_gauge~vf_reflect
{
reflect=0.01
shininess=20
emission=20 20 20 1
sort_offset=1
layer0
 {
  map=digital_gauge.tga
 }
}
shader_wheel_rim~vf_standard
{
  shininess=6
  cast_shadow=0
  specular=0.02 0.02 0.02 1
  tangents=1
  layer0
  {
    map=wheel_rim.tga
  }
}
shader_misc~vf_standard
{
  shininess=6
  specular=0.02 0.02 0.02 1
  tangents=1
  layer0
  {
    map=misc.tga
  }
}
shader_tire~vf_bump
{
  shininess=128
  cast_shadow=1
  specular=0.03 0.03 0.03 1
  tangents=1
  layer0
  {
    map=tirea0.tga
  }
  layer1
  {
    compression=0
    mode=linear
    map=tiren.tga
  }
}
shader_wheel~vf_standard
{
  shininess=6
  specular=0.02 0.02 0.02 1
  tangents=1
  layer0
  {
    map=wheel.tga
  }
}
shader_opona~vf_standard
{
  shininess=6
  specular=0.02 0.02 0.02 1
  tangents=1
  layer0
  {
    map=opona.tga
  }
}
shader_michelin~vf_standard
{
  shininess=6
  specular=0.02 0.02 0.02 1
  tangents=1
  layer0
  {
    map=michelin.tga
  }
}
shader_reflector~vf_standard
{
layer0
 {
  map=reflector.tga
 }
}
shader_textured_reflector~vf_standard
{
layer0
 {
  map=textured_reflector.tga
 }
}
shader_ramka~vf_standard
{
layer0
 {
  map=ramka.tga
 }
}
shader_rej~vf_standard
{
layer0
 {
  map=rej.tga
  blendfunc=blend
 }
}
shader_lightson~vf_standard
{
emission=100 100 100 1
sort_offset=1
layer0
 {
  map=lightson.tga
 }
}
shader_brakes~vf_standard
{
emission=175 175 175 1
sort_offset=1
layer0
 {
  map=lightson.tga
 }
}
shader_rev~vf_standard
{
emission=75 75 75 1
sort_offset=1
layer0
 {
  map=lightson.tga
 }
}
shader_lightsin~vf_standard
{
emission=45 45 45 1
layer0
 {
  map=lightsin.tga
  blendfunc=blend
 }
}
shader_signal~vf_standard
{
emission=15 15 15 1
layer0
 {
  map=signal.tga
  blendfunc=add
 }
}
shader_halogeny~vf_standard
{
emission=55 55 55 1
layer0
 {
  map=lightson.tga
  blendfunc=add
 }
}
shader_dlugie~vf_standard
{
emission=175 175 175 1
layer0
 {
  map=lightson.tga
  blendfunc=add
 }
}