The reverb raytracing results can be access via the `RawReverb`, `ProcessedReverb` and `ListenerEAXReverb` fields on your [[RaytracingContext]] instance.
```cs
public void Update()
{
// Perform raytracing on background threads
context.Update(...);
// Must wait until raytracing has completed at least once
if (context.ReverbCalculated)
{
// Print reverb stats
Console.WriteLine(context.RawReverb.ReturnedTotal);
Console.WriteLine(context.ProcessedReverb.OutsidePercent);
Console.WriteLine(context.ListenerEAXReverb.DecayLFRatio);
Console.WriteLine(context.OutsideEAXReverb.Diffusion);
foreach (var voiceEax in context.BlendedEAXReverb)
Console.WriteLine(voiceEax.GainLF);
}
}
```
You can copy the values from a `EAXReverb` directly onto an EAX reverb preset in your engine. If you wish to calculate these values yourself, see [[Custom EAX Formulas]].
## Reverb Variables
`RawReverb` contains the raw results of raytracing. More details are in [[RawReverbResults]].
```cs
float DistanceTotal;
float ReturnedTotal;
float OutsideTotal;
```
`ProcessedReverb` contains the results of raytracing that have been processed into a more dev-friendly format. More details are in [[ProcessedReverbResults]].
```cs
public float ReturningPercent;
public float OutsidePercent;
public float RoomVolume;
public float RoomSurfaceArea;
public Vector3F RoomPosition;
public Vector3F RoomDimensions;
public float SurfaceAreaToVolumeRatio;
public float MeanFreePath;
public float SabineRT60_LF;
public float SabineRT60_HF;
public float EyringRT60_LF;
public float EyringRT60_HF;
public float TheoreticalRT60;
public float MeasuredMeanFreePath;
public float MeanFreePathRatio;
public float MeasuredRT60_LF;
public float MeasuredRT60_HF;
// Scattering
public float MaterialRoughnessLF;
public float MaterialRoughnessHF;
public float MaterialRoughness => (MaterialRoughnessLF + MaterialRoughnessHF) / 2;
public float MaterialSmoothnessLF => 1.0f - MaterialRoughnessLF;
public float MaterialSmoothnessHF => 1.0f - MaterialRoughnessHF;
public float MaterialSmoothness => 1.0f - MaterialRoughness;
// Absorption
public float MaterialAbsorptionLF;
public float MaterialAbsorptionHF;
public float MaterialAbsorption => (MaterialAbsorptionLF + MaterialAbsorptionHF) / 2;
```
`EAXReverb` contains values that can be directly set on an EAX reverb effect. More details are in [[EAXReverbResults]].
> These EAX values are calculated using generic formulas, so you may want to calculate these yourself. Check out [[Custom EAX Formulas]] for more details.
```cs
Vector3F Pan;
Vector3F Center; // The center of the 'room'
float ReflectionsDelay;
float Density;
float Diffusion;
float GainLF;
float GainHF;
float Gain;
float DecayTime;
float DecayLFRatio;
float DecayHFRatio;
float ReflectionsGain;
float LateReverbGain;
float LateReverbDelay;
float EchoTime;
float EchoDepth;
float ModulationTime;
float ModulationDepth;
float AirAbsorptionGainHF;
float HFReference;
float LFReference;
float RoomRolloffFactor;
int DecayHFLimit;
```