; 2005 Ferrari F430 by Sam Jigga, based upon MrWhippy's BMW M3 Shader.
;-------------------------------------------------
vf_reflect_bump
{
  ; Texture+bumpmap+reflection map
  vertex_shader
  {
    file=dyn_standard_bump_reflect_v.cg
    ;file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_bump_reflect_f.cg
    ;file=dyn_standard_reflect_f.cg
  }
}
;-------------------------------------------------
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
  }
}
;-------------------------------------------------
vf_glass
{
  vertex_shader
  {
    file=dyn_standard_reflect_window_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_window_f.cg
  }
  fresnel
  {
    bias=0.2
    scale=0.8
    power=3.0
  }
}
;-------------------------------------------------
vf_spoke
{
  vertex_shader
  {
    file=dyn_standard_reflect_v.cg
    ;file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_wheel_f.cg
    ;file=dyn_standard_reflect_f.cg
  }
}
;-------------------------------------------------
vf_standard
{
  vertex_shader
  {
    file=dyn_standard_v.cg
  }
  fragment_shader
  {
    file=standard_f.cg
  }
}
;-------------------------------------------------
vf_bump
{ 
  ; Texture+bumpmap
  vertex_shader
  {
    file=dyn_standard_bump_v.cg
    ;file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_bump_f.cg
    ;file=dyn_standard_reflect_f.cg
  }
}
;-------------------------------------------------
vf_chrome
{  
  vertex_shader
  {
    file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_f.cg
  }
  fresnel
  {
    bias=0.8
    scale=0.2
    power=2.0
  }
}
;-------------------------------------------------
vf_standard_transparent
{
  ; Shader for transparent (blended) materials
  vertex_shader 
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_transparent_f.cg
  }
}

;
; Racer shaders
;
shader_aluminium~vf_reflect_bump
{
tangents=1
sort_offset=0
compression=0
reflect=1.2
diffuse=0.5 0.5 0.5 1
ambient=0.5 0.5 0.5 1
shininess=80;16
specular=0.3 0.3 0.3 1
  layer0
  {
    map=aluminium.tga
  }
 	layer1
	{
 		map=aluminium_b.TGA
     		mode=linear
 	}
  	layer2
  	{
		map=$trackenvmap
  	}
}

shader_metal_painted~vf_reflect_bump
{
	tangents=1
	compression=0
  	reflect=0.9
	diffuse=0.8 0 0 1;0.92
	ambient=0.4 0 0 1;0.78
  	specular=0.6 0 0 1
  	shininess=14
	layer0
	{
		map=metal painted_t1.tga
                
	}
 	layer1
	{
 		map=metal painted_nm.TGA
     		mode=linear
 	}
  	layer2
  	{
		map=$trackenvmap
  	}	
}

shader_metal_painted2~vf_reflect_bump
{
  cull=none
  tangents=1
  sort_offset=0
  compression=0
  diffuse=0.5 0.5 0.5 1
  ambient=0.5 0.5 0.5 1
  specular=0.9 0.9 0.9 1
  shininess=120
  reflect=0.7
  layer0
  {
    map=metal painted2.tga
  }
  layer1
  {
    map=metal painted2_b.tga
	mode=linear
  }
  layer2
  {
    ; Reflection
    map=$trackenvmap
  }
}

shader_leiste~vf_chrome
{
  specular=.1 .1 .1
  reflect=0.6
  shininess=15
cull=none
sort_offset=0
  layer0
  {
    map=grau4.tga
  }
  layer1
  {
    ; Reflection
    map=$trackenvmap
  }
}

shader_stripe_mouding~vf_chrome
{
  cull=none
  sort_offset=0
  compression=0
  diffuse=0.6 0.6 0.6 1
  ambient=0.6 0.6 0.6 1
  specular=1 1 1 1
  shininess=16
  reflect=0.5
  layer0
  {
    map=stripe mouding.tga
  }
  layer1
  {
    ; Reflection
    map=$trackenvmap
  }
}

shader_chrome~vf_chrome
{
cull=none
sort_offset=0
compression=0
  specular=1 1 1
  shininess=15
  reflect=1.0
  layer0
  {
    map=grau4.tga
  }
  layer1
  {
    ; Reflection
    map=$trackenvmap
  }
}

shader_protector~vf_bump
{
	tangents=1
	ambient=0.03 0.03 0.03 1
	diffuse=0.04 0.04 0.04 1
	specular=0.02 0.02 0.02 0
	shininess=8
	;cull=none
	layer0
	{
		map=protector.tga
	}
	layer1
	{
		map=protector_b.tga
    		mode=linear
	}
}

shader_sidewall~vf_standard
{
  ambient=0.5 0.5 0.5
  diffuse=1 1 1
  specular=0.1 0.1 0.1
  shininess=25
	layer0
	{
		map=wheel.tga
	}
}

shader_wheel~vf_reflect
{
cull=none
sort_offset=0
compression=0
  reflect=0.6
shininess=25
  layer0
  {
    map=wheel.tga
    blendfunc=blend
    alpha_to_coverage=1
  }
  layer1
  {
    ; Reflection
    map=$trackenvmap
  }
}

shader_wood~vf_reflect
{
cull=none
sort_offset=0
compression=0
  reflect=0.1
  layer0
  {
    map=wood.tga
  }
  ;layer1
  {
    ; Reflection
    map=$trackenvmap
  }
}

