ObjectIdFrame class final
Which mesh drew every pixel of one frame — what
Renderer.captureObjectIds answers with.
The pick pass read back whole. Renderer.pickPixel asks the id
target for one pixel; this is the same target, the same ids and the same
rules — a masked hole is a hole, a blended surface counts as a surface, an
instanced batch is one id — kept for the whole frame, so a tool with no
pointer can ask what is on the screen everywhere at once: how many pixels
a wall owns, where on the screen it is, and what stands in front of it.
Rows run from the top, like every picture this engine reads back.
Constructors
-
ObjectIdFrame({required int width, required int height, required Uint32List ids, required List<
MeshNode> nodes}) -
const
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- height → int
-
final
- ids → Uint32List
-
One id per pixel, row-major from the top: zero where nothing was drawn,
otherwise a one-based index into nodes.
final
-
nodes
→ List<
MeshNode> -
Every mesh the id pass drew this frame, in the order drawn. Id
nisnodes[n - 1].final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- width → int
-
final
Methods
-
idAt(
int x, int y) → int -
The id at (
x,y), zero for nothing. -
nodeAt(
int x, int y) → MeshNode? -
The mesh drawn at (
x,y), or null where nothing was. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
pixelCounts(
) → Uint32List - How many pixels each id owns, indexed by id; entry zero is the pixels nothing reached.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited