fog_fail.shader
上传用户:qccn516
上传日期:2013-05-02
资源大小:3382k
文件大小:1k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. /* fog fail shader
  2.  *
  3.  * written by Alexander Zaprjagaev
  4.  * frustum@frustum.org
  5.  * http://frustum.org
  6.  */
  7. <matrix0> transform
  8. <vertex_local0> viewport
  9. <vertex_local1> fog_color
  10. /*
  11.  */
  12. <vertex>
  13. !!ARBvp1.0
  14. ATTRIB xyz = vertex.attrib[0];
  15. PARAM mvp[4] = { state.matrix.mvp };
  16. PARAM transform[4] = { state.matrix.program[0] };
  17. PARAM viewport = program.local[0];
  18. PARAM fog_color = program.local[1];
  19. DP4 result.position.x, mvp[0], xyz;
  20. DP4 result.position.y, mvp[1], xyz;
  21. DP4 result.position.z, mvp[2], xyz;
  22. DP4 result.position.w, mvp[3], xyz;
  23. RCP result.texcoord[0].x, viewport.z;
  24. RCP result.texcoord[0].y, viewport.w;
  25. MOV result.texcoord[1].x, fog_color.w;
  26. MUL result.texcoord[1].y, fog_color.w, 256.0;
  27. MOV result.texcoord[1].z, 0.0;
  28. MOV result.color, fog_color;
  29. END
  30. /*
  31.  */
  32. <fragment>
  33. !!ARBfp1.0
  34. TEMP dist;
  35. MUL dist, fragment.position, fragment.texcoord[0];
  36. TEX dist, dist, texture[0], 2D;
  37. DP3 dist.w, dist, fragment.texcoord[1];
  38. EX2 result.color.w, -dist.w;
  39. MOV result.color.xyz, fragment.color;
  40. END