ContributorLights class abstract interface

The scene's lights, bound to a contributor's own stage — N6.

A contributor that wants its draw lit needs what a mesh of the same bounds would be given: the eight lights that reach it, the list's tail past those, and, in a clustered view, the cells. All of that is chosen and packed inside the renderer, and a second copy of the choosing would eventually choose differently — a puff of smoke lit by one set of torches beside a wall lit by another. So the renderer answers, as it answers encodeScene.

The stage declares lib/contributor_lights.glsl: the ContributorLightInfo block with the eight slots, and the light list's LightListInfo block and light_list_texture sampler. bind writes all three, and binds a stand-in for the texture when the frame has no list, because a declared sampler nobody binds is a native crash on Metal.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

bind(PassEncoder encoder, ShaderHandle stage, {required Vector3 centre, required double radius}) → void
Binds the lights reaching a sphere at centre of radius to stage.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited