Class: MotionBlurPost
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:37
Camera motion blur. Each pixel is averaged along the screen-space path it travelled since the previous frame (reconstructed from depth and the previous view-projection), so panning, orbiting and dollying the camera streak the image the way a real shutter does.
Limitation: only camera motion is blurred — objects that move on their own stay sharp, because the G-buffer carries no per-object velocity.
const post = scene.addComponent(PostProcessingComponent);
const blur = post.addPost(MotionBlurPost);
blur.intensity = 0.5; // 180° shutterConstructors
Constructor
new MotionBlurPost():
MotionBlurPost
Defined in: src/gfx/renderJob/post/PostBase.ts:35
Returns
MotionBlurPost
Inherited from
PostBase.constructor
Properties
enable
enable:
boolean=true
Defined in: src/gfx/renderJob/post/PostBase.ts:23
Inherited from
PostBase.enable
isFinalPass
isFinalPass:
boolean=false
Defined in: src/gfx/renderJob/post/PostBase.ts:27
When true, PostPass iterates this post AFTER every regular post regardless of attach order — used by TonemapPost so the ACES curve always lands on the fully-composited HDR signal.
Inherited from
PostBase.isFinalPass
postRenderer
postRenderer:
PostPass
Defined in: src/gfx/renderJob/post/PostBase.ts:28
Inherited from
PostBase.postRenderer
rendererPassState
rendererPassState:
RendererPassState
Defined in: src/gfx/renderJob/post/PostBase.ts:29
Inherited from
PostBase.rendererPassState
_boundCtx
_boundCtx:
Context3D=null
Defined in: src/gfx/renderJob/post/PostBase.ts:30
Inherited from
PostBase._boundCtx
Accessors
usesVelocityTexture
Get Signature
get usesVelocityTexture():
boolean
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:47
True when the blur reads MotionVectorPass' per-object velocities.
Returns
boolean
intensity
Get Signature
get intensity():
number
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:71
Shutter scale, 0 = off, 0.5 = 180° shutter, 1 = full frame.
Returns
number
Set Signature
set intensity(
v):void
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:72
Parameters
v
number
Returns
void
samples
Get Signature
get samples():
number
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:75
Samples along the blur vector (2…32).
Returns
number
Set Signature
set samples(
v):void
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:76
Parameters
v
number
Returns
void
maxBlurPixels
Get Signature
get maxBlurPixels():
number
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:79
Maximum blur length in pixels.
Returns
number
Set Signature
set maxBlurPixels(
v):void
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:80
Parameters
v
number
Returns
void
frameRateIndependent
Get Signature
get frameRateIndependent():
boolean
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:83
Keep the blur length independent of the frame rate.
Returns
boolean
Set Signature
set frameRateIndependent(
v):void
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:84
Parameters
v
boolean
Returns
void
prevViewProj
Get Signature
get prevViewProj():
Matrix4
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:97
The view-projection used as "previous" on the last rendered frame.
Returns
currViewProj
Get Signature
get currViewProj():
Matrix4
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:99
The view-projection of the last rendered frame.
Returns
Methods
resetHistory()
resetHistory():
void
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:91
Forget the previous camera pose, so the next frame is not blurred. Call after a camera cut / teleport. With per-object velocities this also resets MotionVectorPass, whose texture the blur then reads.
Returns
void
onResize()
onResize():
void
Defined in: src/gfx/renderJob/post/MotionBlurPost.ts:165
Returns
void
Overrides
PostBase.onResize
compute()
compute(
view):void
Defined in: src/gfx/renderJob/post/PostBase.ts:133
Parameters
view
Returns
void
Inherited from
PostBase.compute
destroy()
destroy(
force?):void
Defined in: src/gfx/renderJob/post/PostBase.ts:143
Parameters
force?
boolean
Returns
void
Inherited from
PostBase.destroy

