Advertisement
cheako

Shader code Example 2.

May 17th, 2012
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.92 KB | None | 0 0
  1. 2587931) glShaderSourceARB(shaderObj = 148, count = 1, string = ["#version 120
  2. uniform vec4 VC[256];
  3. uniform ivec4 VI[32];
  4. uniform vec4 posFixup;
  5. void order_ps_input(in vec4[12]);
  6. ivec4 A0;
  7. vec4 OUT[12];
  8. vec4 R0;
  9. vec4 R1;
  10. vec4 R2;
  11. vec4 R3;
  12. vec4 R4;
  13. vec4 R5;
  14. vec4 R6;
  15. vec4 R7;
  16. attribute vec4 attrib0;
  17. attribute vec4 attrib1;
  18. attribute vec4 attrib2;
  19. attribute vec4 attrib3;
  20. attribute vec4 attrib4;
  21. attribute vec4 attrib5;
  22. attribute vec4 attrib6;
  23. int aL0;
  24. int tmpInt0;
  25. vec4 tmp0;
  26. vec4 tmp1;
  27. void main() {
  28. R0.xyz = ((attrib1.xyz * VC[246].xxx) + VC[246].yyy);
  29. R1.xyz = (fract(attrib5.xyz));
  30. R1.xyz = (-R1.xyz + attrib5.xyz);
  31. R1.xyz = (R1.xyz * VC[246].zzz);
  32. A0.xy = (ivec2(floor(abs(R1.xy) + vec2(0.5)) * sign(R1.xy)));
  33. R2.xyzw = (attrib6.yyyy * VC[A0.y].xyzw);
  34. R3.xyzw = (attrib6.yyyy * VC[A0.y + 1].xyzw);
  35. R4.xyzw = (attrib6.yyyy * VC[A0.y + 2].xyzw);
  36. R2.xyzw = ((VC[A0.x].xyzw * attrib6.xxxx) + R2.xyzw);
  37. R3.xyzw = ((VC[A0.x + 1].xyzw * attrib6.xxxx) + R3.xyzw);
  38. R4.xyzw = ((VC[A0.x + 2].xyzw * attrib6.xxxx) + R4.xyzw);
  39. A0.x = (int(floor(abs(R1.z) + 0.5) * sign(R1.z)));
  40. R1.xyzw = ((VC[A0.x].xyzw * attrib6.zzzz) + R2.xyzw);
  41. R2.xyzw = ((VC[A0.x + 1].xyzw * attrib6.zzzz) + R3.xyzw);
  42. R3.xyzw = ((VC[A0.x + 2].xyzw * attrib6.zzzz) + R4.xyzw);
  43. R4.x = (dot(R1.xyzw, attrib0.xyzw));
  44. R4.y = (dot(R2.xyzw, attrib0.xyzw));
  45. R4.z = (dot(R3.xyzw, attrib0.xyzw));
  46. R1.x = (dot(R1.xyz, R0.xyz));
  47. R1.y = (dot(R2.xyz, R0.xyz));
  48. R1.z = (dot(R3.xyz, R0.xyz));
  49. R4.w = (VC[246].w);
  50. R0.x = (dot(VC[232].xyzw, R4.xyzw));
  51. R0.y = (dot(VC[233].xyzw, R4.xyzw));
  52. R0.z = (dot(VC[234].xyzw, R4.xyzw));
  53. R0.w = (dot(VC[235].xyzw, R4.xyzw));
  54. R2.x = (dot(VC[240].xyzw, R4.xyzw));
  55. R2.y = (dot(VC[241].xyzw, R4.xyzw));
  56. R2.z = (dot(VC[242].xyzw, R4.xyzw));
  57. R3.x = (dot(VC[240].xyz, R1.xyz));
  58. R3.y = (dot(VC[241].xyz, R1.xyz));
  59. R3.z = (dot(VC[242].xyz, R1.xyz));
  60. tmp0.x = dot(R3.xyz, R3.xyz);
  61. R1.xyz = (tmp0.x == 0.0 ? vec3(0.0) : (R3.xyz * inversesqrt(tmp0.x)));
  62. OUT[0].x = (dot(VC[236].xyzw, R4.xyzw));
  63. OUT[0].y = (dot(VC[237].xyzw, R4.xyzw));
  64. R1.w = (dot(VC[238].xyzw, R4.xyzw));
  65. OUT[0].w = (dot(VC[239].xyzw, R4.xyzw));
  66. R3.xyz = ((R2.xyz * -VC[220].www) + VC[220].xyz);
  67. R2.w = (dot(R3.xyz, R3.xyz));
  68. R2.w = (inversesqrt(abs(R2.w)));
  69. R3.w = (1.0 / R2.w);
  70. R4.x = ((VC[221].y * R3.w) + VC[221].x);
  71. R3.w = (R3.w * R3.w);
  72. R3.w = ((R3.w * VC[221].z) + R4.x);
  73. R3.w = (1.0 / R3.w);
  74. R3.xyz = (R2.www * R3.xyz);
  75. R2.w = (dot(R3.xyz, R1.xyz));
  76. R2.w = (max(R2.w, VC[247].x));
  77. R3.xyz = (R2.www * VC[223].xyz);
  78. R3.xyz = (R3.www * R3.xyz);
  79. R4.xyz = (VC[222].xyz);
  80. R4.xyz = ((R4.xyz * R3.www) + VC[244].xyz);
  81. R2.w = (VC[246].w);
  82. R2.w = (R2.w + -VC[220].w);
  83. OUT[4].xyz = (R2.www * R3.xyz);
  84. R5.xyz = (R4.xyz);
  85. R6.xyz = (R3.xyz);
  86. R2.w = (VC[247].x);
  87. for (tmpInt0 = 0; tmpInt0 < VI[0].x; tmpInt0++) {
  88. R3.w = (R2.w * VC[247].y);
  89. A0.x = (int(floor(abs(R3.w) + 0.5) * sign(R3.w)));
  90. R7.xyz = (-R2.xyz + VC[A0.x + 135].xyz);
  91. R3.w = (dot(R7.xyz, R7.xyz));
  92. R3.w = (inversesqrt(abs(R3.w)));
  93. R4.w = (1.0 / R3.w);
  94. R7.xyz = (R3.www * R7.xyz);
  95. R3.w = (-R4.w + VC[A0.x + 136].y);
  96. R3.w = (R3.w * VC[A0.x + 136].x);
  97. R3.w = clamp(R3.w, 0.0, 1.0);
  98. R4.w = (dot(R7.xyz, R1.xyz));
  99. R4.w = (max(R4.w, VC[247].x));
  100. R7.xyz = (R4.www * VC[A0.x + 138].xyz);
  101. R5.xyz = ((VC[A0.x + 137].xyz * R3.www) + R5.xyz);
  102. R6.xyz = ((R7.xyz * R3.www) + R6.xyz);
  103. R2.w = (R2.w + VC[246].w);
  104. }
  105. R2.xyz = (-R2.xyz + VC[215].xyz);
  106. R2.w = (dot(R2.xyz, R2.xyz));
  107. R3.x = (dot(R2.xyz, VC[216].xyz));
  108. R3.x = ((R3.x * -R3.x) + R2.w);
  109. R3.x = (inversesqrt(abs(R3.x)));
  110. R3.x = (1.0 / R3.x);
  111. R2.w = (inversesqrt(abs(R2.w)));
  112. R2.xyz = (R2.www * R2.xyz);
  113. R2.w = (-R3.x + VC[217].y);
  114. R2.w = (R2.w * VC[217].x);
  115. R2.w = clamp(R2.w, 0.0, 1.0);
  116. R1.x = (dot(R2.xyz, R1.xyz));
  117. R1.x = (max(R1.x, VC[247].x));
  118. R1.xyz = (R1.xxx * VC[219].xyz);
  119. R2.xyz = ((VC[218].xyz * R2.www) + R5.xyz);
  120. R1.xyz = ((R1.xyz * R2.www) + R6.xyz);
  121. R1.xyz = (R2.xyz + R1.xyz);
  122. R1.xyz = ((attrib2.xyz * VC[247].zzz) + R1.xyz);
  123. OUT[1].xyz = (R1.xyz * VC[247].www);
  124. OUT[3].xyz = ((attrib2.xyz * VC[247].zzz) + R2.xyz);
  125. R1.xy = ((attrib4.xz * VC[248].xx) + attrib4.yw);
  126. OUT[6].xy = ((R1.xy * VC[248].yy) + VC[248].zz);
  127. R1.xy = ((attrib3.xz * VC[248].xx) + attrib3.yw);
  128. R1.xy = ((R1.xy * VC[249].xx) + VC[249].yy);
  129. R1.z = (VC[246].w);
  130. OUT[5].x = (dot(VC[224].xyw, R1.xyz));
  131. OUT[5].y = (dot(VC[225].xyw, R1.xyz));
  132. OUT[5].z = (dot(VC[226].xyw, R1.xyz));
  133. OUT[5].w = (dot(VC[227].xyw, R1.xyz));
  134. OUT[7].x = (dot(VC[228].xyzw, R0.xyzw));
  135. OUT[7].y = (dot(VC[229].xyzw, R0.xyzw));
  136. OUT[7].z = (dot(VC[230].xyzw, R0.xyzw));
  137. OUT[7].w = (dot(VC[231].xyzw, R0.xyzw));
  138. OUT[8].x = ((R1.w * VC[243].x) + VC[243].y);
  139. OUT[8].x = clamp(OUT[8].x, 0.0, 1.0);
  140. OUT[0].z = (R1.w);
  141. OUT[1].w = (VC[245].w);
  142. OUT[2].xyz = (VC[247].xxx);
  143. OUT[6].z = (VC[247].x);
  144. OUT[6].w = (VC[246].w);
  145. order_ps_input(OUT);
  146. gl_Position.y = gl_Position.y * posFixup.y;
  147. gl_Position.xy += posFixup.zw * gl_Position.ww;
  148. gl_Position.z = gl_Position.z * 2.0 - gl_Position.w;
  149. }
  150. "], length = NULL)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement