OffsetMapping.material
上传用户:xhbjoy
上传日期:2014-10-07
资源大小:38068k
文件大小:3k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. // Bump map with Parallax offset vertex program, support for this is required 
  2. vertex_program Examples/OffsetMappingVP cg 
  3.    source OffsetMapping.cg 
  4.    entry_point main_vp 
  5.    profiles vs_1_1 arbvp1 
  6. // Bump map with parallax fragment program 
  7. fragment_program Examples/OffsetMappingFP cg
  8.    source OffsetMapping.cg
  9.    entry_point main_fp
  10.    profiles ps_2_0 arbfp1
  11. // Bump map with parallax fragment program 
  12. fragment_program Examples/OffsetMappingPS asm 
  13.    source OffsetMapping_specular.asm 
  14.    // sorry, only for ps_1_4 and above:) 
  15.    syntax ps_1_4 
  16. material Examples/OffsetMapping/Specular 
  17.   // This is the preferred technique which uses both vertex and 
  18.    // fragment programs, supports coloured lights 
  19.    technique 
  20.    { 
  21.       // do the lighting  and bump mapping with parallax pass 
  22.       pass 
  23.       { 
  24.        
  25.          // Vertex program reference 
  26.          vertex_program_ref Examples/OffsetMappingVP 
  27.          { 
  28.             param_named_auto lightPosition light_position_object_space 0 
  29.             param_named_auto eyePosition camera_position_object_space 
  30.             param_named_auto worldViewProj worldviewproj_matrix 
  31.          } 
  32.          // Fragment program 
  33.          fragment_program_ref Examples/OffsetMappingFP
  34.          { 
  35.             param_named_auto lightDiffuse light_diffuse_colour 0 
  36.             param_named_auto lightSpecular light_specular_colour 0 
  37.             // Parallax Height scale and bias 
  38.             param_named scaleBias float4 0.04 -0.02 1 0 
  39.          } 
  40.           
  41.          // Normal + height(alpha) map 
  42.          texture_unit 
  43.          { 
  44.             texture rockwall_NH.tga
  45.             tex_coord_set 0 
  46.          } 
  47.          // Base diffuse texture map 
  48.          texture_unit 
  49.          { 
  50.             texture rockwall.tga
  51.             tex_coord_set 1 
  52.          } 
  53.       } 
  54.    } 
  55.    // This is the preferred technique which uses both vertex and 
  56.    // fragment programs, supports coloured lights 
  57.    technique 
  58.    { 
  59.       // do the lighting  and bump mapping with parallax pass 
  60.       pass 
  61.       { 
  62.        
  63.          // Vertex program reference 
  64.          vertex_program_ref Examples/OffsetMappingVP 
  65.          { 
  66.             param_named_auto lightPosition light_position_object_space 0 
  67.             param_named_auto eyePosition camera_position_object_space 
  68.             param_named_auto worldViewProj worldviewproj_matrix 
  69.          } 
  70.          // Fragment program 
  71.          fragment_program_ref Examples/OffsetMappingPS 
  72.          { 
  73.             param_indexed_auto 0 light_diffuse_colour 0 
  74.             param_indexed_auto 1 light_specular_colour 0 
  75.             // Parallax Height scale and bias 
  76.             param_indexed 2 float4 0.04 -0.02 1 0 
  77.          } 
  78.           
  79.          // Normal + height(alpha) map 
  80.          texture_unit 
  81.          { 
  82.             texture rockwall_NH.tga
  83.             tex_coord_set 0 
  84.          } 
  85.          // Base diffuse texture map 
  86.          texture_unit 
  87.          { 
  88.             texture rockwall.tga
  89.             tex_coord_set 1 
  90.          } 
  91.       } 
  92.    } 
  93.    
  94.    // Simple no-shader fallback
  95.    technique 
  96.    { 
  97.       pass 
  98.       { 
  99.          // Base diffuse texture map 
  100.          texture_unit 
  101.          { 
  102.             texture rockwall.tga
  103.          } 
  104.   }
  105.    }
  106. }