; car shaders
vf_speca
{
  ; Specular control using the diffuse's alpha channel
  vertex_shader
  {
    file=dyn_standard_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_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
  }
}
vf_standard_transparent
{
  ; Shader for transparent (blended) materials
  vertex_shader 
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_transparent_f.cg
  }
}
; ----------------------------------
; Racer shaders

shader_FERRARI_LIVERY~vf_reflect
{
;  cull=none
  compression=0
;  reflect=0.3
  specular=0.1 0.1 0.1   ;0.5 0.5 0.5
  shininess=5   ;50
  ; Need tangents passed while rendering
  tangents=1
  layer0
  {
    map=FERRARI_LIVERY.tga
  }
  layer1
  {
    map=gradient.tga
    texgen_s=sphere_map
    texgen_t=sphere_map
  }
  layer2
  {
    map=$trackenvmap
    texgen_s=reflection_map
    texgen_t=reflection_map
    texgen_r=reflection_map
    mode=linear
  }
}
; ------------------------------------
shader_FERRARI_DETAILS_1~vf_reflect
{
;  cull=none
  compression=0
;  reflect=0.3
  specular=0.1 0.1 0.1   ;0.5 0.5 0.5
  shininess=5   ;50
  ; Need tangents passed while rendering
  tangents=1

  layer0
  {
    map=FERRARI_DETAILS_1.tga
  }
  layer1
  {
    map=gradient.tga
    texgen_s=sphere_map
    texgen_t=sphere_map
  }
  layer2
  {
    map=$trackenvmap
    texgen_s=reflection_map
    texgen_t=reflection_map
    texgen_r=reflection_map
    mode=linear
  }
}
; ------------------------------------
shader_FERRARI_DETAILS_2~vf_reflect
{
;  cull=none
  compression=0
;  reflect=0.3
  specular=0.1 0.1 0.1   ;0.5 0.5 0.5
  shininess=5   ;50
  ; Need tangents passed while rendering
  tangents=1
  layer0
  {
    map=FERRARI_DETAILS_2.tga
  }
  layer1
  {
    map=gradient.tga
    texgen_s=sphere_map
    texgen_t=sphere_map
  }
  layer2
  {
    map=$trackenvmap
    texgen_s=reflection_map
    texgen_t=reflection_map
    texgen_r=reflection_map
    mode=linear
  }
}
; ----------------------------------
shader_OZGREY~vf_reflect
{
;  cull=none
  compression=0
;  reflect=0.3
  specular=0.1 0.1 0.1   ;0.5 0.5 0.5
  shininess=5   ;50
  ; Need tangents passed while rendering
  tangents=1
  layer0
  {
    map=OZGREY.tga
  }
  layer1
  {
    map=gradient.tga
    texgen_s=sphere_map
    texgen_t=sphere_map
  }
  layer2
  {
    map=$trackenvmap
    texgen_s=reflection_map
    texgen_t=reflection_map
    texgen_r=reflection_map
    mode=linear
  }
}
; ----------------------------------
shader_FERHELM~vf_reflect
{
;  cull=none
   compression=0
;  reflect=0.3
  specular=0.1 0.1 0.1   ;0.5 0.5 0.5
  shininess=5   ;50
  ; Need tangents passed while rendering
  tangents=1
 layer0
  {
    map=FERHELM.tga
  }
  layer1
  {
    map=gradient.tga
    texgen_s=sphere_map
    texgen_t=sphere_map
  }
  layer2
  {
    map=$trackenvmap
    texgen_s=reflection_map
    texgen_t=reflection_map
    texgen_r=reflection_map
    mode=linear
  }
}
; ----------------------------------
shader_FERWHL~vf_standard
{
	layer0
	{
		map=FERWHL.tga
		shininess=50   ;128
;		emission=0.5 0.5 0.5 1
	}
}
shader_PADDLE~vf_standard
{
	cull=none
	layer0
	{
		map=PADDLE.tga
		blendfunc=blend
		wrap_s=clamp_to_edge
		wrap_t=clamp_to_edge
	}
}
shader_LEDs_back~vf_standard
{
	layer0
	{
		map=FERLED.tga
	}
}
shader_LEDs~vf_standard
{
	layer0
	{
		map=FERGLOW01.tga
		emission=1 1 1 1
	}
}
shader_LCD~vf_standard
{
	layer0
	{
		map=LCD.tga
		shininess=128
	}
}
shader_CLEARLED~vf_standard
{
	layer0
	{
		map=CLEARLED.tga
	}
}
shader_CLEARGLOW01~vf_standard
{
	layer0
	{
		map=CLEARGLOW01.tga
		emission=1 1 1 1
	}
}
shader_READOUT~vf_standard
{
	layer0
	{
		map=READOUT.tga
		shininess=128
	}
}
shader_GENERIC_F1~vf_standard
{
	layer0
	{
		map=GENERIC_F1.tga
	}
}
shader_FERRARI_BODY~vf_standard
{
	layer0
	{
		map=FERRARI_BODY.tga
	}
}
;shader_mirror with mirror being the name of the mirror.tga
shader_MIRROR~vf_standard
{
  diffuse=0.1 0.1 0.1
  layer0
  {
    map=$mirror
;    shininess=50
;    specular=0.4 0.4 0.4
;    ambient=0.3 0.3 0.3
;    diffuse=0.5 0.5 0.5 
;    emission=0.5 0.5 0.5 1
;    alphafunc=greater 0
;    map=MIRROR.tga
  }
}
shader_CARBFBM~vf_standard
{
	layer0
	{
		map=CARBFBM.tga
	}
}
shader_CARBFBD~vf_standard
{
	layer0
	{
		map=CARBFBD.tga
	}
}
shader_COCKWIND~vf_reflect_window
{
;	cull=none
      reflect=1.0   ;4.0
	layer0
	{
		map=COCKWIND.tga
		blendfunc=blend
		shininess=20    ;128
;		depthwrite=0
	}
}
shader_COCKPIT~vf_standard
{
	layer0
	{
		shininess=10
		map=COCKPIT.tga
	}
}
shader_BRIDGEGREY~vf_standard
{
	layer0
	{
		shininess=128
		specular=0.2 0.2 0.2 1
		map=BRIDGEGREY.tga
	}
}
shader_TREAD~vf_standard
{
	layer0
	{
		shininess=128
		specular=0.2 0.2 0.2 1
		map=TREAD.tga
	}
}
shader_RAINGLOW01~vf_standard
{
	cull=none
	layer0
	{
		map=RAINGLOW01.tga
		blendfunc=blend
		emission=1 1 1 1
		depthwrite=0
	}
}
