The injection points of the standard model, as a material lit by it
(lighting standard;, version 4 of the material language) fills them:
lib/pbr.glsl's ShadeSurfaceHook, ShadeLightHook and
F3dLightTypeHook, each a method here with the answer of a stage that
defines none by default.
Extendable outside this package: flutter3d_app's material stage
implements it over a program's blocks.
One context per hook, each a class that can gain members — what the GLSL hook is handed next — without an implementation written against 1.0 breaking. Breaking in 1.0.0-rc.1: they took the GLSL hooks' arguments one by one.
Constructors
- PbrHooks()
-
Hooks that change nothing; a subclass overrides the ones it fills.
const
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- readsLightRow → bool
-
Whether lightType is asked at all: a stage that declares no plugin
light and reads no light's row is not.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
light(
PbrLightContext context) → Vector3 -
ShadeLightHook: the answer to PbrLightContext.light, given the model's own PbrLightContext.standard, which it is by default. -
lightType(
PbrLightTypeContext context) → bool -
F3dLightTypeHook: told every light's type code and its row's lastvec4before it is sampled; whether a plugin's light (a code from 16 up) is one the stage lights. The engine's four only, by default. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
surface(
PbrSurfaceContext context) → void -
ShadeSurfaceHook: rewrites PbrSurfaceContext.surface once its maps are applied, before any light. Leaves it as it is by default. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited