hdrToCubeMap_optimized.frag 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #version 150
  2. out vec4 FragColor;
  3. in vec3 v_localPos;
  4. uniform sampler2D u_equirectangularMap;
  5. void main ()
  6. {
  7. vec3 tmpvar_1;
  8. tmpvar_1 = normalize(v_localPos);
  9. vec2 uv_2;
  10. float tmpvar_3;
  11. float tmpvar_4;
  12. tmpvar_4 = (min (abs(
  13. (tmpvar_1.z / tmpvar_1.x)
  14. ), 1.0) / max (abs(
  15. (tmpvar_1.z / tmpvar_1.x)
  16. ), 1.0));
  17. float tmpvar_5;
  18. tmpvar_5 = (tmpvar_4 * tmpvar_4);
  19. tmpvar_5 = (((
  20. ((((
  21. ((((-0.01213232 * tmpvar_5) + 0.05368138) * tmpvar_5) - 0.1173503)
  22. * tmpvar_5) + 0.1938925) * tmpvar_5) - 0.3326756)
  23. * tmpvar_5) + 0.9999793) * tmpvar_4);
  24. tmpvar_5 = (tmpvar_5 + (float(
  25. (abs((tmpvar_1.z / tmpvar_1.x)) > 1.0)
  26. ) * (
  27. (tmpvar_5 * -2.0)
  28. + 1.570796)));
  29. tmpvar_3 = (tmpvar_5 * sign((tmpvar_1.z / tmpvar_1.x)));
  30. if ((abs(tmpvar_1.x) > (1e-8 * abs(tmpvar_1.z)))) {
  31. if ((tmpvar_1.x < 0.0)) {
  32. if ((tmpvar_1.z >= 0.0)) {
  33. tmpvar_3 += 3.141593;
  34. } else {
  35. tmpvar_3 = (tmpvar_3 - 3.141593);
  36. };
  37. };
  38. } else {
  39. tmpvar_3 = (sign(tmpvar_1.z) * 1.570796);
  40. };
  41. vec2 tmpvar_6;
  42. tmpvar_6.x = tmpvar_3;
  43. tmpvar_6.y = (sign(tmpvar_1.y) * (1.570796 - (
  44. sqrt((1.0 - abs(tmpvar_1.y)))
  45. *
  46. (1.570796 + (abs(tmpvar_1.y) * (-0.2146018 + (
  47. abs(tmpvar_1.y)
  48. *
  49. (0.08656672 + (abs(tmpvar_1.y) * -0.03102955))
  50. ))))
  51. )));
  52. uv_2 = (tmpvar_6 * vec2(0.1591, 0.3183));
  53. uv_2 = (uv_2 + 0.5);
  54. vec4 tmpvar_7;
  55. tmpvar_7.w = 1.0;
  56. tmpvar_7.xyz = texture (u_equirectangularMap, uv_2).xyz;
  57. FragColor = tmpvar_7;
  58. }