material GameTools/PhotonMapCaustic { technique { pass { vertex_program_ref GameTools/CubeMap/VertexPrograms/LocalizedVS { param_named_auto worldViewProj worldviewproj_matrix param_named_auto world world_matrix param_named_auto worldIT inverse_transpose_world_matrix } fragment_program_ref GameTools/PhotonMapCausticPS { param_named_auto cameraPos camera_position param_named lastCenter float3 0 0 0 } //distanec cubemap texture_unit { cubic_texture filtering none } } } } material GameTools/Cau { technique { pass { cull_hardware none cull_software none lighting off scene_blend add scene_blend src_alpha one depth_write off point_sprites on vertex_program_ref GameTools/CauVS { param_named_auto worldViewProj worldviewproj_matrix param_named_auto worldView worldview_matrix param_named_auto Proj projection_matrix param_named_auto resolution viewport_width param_named CauSpriteSize float 10.0 } fragment_program_ref GameTools/CauPS { param_named CauSpriteIntens float 0.15 param_named color float3 0.7 0.7 0.5 } texture_unit { vertex_texture true texture flare.png } texture_unit { texture PowerOfPhotonHitTexel.dds } } } } vertex_program GameTools/CauTriVS hlsl { source GameTools_CauCube.hlsl entry_point CauVS target vs_3_0 } fragment_program GameTools/CauTriPS hlsl { source GameTools_CauCube.hlsl entry_point CauPS target ps_2_0 } material GameTools/CauTri { technique { pass { cull_hardware none cull_software none lighting off scene_blend add scene_blend src_alpha one depth_write off vertex_program_ref GameTools/CauTriVS { param_named_auto worldView worldview_matrix param_named_auto Proj projection_matrix param_named_auto resolution viewport_width } fragment_program_ref GameTools/CauTriPS { param_named color float3 0.7 0.7 0.5 } texture_unit { vertex_texture true texture flare.png } } } } material GameTools/CausticGlass { technique { pass { IllumTechniques { RenderTechnique ColorCubeMap { update_interval 0 distance_calc true 3.5 } RenderTechnique DistanceCubeMap { update_interval 0 distance_calc true 3.5 } RenderTechnique CausticCaster { attenuation 0 //caustic_map_material GameTools/CauTri //use_triangles true } } vertex_program_ref GameTools/CubeMap/VertexPrograms/LocalizedVS { param_named_auto worldViewProj worldviewproj_matrix param_named_auto world world_matrix } fragment_program_ref GameTools/CubeMap/FragmentPrograms/LocalizedPS { param_named_auto cameraPos camera_position param_named_auto lightPosition light_position 0 } //Cube map for reflections and refractions texture_unit { cubic_texture cubemap.jpg combinedUVW tex_address_mode clamp colour_op replace } //Cube map of distances texture_unit { cubic_texture cubemap.jpg combinedUVW tex_address_mode clamp colour_op replace } } } }