; Vertex/fragment shader templates for Duesenberg SJ
vf_reflect
{
 vertex_shader
  {
;   file=dyn_standard_reflect_v.cg
   file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
;   file=dyn_standard_reflect_f.cg
    file=dyn_standard_reflect_f.cg
  }
  fresnel
  {
    bias=0.05
    scale=0.95
    power=3.0
  }
}
vf_chrome~vf_reflect
{  
  fresnel
  {
    bias=0.8
    scale=0.2
    power=2.0
  }
}
vf_standard
{
  vertex_shader
  {
    file=dyn_standard_v.cg
;    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_f.cg
  }
}
vf_glass
{
  vertex_shader
  {
     file=dyn_standard_reflect_window_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_window_f.cg
  }
}
vf_standard_transparent
{
  ; Shader for transparent (blended) materials
  vertex_shader 
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_transparent_f.cg
  }
}
; =============================================================================
; here there be shaders ...
; =============================================================================
; ~vf_reflect   ~vf_standard   ~vf_glass   ~vf_standard_transparent
;
shader_body_b~vf_reflect
{
    cull=none
   cast_shadow=1
    sort_offset=51
    compression=0
    shininess=400   ;80   ;;20   ;5   ;80   ; adjust size of specular highlight
    specular=0 0 0   ;0.5 0.5 0.5   ; color of specular
    reflect=0.8   ;0.5   ;amount of reflectivity
;    tangents=1  ; was in Lambo?
    ambient=0.8 0.8 0.8
  layer0
  {
    map=body_b.tga
;    map=body_r.tga
  }
  layer1
  {
    map=gradient.tga
    texgen_s=sphere_map
    texgen_t=sphere_map
  }
  layer2
  {
    map=$trackenvmap
    mode=linear
    texgen_s=reflection_map
    texgen_t=reflection_map
    texgen_r=reflection_map
  }
} 
shader_chrome~vf_chrome
{
  cast_shadow=1
  reflect=0.3   ;0.9
  shininess=15
  specular=0.2 0.2 0.2
  layer0
  {
    map=chrome.tga 
    ; chrome1.tga
  }
  layer1
  {
    map=$trackenvmap
  }
}
shader_fahrer~vf_standard
{
  cast_shadow=1
	layer0
	{    
         map=fahrer.tga
 	}
}
shader_glas~vf_glass
{
  cast_shadow=1
  sort_offset=3
  ambient=0.0 0 0.1 1   ; minus values give deeper color - sequence rgb
  reflect=5.0   ;0.7   ;0.8
  layer0
    {
      map=glas.tga
      blendfunc=blend
      depthwrite=always
    }
  layer1
    {
      map=$trackenvmap
      mode=linear
;      blendfunc=blend
      depthwrite=always
;      blendfunc=one one_minus_src_alpha
    }
}
shader_innen~vf_standard
{
  cast_shadow=1
  layer0
  {
    map=innen.tga
  }
}
;shader_mirror with mirror being the name of the mirror.tga
shader_mirror~vf_standard
{
  cast_shadow=1
  diffuse=0.1 0.1 0.1
  layer0
  {
    map=$mirror
  }
}
shader_rad~vf_standard
{
  cast_shadow=1
  layer0
  {
    map=rad.tga
  }
}
shader_steuer~vf_standard
{
  cast_shadow=1
  layer0
  {
    map=steuer.tga
  }
}
shader_schatten~vf_standard
{
  cast_shadow=1
  layer0
  {
    map=schatten.tga
  }
}
shader_bremse~vf_standard
{
  cast_shadow=1
  layer0 
  {    
    map=bremse.tga
    emission= 15 15 15 1
  }
}
shader_hlite~vf_standard
{
  cast_shadow=0
  layer0 
  {    
    map=hlite.tga
    emission= 150 150 150 1
  }
}
shader_lites_on~vf_standard
{
  cast_shadow=0
  layer0 
  {    
    map=lites_on.tga
    emission= 7 7 7 1
  }
}