home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 January / Gamestar_80_2006-01_dvd.iso / Utility / 5-11_xp-2k_dd_ccc_wdm_enu_27345.exe / Data1.cab / _EB8FC0FB016E445AB9D17EB5ACDA2491 < prev    next >
Text File  |  2004-01-22  |  2KB  |  76 lines

  1. !!ARBvp1.0
  2. # road vertex shader
  3. PARAM WORLD_VIEW_PROJECTION[4] = { program.env[0..3] };
  4. PARAM WORLD_VIEW[4] = { program.env[4..7] };
  5. PARAM WORLD[4] = { program.env[8..11] };
  6.  
  7. PARAM SUN_DIRECTION = program.env[12];            #(.w = intensity)        
  8. PARAM SUN_ANGLE = program.env[14];
  9. PARAM SUN_COLOR = program.env[15];
  10. PARAM TERRAIN_REFLECTANCE = program.env[13];
  11.  
  12. PARAM BETA_1 = program.env[30];
  13. PARAM BETA_2 = program.env[29];
  14. PARAM BETA_DASH_1 = program.env[27];
  15. PARAM BETA_DASH_2 = program.env[26];
  16. PARAM BETA_1_PLUS_2 = program.env[24];
  17. PARAM ONE_OVER_BETA_1_PLUS_2 = program.env[23];
  18.  
  19. PARAM HG = program.env[28];        # = 1-g^2, 1+g, 2g, 0
  20. PARAM CONSTANTS = program.env[31];        # = 1.0, log_2 e, 0.5, 0
  21. PARAM TERM_MULTIPLIERS = program.env[25];        # = frac_ext, frac_ins.
  22.  
  23. PARAM ZERO = program.env[20];
  24. PARAM ONE = program.env[21];
  25. PARAM SHADOWSHARPNESS = program.env[32];
  26. PARAM AMBIENT = program.env[33];      # Ambient term to add to the rendering
  27. PARAM INSCATTERINGMULTIPLIER = program.env[34];      # Term to attenuate the inscattering
  28.  
  29. PARAM BASE_TEX_PROJECTION = program.env[16];
  30. PARAM DETAIL_TEX_PROJECTION = program.env[17];
  31. PARAM CLOUD_TEX_PROJECTION_0 = program.env[18];
  32. PARAM CLOUD_TEX_PROJECTION_1 = program.env[19];
  33.  
  34. PARAM EYE_POSITION = program.env[22];
  35.  
  36. PARAM SPECULAR_POWER = program.env[35];
  37. PARAM DIFFUSE_COLOUR = program.env[36];
  38. PARAM SPECULAR_COLOUR = program.env[37];
  39.  
  40. PARAM CARCOLOR0 = program.env[38];
  41. PARAM CARCOLOR1 = program.env[39];
  42. PARAM CARCOLOR2 = program.env[40];
  43.  
  44. ATTRIB iPos = vertex.position;
  45. ATTRIB iNormal = vertex.normal;
  46. ATTRIB iTexCoord0 = vertex.texcoord[0];
  47. ATTRIB iTexCoord1 = vertex.texcoord[1];
  48. ATTRIB iTexCoord2 = vertex.texcoord[2];
  49.  
  50. OUTPUT oPos = result.position;
  51. OUTPUT oD0 = result.color.primary;
  52. OUTPUT oD1 = result.color.secondary;
  53. OUTPUT oT0 = result.texcoord[0];
  54. OUTPUT oT1 = result.texcoord[1];
  55. OUTPUT oT2 = result.texcoord[2];
  56. OUTPUT oT3 = result.texcoord[3];
  57.  
  58. TEMP r0;
  59.  
  60. # Transformation.
  61. DP4     oPos.x, iPos, WORLD_VIEW_PROJECTION[0];
  62. DP4     oPos.y, iPos, WORLD_VIEW_PROJECTION[1];
  63. DP4     oPos.z, iPos, WORLD_VIEW_PROJECTION[2];
  64. DP4     oPos.w, iPos, WORLD_VIEW_PROJECTION[3];
  65.  
  66. # Texture Coordinates.
  67. # Cloud texture
  68. MAD     oT0.xy, iPos.xzzz, CLOUD_TEX_PROJECTION_0.xyyy, CLOUD_TEX_PROJECTION_0.zwww;
  69.  
  70. # Use the angle of the sun and the distance from the eye to
  71. # modulate the texture colour
  72. SUB        r0, ONE.xyzw, iNormal.x;
  73. MUL     oD0, r0, SUN_ANGLE.x;
  74.  
  75. END
  76.