Vixen
02b45cc4
csharp
public sealed class ScreenProbeUpsampleRenderer

Per-pixel irradiance out of the resolved screen probes — doc 19 § L3's upsample, first form.

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

Remarks

The screen-space sibling of IndirectDiffuseRenderer. That one asks a world-space field what arrives at a position; this one asks the probe lattice what arrives at a pixel, out of the four planes ScreenProbeResolve wrote. What comes out is the same kind of buffer: irradiance over π, for a shading pass to multiply by albedo.

Bilinear only, deliberately. The bilateral half — weights that also respect depth and normal edges — is the denoiser's opening move and lands with it, against frames this version is the baseline for.

Usually a child of ScreenProbeGatherRenderer, which places the probes, runs the trace and resolve dispatches, and publishes the planes this reads. Standing alone it draws whatever planes the frame imports under Planes — which is what the image tests do, so "the node schedules wrongly" and "the pass draws wrongly" stay separable.

Fields and properties (9)

  • public required string Depth

    The depth that says which pixels show the sky.

  • public required string Normals

    The normals the probes are asked about.

  • public required ScreenProbeTexture Probes

    The probes to upsample — the mirror whose planes the resolve wrote.

  • public required string[] Planes

    The four planes' graph names, in packing order — imported by whoever owns the frame.

  • public float Intensity

    A multiplier on the result, for Intensity's reasons.

  • public string? SurfacePlane

    The probes' surface plane's graph name, for the bilateral taps. Null binds a stand-in.

  • public string? NormalPlane

    The probes' normal plane's graph name. Null binds a stand-in.

  • public float PlaneTolerance

    How far off a probe's plane a pixel may stand and still read it, in world units.

  • public Matrix4x4 InverseViewProjection

    What turns a pixel's depth back into the world the probes stand in.

Methods (2)

  • public ScreenProbeUpsampleRenderer()

    Per-pixel irradiance out of the resolved screen probes — doc 19 § L3's upsample, first form.

  • protected override void Configure(CompositorFrame frame, ParameterCollection parameters, IList<ResourceBinding> bindings)

    Fills in this frame's parameters and bindings.

Used by (3)

  • ScreenProbeBilateralImageTestsVixen.Graphics.Golden.Tests
  • ScreenProbeGatherRendererVixen.Rendering.PostFx
  • ScreenProbeUpsampleImageTestsVixen.Graphics.Golden.Tests