Whether this pass runs
Flipping it rebuilds the view's render graph on the next render, which suits a settings toggle but not a change every frame; animate an effect's own properties instead. It can also recompile the view's materials; View3D#passes says when.
Readonly AdvancedinputWhether the effect's input has mips, for an effect that reads coarse levels with
sampleColorLod, such as a blur
Costs a mip generation every frame and about a third more memory for the input, so leave it
false unless the effect samples levels above 0.
ReadonlyrequiredAlways [velocityOutput], so the view writes the velocity while the effect is enabled
Readonly AdvancedstageThe stage the effect runs at, set by the stage option
StaticdefaultDefaults for every new MotionBlurEffect; an option passed as undefined keeps its default
Sets how much of a frame's motion each streak covers
Fraction of the frame's motion; above 1 exaggerates it.
Sets the longest streak
Length in physical pixels on screen.
Sets the taps per pixel
Taps along each streak, rounded, at least 1.
Advanced
Adds the blur pass for this slot in the chain
Render graph being built.
Input/output handles for this slot in the chain.
Releases GPU resources the pass made outside the graph; the base class has none
The view never calls it, not on replacing view.passes nor on its own destroy, since a pass
can be shared. Call it yourself once the pass is retired. Override it only for resources of your
own: the render passes added in build go with the view's graph, and a plain UniformGroup
needs no release.
Blurs the image along the direction each pixel moved since the camera's previous render
Only the camera's motion counts: turning or moving the camera streaks opaque meshes, though not the view's background, an object moving in front of a still camera stays sharp, and one that moves with the camera, such as a cockpit, streaks with the scene. Each streak is measured per rendered frame, so it shortens as the frame rate rises, as a real camera's does. The effect reads velocityOutput, which notes the surfaces that have no velocity of their own, such as blended ones.
On a camera cut, such as a teleport or a change of shot, call Camera3D#resetHistory so the first frame of the new shot isn't smeared by the jump. Every property can change every frame.
Example