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

游戏引擎

开发平台:

Visual C++

  1. /* Engine_v0.2 shader
  2.  *
  3.  * written by Alexander Zaprjagaev
  4.  * frustum@frustum.org
  5.  * http://frustum.org
  6.  */
  7. #ifdef VERTEX
  8. <vertex_local0> parameter0
  9. <vertex_local1> time
  10. <vertex>
  11. !!ARBvp1.0
  12. ATTRIB xyz = vertex.attrib[0];
  13. ATTRIB st = vertex.attrib[4];
  14. PARAM mvp[4] = { state.matrix.mvp };
  15. PARAM param = program.local[0];
  16. PARAM time = program.local[1];
  17. PARAM sin = program.local[2];
  18. PARAM cos = program.local[3];
  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. SUB result.texcoord[0].x, 1, st.x;
  24. MAD result.texcoord[0].y, time.x, 0.05, st.y;
  25. MOV result.color, param;
  26. END
  27. <fragment>
  28. !!ARBtec1.0
  29. modulate texture primary
  30. END
  31. #else
  32. <vertex_local0> parameter0
  33. <vertex_local1> time
  34. <vertex_local2> sin
  35. <vertex_local3> cos
  36. <vertex>
  37. !!ARBvp1.0
  38. ATTRIB xyz = vertex.attrib[0];
  39. ATTRIB st = vertex.attrib[4];
  40. PARAM mvp[4] = { state.matrix.mvp };
  41. PARAM param = program.local[0];
  42. PARAM time = program.local[1];
  43. PARAM sin = program.local[2];
  44. PARAM cos = program.local[3];
  45. DP4 result.position.x, mvp[0], xyz;
  46. DP4 result.position.y, mvp[1], xyz;
  47. DP4 result.position.z, mvp[2], xyz;
  48. DP4 result.position.w, mvp[3], xyz;
  49. SUB result.texcoord[0].x, 1, st.x;
  50. MAD result.texcoord[0].y, time.x, 0.05, st.y;
  51. TEMP temp;
  52. MUL temp, st, { 1, 5, 0, 0 };
  53. TEMP texcoord;
  54. ADD texcoord.x, temp.x, sin.z;
  55. ADD texcoord.y, temp.y, cos.z;
  56. MAD texcoord.x, sin.w, 0.3, texcoord.x;
  57. MAD texcoord.y, cos.w, 0.3, texcoord.y;
  58. MUL result.texcoord[1], texcoord, 0.4;
  59. ADD texcoord.x, temp.x, cos.z;
  60. SUB texcoord.y, temp.y, sin.z;
  61. MAD texcoord.x, sin.w, -0.3, texcoord.x;
  62. MAD texcoord.y, cos.w, 0.3, texcoord.y;
  63. MAD result.texcoord[2], texcoord, 0.4, 0.4;
  64. MOV result.color, param;
  65. END
  66. <fragment>
  67. !!ARBfp1.0
  68. TEMP color, temp;
  69. TEX color, fragment.texcoord[1], texture[1], 2D;
  70. TEX temp, fragment.texcoord[2], texture[1], 2D;
  71. ADD color, color, temp;
  72. TEX temp, fragment.texcoord[0], texture[0], 2D;
  73. MUL color, color, temp.x;
  74. TEX color, color, texture[2], 2D;
  75. MUL color, color, temp.y;
  76. ADD color.z, color.z, temp.z;
  77. MUL result.color, color, fragment.color;
  78. END
  79. #endif /* VERTEX */