API Reference · Capturing a frame

CaptureRequest

Namespace: Ava3D

public sealed class CaptureRequest

What to capture from an Ava3DView. See Ava3DView.CaptureAsync.

The defaults describe the screen: the view's own size, its camera, with bloom and the vignette applied as they are when it is shown. Everything else is a departure from that, and each is its own frame — a request for another size, another scale or another camera is rendered once more, into a target of its own, and the view on screen never changes size or picture for it.

Properties

MemberDescription
Camera Camera { get; set; }

The camera to render from, read on the calling thread when the request is made, or null for the view's camera as it is when the frame is drawn. A capture from another camera is rendered once more with it; what is on screen does not move.

bool Composited { get; set; }

Whether the capture is the picture as shown — after bloom and the vignette — or the renderer's frame before either. True by default. Under Scene.LinearHdr the renderer's frame already carries its bloom, because that one is applied before display encoding rather than after; there the two are the same picture.

CaptureFormat Format { get; set; }

How the pixels come back. CaptureFormat.Rgba8 by default.

double Scale { get; set; }

Renders at this multiple of the view's size, so a capture can be larger than the screen it was taken on. Supersampling rather than enlargement: the scene is rendered at the higher resolution and the extra pixels carry real detail. Two costs four times the fill rate. Ignored when CaptureRequest.Size is set. One by default.

Nullable<PixelSize> Size { get; set; }

The size to render at, in pixels, or null for the view's own. The picture keeps the view's framing — the same camera, the same field of view — so a different aspect ratio stretches it, as it would in a view of that shape. Never resizes the view.

See also