vertex_program GTP/MultiBounce/MultiBounce_VS hlsl { source GTPMultipleReflection.hlsl entry_point SpecularReflectionVS target vs_3_0 } //fragment_program GTP/MultiBounce/SingleReflection_PS hlsl //{ // source GTPMultipleReflection.hlsl // entry_point SingleReflectionPS // target ps_3_0 // flow_control prefer //} fragment_program GTP/MultiBounce/MultipleReflection_PS hlsl { source GTPMultipleReflection.hlsl entry_point MultipleReflectionPS target ps_3_0 flow_control prefer } material GTP/MultiBounce/Refractor { technique { pass { //cull_hardware none IllumTechniques { RenderTechnique ColorCubeMap { resolution 1024 update_interval 1 distance_calc false face_angle_calc false update_all_face true } RenderTechnique DistanceCubeMap { resolution 1024 update_interval 1 distance_calc false face_angle_calc false update_all_face true } RenderTechnique ColorCubeMap { resolution 1024 layer 1 texture_unit_id 2 update_interval 1 distance_calc false face_angle_calc false update_all_face true render_env false render_self true self_material GTP/MultiBounce/NormalDistanceCCW } RenderTechnique ColorCubeMap { resolution 1024 layer 2 texture_unit_id 3 update_interval 1 distance_calc false face_angle_calc false update_all_face true render_env false render_self true self_material GTP/MultiBounce/NormalDistanceCW } } vertex_program_ref GTP/MultiBounce/MultiBounce_VS { param_named_auto WorldViewProj transpose_worldviewproj_matrix param_named_auto World transpose_world_matrix param_named_auto WorldIT inverse_world_matrix param_named_auto eyePos camera_position } fragment_program_ref GTP/MultiBounce/MultipleReflection_PS { param_named refIndex float 0.77 param_named Fp0 float 0.1 } //Cube map of environment texture_unit { //filtering none } //Cube map of environment distances texture_unit { filtering none } //Cube map of reflective object's normals and distances CCW texture_unit { filtering none } //Cube map of reflective object's normals and distances CW texture_unit { filtering none } } } } //fragment_program GTP/MultiBounce/Refraction_PS hlsl //{ // source GTPMultipleReflection.hlsl // entry_point MultipleRefractionPS // target ps_3_0 // flow_control prefer //} material GTP/MultiBounce/Refractor_0 { technique { pass { //cull_hardware none IllumTechniques { RenderTechnique ColorCubeMap { resolution 1024 update_interval 1 distance_calc false face_angle_calc false update_all_face true } RenderTechnique DistanceCubeMap { resolution 1024 update_interval 1 distance_calc false face_angle_calc false update_all_face true } RenderTechnique ColorCubeMap { resolution 1024 layer 1 texture_unit_id 2 update_interval 1 distance_calc false face_angle_calc false update_all_face true render_env false render_self true self_material GTP/MultiBounce/NormalDistanceCCW } RenderTechnique ColorCubeMap { resolution 1024 layer 2 texture_unit_id 3 update_interval 1 distance_calc false face_angle_calc false update_all_face true render_env false render_self true self_material GTP/MultiBounce/NormalDistanceCW } } vertex_program_ref GTP/Basic/Shaded_CPos_VS { param_named_auto WorldViewProj worldviewproj_matrix param_named_auto World world_matrix param_named_auto WorldInv inverse_world_matrix } fragment_program_ref GTP/MultiBounce/Refraction_PS { param_named_auto cameraPos camera_position param_named refIndex float 0.77 param_named sFresnel float 0.04 } //Cube map of environment texture_unit { //filtering none } //Cube map of environment distances texture_unit { filtering none } //Cube map of reflective object's normals and distances CCW texture_unit { filtering none } //Cube map of reflective object's normals and distances CW texture_unit { filtering none } } } }