Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. vector<float> getVolumes(const ofVec3f &pos, const vector<ofVec3f> &speakers, float rolloff, float blur_radius) {
  2. vector<float> volumes;
  3. float sum = 0;
  4. transform(begin(speakers), end(speakers), back_inserter(volumes), [&sum, pos, rolloff, blur_radius](const ofVec3f &speaker) {
  5. const float rolloff_default = 20*log10f(0.5f);
  6. float power = pow(sqrt(pos.squareDistance(speaker)+pow(blur_radius,2)), rolloff/rolloff_default);
  7. sum += pow(power,2);
  8. return power;
  9. });
  10. sum = sqrt(sum);
  11. transform(begin(volumes), end(volumes), begin(volumes), [sum](float volume) {
  12. return volume/sum;
  13. });
  14. return volumes;
  15. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement