material SO3/CSM/ShadowCaster { technique { pass { vertex_program_ref SO3/CSM/ShadowCasterVP { } fragment_program_ref SO3/CSM/ShadowCasterFP { } } } } material SO3/CSM/ShadowCaster/Alpha { technique { pass { vertex_program_ref SO3/CSM/ShadowCasterVP { } fragment_program_ref SO3/CSM/ShadowCasterFP/Alpha { } } } } material SO3/CSM/NULL { technique { pass { lighting off depth_check off depth_write off colour_write off vertex_program_ref SO3/CSM/ShadowCasterVP { } fragment_program_ref SO3/CSM/ShadowCasterFP { } } } } material SO3/CSM/ShadowReceiver/basic { technique { pass { separate_scene_blend dest_colour one_minus_src_alpha dest_alpha one_minus_dest_alpha vertex_program_ref SO3/CSM/ShadowReceiverVP { } fragment_program_ref SO3/CSM/ShadowReceiverFP/basic { } texture_unit SO3/shadows/CSM/0 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/1 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/2 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/3 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/4 { texture KernelRotation.png filtering none } } } } material SO3/CSM/ShadowReceiver { technique { pass { separate_scene_blend dest_colour one_minus_src_alpha dest_alpha one_minus_dest_alpha vertex_program_ref SO3/CSM/ShadowReceiverVP { } fragment_program_ref SO3/CSM/ShadowReceiverFP { } texture_unit SO3/shadows/CSM/0 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/1 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/2 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/3 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/4 { texture CsmShadow/KernelRotation.png filtering none } texture_unit Diffuse { } } } } material SO3/CSM/ShadowReceiver2/basic { technique { pass { separate_scene_blend dest_colour one_minus_src_alpha dest_alpha one_minus_dest_alpha vertex_program_ref SO3/CSM/ShadowReceiverVP { } fragment_program_ref SO3/CSM/ShadowReceiver2FP/basic { } texture_unit SO3/shadows/CSM/0 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/1 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/4 { texture CsmShadow/KernelRotation.png filtering none } } } } material SO3/CSM/ShadowReceiver2 { technique { pass { separate_scene_blend dest_colour one_minus_src_alpha dest_alpha one_minus_dest_alpha vertex_program_ref SO3/CSM/ShadowReceiverVP { } fragment_program_ref SO3/CSM/ShadowReceiver2FP { } texture_unit SO3/shadows/CSM/0 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/1 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/4 { texture CsmShadow/KernelRotation.png filtering none } texture_unit Diffuse { } } } } material SO3/CSM/ShadowReceiver3/basic { technique { pass { separate_scene_blend dest_colour one_minus_src_alpha dest_alpha one_minus_dest_alpha vertex_program_ref SO3/CSM/ShadowReceiverVP { } fragment_program_ref SO3/CSM/ShadowReceiver3FP/basic { } texture_unit SO3/shadows/CSM/0 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/1 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/2 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/4 { texture CsmShadow/KernelRotation.png filtering none } } } } material SO3/CSM/ShadowReceiver3 { technique { pass { separate_scene_blend dest_colour one_minus_src_alpha dest_alpha one_minus_dest_alpha vertex_program_ref SO3/CSM/ShadowReceiverVP { } fragment_program_ref SO3/CSM/ShadowReceiver3FP { } texture_unit SO3/shadows/CSM/0 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/1 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/2 { content_type shadow tex_address_mode clamp } texture_unit SO3/shadows/CSM/4 { texture CsmShadow/KernelRotation.png filtering none } texture_unit Diffuse { } } } }