public sealed class ScreenProbeAccumulateFillFolds each frame's resolved probes into their history, on the device.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The device half of ScreenProbeHistory, and checked against it. The same capped running mean, the same reprojection through last frame's camera, the same plane test for disocclusion — one invocation per probe, reading the resolve's planes and last frame's history set, writing this frame's.
The camera bookkeeping is owned here, as the CPU history owns its own. ViewProjection is the camera the surfaces being recorded stand under; after each record it becomes the previous one, which is what the next frame reprojects through. Pairing this frame's camera with last frame's surfaces reconstructs history that exists nowhere, on either side of the comparison.
Every binding index comes off the compiled effect and the set is filled by hand, for the reasons every compute driver here shares. Swap runs inside Record — the written set is the front set by the time the caller binds planes for the upsample.
Fields and properties (10)
public const string ShaderNameThe shader this dispatches.
public EffectSystem? EffectsWhere the variant is resolved from. Null dispatches nothing.
public ComputePipelineCache? PipelinesWhere the compute pipeline comes from. Null dispatches nothing.
public DescriptorAllocator? DescriptorsWhere the descriptor sets come from. Null dispatches nothing.
public ParameterCollection ParametersThe parameters the uniform block is filled from.
public Matrix4x4 ViewProjectionThe camera the surfaces being recorded stand under — this frame's, forward.
public int MaxFramesHow many frames a probe's history may weigh at most.
public float ToleranceHow far off a history probe's plane this frame's surface may stand, in world units.
public int FramesHow many accumulations have been recorded.
public string? SkippedWhy the last call recorded nothing, or null when it recorded something.
Methods (3)
public ScreenProbeAccumulateFill(IGraphicsDevice device)Creates an accumulator on a device. Nothing is allocated until the first dispatch.
public int Record(ICommandList commands, ScreenProbeAtlas atlas, ScreenProbeTexture texture, ScreenProbeHistoryTexture history)Records one frame's accumulation and swaps the history.
public void Dispose()Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Used by (6)
- ArenaIlluminationThirdPersonShooter
- CompositorBuilderVixen.Rendering
- PostEffectTestsVixen.Rendering.PostFx.Tests
- ScreenProbeAccumulateDeviceTestsVixen.Graphics.Golden.Tests
- ScreenProbeGatherImageTestsVixen.Graphics.Golden.Tests
- ScreenProbeGatherRendererVixen.Rendering.PostFx