vertex_program GTP/Demo/BumpMapped_VS hlsl { source bump.hlsl entry_point BaseVS target vs_2_0 } fragment_program GTP/Demo/BumpMapped_PS hlsl { source bump.hlsl entry_point BumpPS target ps_2_0 } fragment_program GTP/Demo/ParallaxMapped_PS hlsl { source parallax.hlsl entry_point ParallaxSlopeIterationPS target ps_3_0 } material towermaterial { technique maintechnique { pass mainpass { vertex_program_ref GTP/Demo/BumpMapped_VS { param_named_auto WorldViewProj worldviewproj_matrix param_named_auto World world_matrix param_named_auto WorldI inverse_world_matrix param_named_auto wLightPos light_position 0 param_named_auto wCamPos camera_position param_named textureRepeat float 6 } fragment_program_ref GTP/Demo/ParallaxMapped_PS { param_named HEIGHT_SCALE float 0.16 param_named HEIGHT_BIAS float -0.04 param_named textureRepeat float 6 } texture_unit color { texture stone.bmp tex_coord_set 0 colour_op replace } texture_unit detail { texture towerdetailgrey.bmp tex_coord_set 1 colour_op modulate } texture_unit bump { texture stoneNormal.dds tex_coord_set 0 } } } } material wallmaterial : towermaterial { technique maintechnique { pass mainpass { texture_unit detail { texture walldetailgrey.bmp } } } } material towermaterialBump { technique maintechnique { pass mainpass { vertex_program_ref GTP/Demo/BumpMapped_VS { param_named_auto WorldViewProj worldviewproj_matrix param_named_auto World world_matrix param_named_auto WorldI inverse_world_matrix param_named_auto wLightPos light_position 0 param_named_auto wCamPos camera_position param_named textureRepeat float 6 } fragment_program_ref GTP/Demo/BumpMapped_PS { } texture_unit color { texture stone.bmp tex_coord_set 0 colour_op replace } texture_unit detail { texture towerdetail.bmp tex_coord_set 1 colour_op modulate } texture_unit bump { texture stoneNormal.dds tex_coord_set 0 } } } } material pillarmaterial { technique maintechnique { pass mainpass { vertex_program_ref GTP/Demo/BumpMapped_VS { param_named_auto WorldViewProj worldviewproj_matrix param_named_auto World world_matrix param_named_auto WorldI inverse_world_matrix param_named_auto wLightPos light_position 0 param_named_auto wCamPos camera_position param_named textureRepeat float 1 } fragment_program_ref GTP/Demo/BumpMapped_PS { param_named HEIGHT_SCALE float -0.005 param_named HEIGHT_BIAS float 0.00 param_named textureRepeat float 1 } texture_unit color { texture pillarcolor.bmp colour_op modulate } texture_unit detail { texture grounddetail.bmp colour_op modulate } texture_unit bump { texture pillarbump.dds } } } } material groundmaterial : towermaterialBump { technique maintechnique { pass mainpass { IllumTechniques { RenderTechnique DepthShadowReceiver { max_light_count 1 vertex_program_name GTP/Basic/LightVPos_VS fragment_program_name GTP/Basic/SM/Depth_PS set_light_viewproj true set_light_view false set_light_farplane false world_view_proj_param_name WorldViewProj world_param_name World light_viewproj_param_name LightViewProj } } vertex_program_ref GTP/Demo/BumpMapped_VS { param_named_auto WorldViewProj worldviewproj_matrix param_named_auto World world_matrix param_named_auto WorldI inverse_world_matrix param_named_auto wLightPos light_position 0 param_named_auto wCamPos camera_position param_named textureRepeat float 50 } fragment_program_ref GTP/Demo/BumpMapped_PS { param_named HEIGHT_SCALE float 0.16 param_named HEIGHT_BIAS float -0.04 param_named textureRepeat float 50 } texture_unit color { texture ground3.bmp colour_op modulate } texture_unit detail { texture grounddetail.bmp colour_op modulate } texture_unit bump { texture groundbump.dds } } } }