fragment_program GTP/MultiBounce/Reflection_MinMax_PS hlsl { source GTPMultipleReflection_MinMax.hlsl entry_point MultipleReflectionPS target ps_3_0 flow_control prefer } material GTP/MultiBounce/Reflector_MinMax { technique { pass { //cull_hardware none IllumTechniques { RenderTechnique ColorCubeMap { resolution 1024 update_interval 0 distance_calc false face_angle_calc false update_all_face true } RenderTechnique DistanceCubeMap { resolution 1024 update_interval 0 distance_calc false face_angle_calc false update_all_face true get_minmax true min_var_name min max_var_name max } RenderTechnique ColorCubeMap { resolution 1024 layer 1 texture_unit_id 2 update_interval 0 distance_calc false face_angle_calc false update_all_face true render_env false render_self true self_material GTP/MultiBounce/NormalDistanceCCW get_minmax true min_var_name min1 max_var_name max1 } RenderTechnique ColorCubeMap { resolution 1024 layer 2 texture_unit_id 3 update_interval 0 distance_calc false face_angle_calc false update_all_face true render_env false render_self true self_material GTP/MultiBounce/NormalDistanceCW get_minmax true min_var_name min2 max_var_name max2 } } vertex_program_ref GTP/Basic/Shaded_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/Reflection_MinMax_PS { param_named_auto cameraPos camera_position } //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 } } } }