public readonly record struct UiBackdropSourceWhat the host had already painted where the interface is about to be drawn.
Remarks
⚠ The parameter backdrop-filter could not be built without, and its absence is not a missing optimisation but two wrong pictures. UiRenderer.Compose can re-render the interface's own draw list and nothing else, so a backdrop captured from that alone is the interface behind the element and nothing else — a glass panel over a 3D scene would blur nothing, which is the commonest reason to reach for the feature. Worse, a capture with nothing under it is not opaque, and compositing a blurred translucent copy over the sharp original is a double image along every edge, where CSS replaces the backdrop within the element's bounds.
⚠ A colour and a texture rather than only a texture, because all three call sites in this repository have the first and none has the second. The editor, the app template and the golden fixture each begin the interface's pass with a LoadAction.Clear; what they have "already painted" is that colour. Image is for the host that has genuinely rendered something — a scene, a video, a previous frame — into a texture of the interface's own size.
⚠ Only a top-level group's backdrop reads this, and that is Filter Effects 2's rule rather than a shortcut. Every UiLayer is a backdrop root — a group exists here only for a filter, an opacity, a mask or a backdrop — so a nested group's backdrop is its parent's own surface so far, which starts from transparent black and has never seen the host's frame. A capture that put this under a nested group would paint the host's background inside a translucent panel.
Fields and properties (2)
public Color4 ColourWhat the host's own pass clears its target to, in the same linear space the geometry's colours are. ⚠ Premultiplied, which for the opaque frame every host actually draws means "alpha one". A clear writes the colour to the attachment as it stands and SoftwareUiRasterizer premultiplies its background into a float target, so the two agree exactly at alpha one and differ by the alpha below it.
public TextureViewHandle ImageWhat the host has already drawn, at the interface's own size, or an invalid handle where it has drawn nothing but the clear.
Methods (1)
public UiBackdropSource(Color4 Colour)What the host had already painted where the interface is about to be drawn.
Used by (6)
- UiApplicationVixen.Ui.Desktop
- UiCompositingTestsVixen.Graphics.Golden.Tests
- UiRavenAgreementTestsVixen.Graphics.Golden.Tests
- UiRendererVixen.Ui.Renderer
- EditorHostVixen.Editor.Host
- EditorUiCompositingDeviceTestsVixen.Editor.App.Tests