cubemap_downsampler_inc.glsl 846 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. layout(push_constant, std430) uniform Params {
  2. uint face_size;
  3. uint face_id; // only used in raster shader
  4. }
  5. params;
  6. #define M_PI 3.14159265359
  7. void get_dir_0(out vec3 dir, in float u, in float v) {
  8. dir[0] = 1.0;
  9. dir[1] = v;
  10. dir[2] = -u;
  11. }
  12. void get_dir_1(out vec3 dir, in float u, in float v) {
  13. dir[0] = -1.0;
  14. dir[1] = v;
  15. dir[2] = u;
  16. }
  17. void get_dir_2(out vec3 dir, in float u, in float v) {
  18. dir[0] = u;
  19. dir[1] = 1.0;
  20. dir[2] = -v;
  21. }
  22. void get_dir_3(out vec3 dir, in float u, in float v) {
  23. dir[0] = u;
  24. dir[1] = -1.0;
  25. dir[2] = v;
  26. }
  27. void get_dir_4(out vec3 dir, in float u, in float v) {
  28. dir[0] = u;
  29. dir[1] = v;
  30. dir[2] = 1.0;
  31. }
  32. void get_dir_5(out vec3 dir, in float u, in float v) {
  33. dir[0] = -u;
  34. dir[1] = v;
  35. dir[2] = -1.0;
  36. }
  37. float calcWeight(float u, float v) {
  38. float val = u * u + v * v + 1.0;
  39. return val * sqrt(val);
  40. }