lightListLane function

double lightListLane(
  1. ShaderBindings bindings,
  2. String member,
  3. int slot
)

LightListLane: one lane of a six-vector table.

Implementation

double lightListLane(ShaderBindings bindings, String member, int slot) {
  final four = bindings.vec4(
    'LightListInfo',
    member,
    Vector4.zero(),
    at: slot ~/ 4,
  );
  return switch (slot - (slot ~/ 4) * 4) {
    0 => four.x,
    1 => four.y,
    2 => four.z,
    _ => four.w,
  };
}