vertex_program BottleVS hlsl { source bottle.hlsl entry_point BottleVS target vs_2_0 } fragment_program BottlePS hlsl { source bottle.hlsl entry_point BottlePS target ps_3_0 } fragment_program BottlePhotonMapPS hlsl { source bottle.hlsl entry_point BottlePhotonMapPS target ps_3_0 } material bottle { transparency_casts_shadows on technique { pass { IllumTechniques { RenderTechnique ColorCubeMap { update_interval 1 distance_calc false face_angle_calc false update_all_face false } } vertex_program_ref BottleVS { param_named_auto worldViewProj worldviewproj_matrix param_named_auto world world_matrix param_named_auto worldI inverse_world_matrix } fragment_program_ref BottlePS { param_named_auto cameraPos camera_position param_named_auto lightPosition light_position 0 param_named color float3 0.65 0.4 0.2 } //Cube map for reflections and refractions texture_unit { cubic_texture cubemap.jpg combinedUVW tex_address_mode clamp colour_op replace } } } } material bottle2 { transparency_casts_shadows on technique { pass { IllumTechniques { RenderTechnique ColorCubeMap { update_interval 1 distance_calc false face_angle_calc false update_all_face false } } vertex_program_ref BottleVS { param_named_auto worldViewProj worldviewproj_matrix param_named_auto world world_matrix param_named_auto worldI inverse_world_matrix } fragment_program_ref BottlePS { param_named_auto cameraPos camera_position param_named_auto lightPosition light_position 0 param_named color float3 0.2 0.65 0.2 } //Cube map for reflections and refractions texture_unit { cubic_texture cubemap.jpg combinedUVW tex_address_mode clamp colour_op replace } } } }