bokeh_dof_inc.glsl 780 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. layout(push_constant, std430) uniform Params {
  2. ivec2 size;
  3. float z_far;
  4. float z_near;
  5. bool orthogonal;
  6. float blur_size;
  7. float blur_scale;
  8. int blur_steps;
  9. bool blur_near_active;
  10. float blur_near_begin;
  11. float blur_near_end;
  12. bool blur_far_active;
  13. float blur_far_begin;
  14. float blur_far_end;
  15. bool second_pass;
  16. bool half_size;
  17. bool use_jitter;
  18. float jitter_seed;
  19. bool use_physical_near;
  20. bool use_physical_far;
  21. float blur_size_near;
  22. float blur_size_far;
  23. uint pad[2];
  24. }
  25. params;
  26. //used to work around downsampling filter
  27. #define DEPTH_GAP 0.0
  28. const float GOLDEN_ANGLE = 2.39996323;
  29. //note: uniform pdf rand [0;1[
  30. float hash12n(vec2 p) {
  31. p = fract(p * vec2(5.3987, 5.4421));
  32. p += dot(p.yx, p.xy + vec2(21.5351, 14.3137));
  33. return fract(p.x * p.y * 95.4307);
  34. }