shader_aluminium_dark~vf_reflect
{
cull=none
sort_offset=0
compression=0
  reflect=0.1
  layer0
  {
    map=aluminium dark.tga
  }
  layer1
  {
    ; Reflection
    map=$trackenvmap
  }
}

shader_seat_rear~vf_bump
{
	tangents=1
	ambient=0.5 0.5 0.5 1
	diffuse=0.5 0.5 0.5 1
	specular=0.3 0.3 0.3 0
	shininess=24
	;cull=none
	layer0
	{
		map=seat rear.tga
	}
	layer1
	{
		map=seat rear_b.tga
    		mode=linear
	}
}

shader_black~vf_standard
{
      cull=none
  ambient=0.5 0.5 0.5
  diffuse=1 1 1
  specular=0.1 0.1 0.1
  shininess=35
	layer0
	{
		map=black.tga
	}
}

shader_mci_logo~vf_standard
{
	layer0
	{
		map=mci - logo.tga
	}
}

shader_rech~vf_standard
{
	layer0
	{
		map=rech.tga
		blendfunc=blend
    		alpha_to_coverage=1
	}
}

shader_mirror
{
	layer0
	{
		map=$mirror
	}
}

shader_rust~vf_standard
{
	layer0
	{
		map=rust.tga
	}
}

shader_carplate~vf_standard_transparent
{
	layer0
	{
		map=clear.tga
    		blendfunc=blend
    		alpha_to_coverage=1
	}
}
shader_carpback~vf_reflect_bump
{
tangents=1
sort_offset=0
compression=0
reflect=0.5
diffuse=0.5 0.5 0.5 1
ambient=0.5 0.5 0.5 1
shininess=120;16
specular=0.3 0.3 0.3 0
  layer0
  {
    map=NewYork4.tga
    blendfunc=blend
    alpha_to_coverage=1
  }
 	layer1
	{
 		map=NewYork4_b.TGA
     		mode=linear
 	}
  	layer2
  	{
		map=$trackenvmap
  	}
}
shader_floor~vf_bump
{
	tangents=1
	ambient=0.5 0.5 0.5 1
	diffuse=1 1 1 1
	specular=0.1 0.1 0.1 
	shininess=35
	;cull=none
	layer0
	{
		map=floor.tga
	}
	layer1
	{
		map=floor_b.tga
    		mode=linear
	}
}
;shader_floor~vf_standard
{
  ambient=0.5 0.5 0.5
  diffuse=1 1 1
  specular=0.1 0.1 0.1
  shininess=35
	layer0
	{
		map=floor.tga
	}
}

shader_flor_rub~vf_standard
{
  ambient=0.5 0.5 0.5
  diffuse=1 1 1
  specular=0.1 0.1 0.1
  shininess=35
	layer0
	{
		map=floor.tga
	}
}

shader_electric~vf_standard
{
	layer0
	{
		map=electric.tga
	}
}

shader_engine~vf_standard
{
cull=none
	layer0
	{
		map=engine.tga
	}
}

shader_stall~vf_standard
{
	layer0
	{
		map=stall.tga
	}
}

shader_glass_in~vf_glass
{
	sort_offset=-1
	cull=back
 	layer0
	{
    		map=glass.tga
    		shininess=120
    		specular=0 0 0 1
    		emission=0.13 0.13 0.13 1
    		depthwrite=0
    		blendfunc=blend
    		alpha_to_coverage=1
  	}
}

shader_glass_front~vf_glass
{
	sort_offset=-1
	cull=back
 	layer0
	{
    		map=glass.tga
    		shininess=0
    		specular=0 0 0 1
    		emission=0.13 0.13 0.13 1
    		depthwrite=0
    		blendfunc=blend
    		alpha_to_coverage=1
  	}
  	layer1
  	{
    		map=$trackenvmap
  	}
}

shader_glass_side~vf_glass
{
	sort_offset=-1
	cull=back
 	layer0
	{
    		map=glass_side.tga
    		shininess=0
    		specular=0 0 0 1
    		emission=0.13 0.13 0.13 1
    		depthwrite=0
    		blendfunc=blend
    		alpha_to_coverage=1
  	}
  	layer1
  	{
    		map=$trackenvmap
  	}
}

shader_h_lights
{
  sort_offset=1
  layer0
    {
      map=lights.tga
      blendfunc=add
      texenv=replace
      emission=15 15 15 0.5
    }
}

shader_b_Lights
{
	sort_offset=3
	layer0
	{
	map=b_light.tga
      blendfunc=add
      texenv=replace
      emission=75 75 75 1
	}
}

shader_lights~vf_reflect
{
cull=none
sort_offset=0
compression=0
  reflect=0.4
  layer0
  {
    map=lights.tga
  }
  layer1
  {
    ; Reflection
    map=$trackenvmap
  }
}

shader_r_light
{
  sort_offset=3
  layer0
  {
    map=lights.tga
    blendfunc=add
    depthwrite=0
    texenv=replace
    emission=150 150 150 1
  }
}

shader_shadowmap
{
  layer0
    {
      map=shadowmap.tga
      emission=1 1 1 1
      shininess=0
      specular=0 0 0 1
      texenv=replace
    }
}