Vixen
02b45cc4
csharp
public sealed class ScreenProbeResolve

Resolves each screen probe's radiance map into spherical harmonics — doc 19 § L3's "resolve to SH".

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

Remarks

The device half of Resolve, and checked against it probe by probe. One workgroup per probe, walking the map in the exact order the CPU walks it, with the solid angles uploaded from SolidAngles — the same exact table, not a second derivation, because a texel's weight is a property of the map and computing it twice is how two sides drift by a percent nobody can attribute.

The output is the mirror's four resolved-probe planes, in the irradiance pool's colour-major packing, with validity in the constant plane's alpha. Whatever upsamples these interpolates coefficients, exactly as the field's sampler does — which is the property the whole storage layer rests on, restated per screen.

Fields and properties (6)

  • public const string ShaderName

    The shader this dispatches.

  • public EffectSystem? Effects

    Where the resolve variant is resolved from. Null dispatches nothing.

  • public ComputePipelineCache? Pipelines

    Where the compute pipeline comes from. Null dispatches nothing.

  • public DescriptorAllocator? Descriptors

    Where the descriptor sets come from. Null dispatches nothing.

  • public int Dispatches

    How many dispatches have been recorded.

  • public string? Skipped

    Why the last call recorded nothing, or null when it recorded something.

Methods (3)

  • public ScreenProbeResolve(IGraphicsDevice device)

    Creates a resolve on a device. Nothing is allocated until the first dispatch.

  • public int Record(ICommandList commands, ScreenProbeTexture texture)

    Records a dispatch that resolves every probe of an atlas.

  • public void Dispose()

    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Used by (9)

  • ArenaIlluminationThirdPersonShooter
  • CompositorBuilderVixen.Rendering
  • PostEffectTestsVixen.Rendering.PostFx.Tests
  • ScreenProbeAccumulateDeviceTestsVixen.Graphics.Golden.Tests
  • ScreenProbeBilateralImageTestsVixen.Graphics.Golden.Tests
  • ScreenProbeGatherImageTestsVixen.Graphics.Golden.Tests
  • ScreenProbeGatherRendererVixen.Rendering.PostFx
  • ScreenProbeResolveDeviceTestsVixen.Graphics.Golden.Tests
  • ScreenProbeUpsampleImageTestsVixen.Graphics.Golden.Tests