ReflectionsShader class final

reflections.frag: screen-space reflections, marched against the surface buffer.

The part that looked wrong was wrong. This file used to carry a note that the ray's screen position was ndc.xy * 0.5 + 0.5 with no v flip, where the shadow lookups flip — transcribed exactly, because a backend does not get to settle a disagreement between conventions by quietly picking one. It was a disagreement, and the shadow lookup had the right end of it: the march read the surface buffer upside down on every backend whose row zero is at the top, which is Impeller and this one. See UvFromNdc in reflections.frag.

Inheritance

Constructors

ReflectionsShader()
const

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

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
run(Float32List v, ShaderBindings b, FragmentContext c) → Vector4?
Returns linear RGBA for attachment zero. Null discards the fragment.
override
toString() → String
A string representation of this object.
inherited

Operators

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