vertex_program ShadowCasterVP cg { source v-shadow-caster.cg entry_point main profiles arbvp1 default_params { param_named_auto p_ModelViewProjection worldviewproj_matrix param_named_auto p_AmbientLight ambient_light_colour } } fragment_program ShadowCasterFP cg { source f-shadow-caster.cg entry_point main profiles arbfp1 // Store normalized (usefull to avoid overflowin) or non-normalized depth ? //compile_arguments -DSTORE_NORMALIZED_DEPTH default_params { // Only used when storing normalized depth values //param_named_auto p_Near near_clip_distance //param_named_auto p_Far far_clip_distance param_named p_DepthOffset float 0.01 } } material ShadowCaster { technique default { // Z-write only pass pass Z-write { vertex_program_ref ShadowCasterVP { } fragment_program_ref ShadowCasterFP { } } } } material ShadowReceiver { technique default { pass lighting { texture_unit ShadowMap { tex_address_mode clamp filtering none } } } }