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 n is nodes[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