public sealed class RenderedIrradianceCapturesAn 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? BoundsWhere probes are worth capturing, or null for everywhere.
public Action<Vector3>? PrepareWhat to run once per probe, before its six passes are recorded.
public Action? RecordedRun once a probe's list is recorded and before it is submitted.
public int CapturedHow many probes were captured.
Methods (3)
public RenderedIrradianceCaptures(IGraphicsDevice device, IrradianceCubeCapture capture, IrradianceCubeCapture.DrawFace draw)Builds a source over a capture and something that draws a scene.
public bool TryCapture(Vector3 position, out IrradianceCapture capture)Captures what a probe at a position sees.
public void Dispose()Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Used by (2)
- IrradianceBounceDeviceTestsVixen.Graphics.Golden.Tests
- IrradianceCaptureDeviceTestsVixen.Graphics.Golden.Tests