Vixen
02b45cc4
csharp
public sealed class RenderedIrradianceCaptures

An IIrradianceCaptureSource that renders each probe's cube on a device.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The join between IrradianceCubeCapture, which records six passes, and CapturedIrradianceFiller, which wants a finished cube in hand. Everything between the two is submit-and-wait, and that is the whole of this type.

⚠ One submit and one full stall per probe. A field of a thousand probes is a thousand round trips to the GPU, which is minutes rather than a frame — and that is the right shape for what this is: doc 19 § L2's filler B is a build step, and Fill is budgeted so it can report progress a brick at a time. Recording every probe of a budget into one list and reading them all back afterwards is the obvious improvement and is not done; it wants a ring of targets rather than the one this reuses.

It cannot be used inside a frame. The stall is the point: a capture is only meaningful once the copies have run, and nothing else can wait for them on the caller's behalf.

Fields and properties (4)

  • public BoundingBox? Bounds

    Where probes are worth capturing, or null for everywhere.

  • public Action<Vector3>? Prepare

    What to run once per probe, before its six passes are recorded.

  • public Action? Recorded

    Run once a probe's list is recorded and before it is submitted.

  • public int Captured

    How many probes were captured.

Methods (3)

Used by (2)

  • IrradianceBounceDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceCaptureDeviceTestsVixen.Graphics.Golden.Tests