// Bump map with Parallax offset vertex program, support for this is required vertex_program Examples/OffsetMappingVP cg { source OffsetMapping.cg entry_point main_vp profiles vs_1_1 arbvp1 } // Bump map with parallax fragment program fragment_program Examples/OffsetMappingFP cg { source OffsetMapping.cg entry_point main_fp profiles ps_2_0 arbfp1 } // Bump map with parallax fragment program fragment_program Examples/OffsetMappingPS asm { source OffsetMapping_specular.asm // sorry, only for ps_1_4 and above:) syntax ps_1_4 } material Examples/OffsetMapping/Specular { // This is the preferred technique which uses both vertex and // fragment programs, supports coloured lights technique { // do the lighting and bump mapping with parallax pass // NB we don't do decal texture here because this is repeated per light pass { // Vertex program reference vertex_program_ref Examples/OffsetMappingVP { param_named_auto lightPosition light_position_object_space 0 param_named_auto eyePosition camera_position_object_space param_named_auto worldViewProj worldviewproj_matrix } // Fragment program fragment_program_ref Examples/OffsetMappingFP { param_named_auto lightDiffuse light_diffuse_colour 0 param_named_auto lightSpecular light_specular_colour 0 // Parallax Height scale and bias param_named scaleBias float4 0.04 -0.02 1 0 } // Normal + height(alpha) map texture_unit { texture rockwall_NH.tga tex_coord_set 0 } // Base diffuse texture map texture_unit { texture rockwall.tga tex_coord_set 1 } } } // This is the preferred technique which uses both vertex and // fragment programs, supports coloured lights technique { // do the lighting and bump mapping with parallax pass // NB we don't do decal texture here because this is repeated per light pass { // Vertex program reference vertex_program_ref Examples/OffsetMappingVP { param_named_auto lightPosition light_position_object_space 0 param_named_auto eyePosition camera_position_object_space param_named_auto worldViewProj worldviewproj_matrix } // Fragment program fragment_program_ref Examples/OffsetMappingPS { param_indexed_auto 0 light_diffuse_colour 0 param_indexed_auto 1 light_specular_colour 0 // Parallax Height scale and bias param_indexed 2 float4 0.04 -0.02 1 0 } // Normal + height(alpha) map texture_unit { texture rockwall_NH.tga tex_coord_set 0 } // Base diffuse texture map texture_unit { texture rockwall.tga tex_coord_set 1 } } } // Simple no-shader fallback technique { pass { // Base diffuse texture map texture_unit { texture rockwall.tga } } } }