API Reference · Renderers

RendererFeature

Namespace: Ava3D

public sealed record class RendererFeature

One thing the active renderer either does or does not do, and what it costs when it does not.

The scene API is one API, but the three renderers behind it are not one renderer: a material with a normal map, an emissive map and a rim term draws all three on Metal and OpenGL and none of them on the CPU fallback, which shades per vertex and reads only the base-colour map. That difference used to be a sentence in a diagnostics string; it is a list now, because a list can be shown as a list — and because the answer "everything works here" is worth as much as the answer "these four do not", and a string saying "none" cannot tell you what the none is out of.

Every renderer answers the same rows in the same order, so the same panel means the same thing on every platform and two backends can be compared line by line. RenderInfo.Features is where they arrive.

Constructors

MemberDescription
RendererFeature(string Name, bool Supported, string Detail)

One thing the active renderer either does or does not do, and what it costs when it does not.

The scene API is one API, but the three renderers behind it are not one renderer: a material with a normal map, an emissive map and a rim term draws all three on Metal and OpenGL and none of them on the CPU fallback, which shades per vertex and reads only the base-colour map. That difference used to be a sentence in a diagnostics string; it is a list now, because a list can be shown as a list — and because the answer "everything works here" is worth as much as the answer "these four do not", and a string saying "none" cannot tell you what the none is out of.

Every renderer answers the same rows in the same order, so the same panel means the same thing on every platform and two backends can be compared line by line. RenderInfo.Features is where they arrive.

Name

What the feature is called, in the same words the scene API uses — "normal maps", not "TBN shading".

Supported

Whether this renderer does it.

Detail

What it does instead when it does not, or how it does it when it does. Never empty: a tick with no explanation is a claim, and the point of the list is that each row can be checked.

Properties

MemberDescription
string Detail { get; set; }

What it does instead when it does not, or how it does it when it does. Never empty: a tick with no explanation is a claim, and the point of the list is that each row can be checked.

string Name { get; set; }

What the feature is called, in the same words the scene API uses — "normal maps", not "TBN shading".

bool Supported { get; set; }

Whether this renderer does it.

See also