It's difficult to compute the maximum amount of reverb energy that can return to a player's ears ahead-of-time, since every environment is different. Previously the volume of reverb was controlled by the energy in all reverb rays that return to the emitter, and dividing it by `emitter.ReverbRayCount * emitter.ReverbBounceCount`.
However not all energy should have to return to the emitter in order for reverb to be at max volume. Especially with higher `ReverbBounceCount` values, rays will naturally travel further away from the emitter. But this means less energy can return to the emitter, and therefore the volume of reverb drops.
This is inaccurate - rather than comparing the returning energy against the total possible returning energy - we should compare it against a user-defined threshold. This gives you control over how much energy needs to return to the emitter for reverb to be at max volume.
In the code below, only 20% of energy is needed for reverb to be at max volume. If reverb is too loud, you can increase this energy cap.
```cs
var listener = new Emitter()
{
ReverbRayCount = 128,
ReverbBounceCount = 64,
ReverbEnergyCap = 128 * 64 * 0.2f, // 20%
}
```