; Shader file automatically generated by CTR (Content To Racer) Plugin

;===========================
; Vertex/Fragment templates
;===========================
vf_standard
{
  ; Most-often used shader for static objects
  vertex_shader 
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_f.cg
  }
  cast_shadow=1
}
;-------------------------------------------------
vf_standard_transparent
{
  ; Shader for transparent (blended) materials
  vertex_shader 
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_transparent_f.cg
  }
  cast_shadow=1
}
;-------------------------------------------------
vf_skinned
{
  ; Most-often used shader for static objects
  vertex_shader 
  {
    file=standard_skinned_v.cg
  }
  fragment_shader
  {
    file=standard_skinned_f.cg
  }
  cast_shadow=1
}
;-------------------------------------------------
vf_animate
{
  ; Animation test (top moves around)
  vertex_shader 
  {
    file=animate_test_v.cg
  }
  fragment_shader
  {
    file=standard_f.cg
  }
  cast_shadow=1
}
;-------------------------------------------------
vf_vertexcolor
{
  ; Carlswood uses vertex coloring a lot in the grass. 
  ; Other tracks may use 'standard_v.cg' and 'standard_f.cg' instead.
  vertex_shader 
  {
    file=standard_vc_v.cg
  }
  fragment_shader
  {
    file=standard_vc_f.cg
  }
  cast_shadow=1
}
;-------------------------------------------------
vf_animate
{
  ; Animation test (top moves around)
  vertex_shader 
  {
    file=animate_test_v.cg
  }
  fragment_shader
  {
    file=standard_f.cg
  }
  cast_shadow=1
}
;-------------------------------------------------
vf_road
{
  ; The road uses specularity but burned through the red channel to get a coarse gloss map.
  ; Add 'mode=linear' for layer1.
  vertex_shader 
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    ; file=standard_detail_f.cg
    ; Burn specularity through alpha
    file=standard_burn_a_f.cg
  }
}
;-------------------------------------------------
vf_sky
{
  vertex_shader
  {
    ;file=sky_daynight_v.cg
    file=sky_v.cg
  }
  fragment_shader
  {
    ;file=sky_daynight_f.cg
    file=sky_f.cg
  }
}
;-------------------------------------------------
vf_bump
{
  vertex_shader
  {
    file=standard_bump_v.cg
  }
  fragment_shader
  {
    file=standard_bump_f.cg
  }
  cast_shadow=1
}
;-------------------------------------------------
vf_tree
{
  ; Tree fake their normals pointing up
  vertex_shader
  {
    file=standard_xtree_v.cg
  }
  fragment_shader
  {
    file=standard_xtree_f.cg
  }
  cast_shadow=1
}
;-------------------------------------------
vf_reflect
{
  ; Just reflection
  vertex_shader
  {
    file=dyn_standard_reflect_v.cg
  }
  fragment_shader
  {
    file=dyn_standard_reflect_f.cg
  }
  cast_shadow=1
}
;-------------------------------------------
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
  }
  cast_shadow=1
}
;-------------------------------------------
vf_mix1w
{
  ; Single texture, world mapped
  vertex_shader 
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_mix1w_f.cg
  }
}
;-------------------------------------------
vf_mix2
{
  ; 2 textures, both world mapped
  vertex_shader 
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_mix2_f.cg
  }
}
;-------------------------------------------
vf_mix2w
{
  ; 2 textures with world mapping for the 2nd texture
  vertex_shader 
  {
    file=standard_v.cg
  }
  fragment_shader
  {
    file=standard_mix2w_f.cg
  }
}
;=================================================
;                  Shaders
;=================================================
shader_NewConcret~vf_standard
{
	layer0
	{
		map=textures/sidewalk.dds
	}
}
;-------------------------------------------
shader_NewCurb~vf_standard
{
	layer0
	{
		map=textures/curb_day.dds
	}
}
;-------------------------------------------
shader_NewFacade_1~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_256px_256px_10.dds
	}
}
;-------------------------------------------
shader_NewFacade_2~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_256px_256px_05.dds
	}
}
;-------------------------------------------
shader_NewFacade_3~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_256px_256px_06.dds
	}
}
;-------------------------------------------
shader_NewFacade_4~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_256px_256px_01.dds
	}
}
;-------------------------------------------
shader_NewFacade_5~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_1024px_1024px_03.dds
	}
}
;-------------------------------------------
shader_NewFacade_6~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_256px_256px_02.dds
	}
}
;-------------------------------------------
shader_NewFacade_7~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_512px_512px_09.dds
	}
}
;-------------------------------------------
shader_NewFacade_8~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_256px_256px_08.dds
	}
}
;-------------------------------------------
shader_NewFacade_9~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_512px_512px_04.dds
	}
}
;-------------------------------------------
shader_NewFacade_10~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_512px_512px_08.dds
	}
}
;-------------------------------------------
shader_NewFacade_11~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_512px_512px_13.dds
	}
}
;-------------------------------------------
shader_NewFacade_12~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_256px_256px_07.dds
	}
}
;-------------------------------------------
shader_NewFacade_13~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_512px_512px_12.dds
	}
}
;-------------------------------------------
shader_NewFacade_14~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_256px_256px_09.dds
	}
}
;-------------------------------------------
shader_NewFacade_15~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_512px_512px_05.dds
	}
}
;-------------------------------------------
shader_NewFacade_16~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_256px_256px_04.dds
	}
}
;-------------------------------------------
shader_NewFacade_17~vf_standard
{
	cull=none
	layer0
	{
		map=textures/simple_facade_512px_512px_14.dds
	}
}
;-------------------------------------------
shader_NewGrass~vf_standard
{
	layer0
	{
		map=textures/alpental_grnd1_med.dds
	}
}
;-------------------------------------------
shader_NewLake~vf_reflect_bump
{
  compression=0
  reflect=0.25
  ambient=.54 .55 .58
  diffuse=.54 .55 .58
  specular=0 .6 .85
  shininess=45
  tangents=1
  fresnel
  {
	bias=0.05
	scale=0.2
	power=2.5
  }
  layer0
  {
    map=textures/water_diffuse_01a.dds
	;scale=0.001
  }
  layer1
  {
    map=textures/water_diffuse_01a_normals.dds
	mode=linear
  }
  layer2
  {
    map=$trackenvmap
  }
}
;-------------------------------------------
shader_Newsky~vf_sky
{
  sky=1
  ; fog=1
  layer0
  {
    map=textures/skydome_01.dds
    depthfunc=always
  }
}
;-------------------------------------------
shader_NewStreet~vf_bump
{
	diffuse=.5 .5 .5
	ambient=.5 .5 .5
	specular=.5 .5 .5
	emission=.5 .5 .5
	shininess=30
	tangents=1
	scale=2
	layer0
	{
		map=textures/road_tiles.dds
	}
	layer1
	{
		map=textures/road_tiles_normals_01.dds
		mode=linear
	}
}
;-------------------------------------------
shader_NewTrees~vf_tree
{
	cull=none
	layer0
	{
		map=textures/tree_02.dds
		alpha_to_coverage=1
		alphafunc=gequal 8
		depthwrite=1
	}
}
;-------------------------------------------
shader_Newterrain~vf_mix2
{
  ; Texture scaling for all mixed textures (layer1 onwards)
  scale=0.075
  layer0
  {
    map=textures/alpental_gravel1_small_dif.dds
	scale=0.001
  }
  layer1
  {
    map=textures/alpental_grnd1_med.dds
	scale=0.001
  }
  layer2
  {
    map=textures/control_4.dds
	scale=0.001
  }
  control
  {
	a=0.5
  }
}
;-------------------------------------------
