An emitter can cast rays outwards towards the world edge, to determine how 'inside' it is.
```cs
var emitter = new Emitter()
{
Position = new Vector3F(10),
AmbientPermeationRayCount = 128,
AmbientPermeationBounceCount = 4,
};
// Access stats when raytracing first completes
emitter.OnRaytracingComplete = () =>
{
var gainLF = emitter.AmbientPermeationGainLF;
var gainHF = emitter.AmbientPermeationGainHF;
};
// Add the emitter to the simulation
context.AddEmitter(emitter);
while (true)
{
context.Update();
// Access stats at runtime
if (!emitter.Initialising)
{
var gainLF = emitter.AmbientPermeationGainLF;
var gainHF = emitter.AmbientPermeationGainHF;
}
}
```
You can also customise the formula used to calculate the `AmbientPermeationGainLF` and `AmbientPermeationGainHF`. Read more: [[Ambient Permeation Gain Formula]].