Constructs a new depth of field effect.
The main camera.
The options.
The blend mode of this effect.
This pass blurs the foreground CoC buffer to soften edges.
Preprocessor macro definitions.
Call Effect.setChanged after changing macro definitions.
WebGL extensions that are required by this effect.
Call Effect.setChanged after adding or removing extensions.
The name of this effect.
The renderer.
A target position that should be kept in focus. Set to null
to disable auto focus.
Shader uniforms.
Call Effect.setChanged after adding or removing uniforms.
The current bokeh scale.
The circle of confusion material.
The circle of confusion material.
The circle of confusion texture.
The input color space.
The input color space.
Sets the main camera.
Sets the main scene.
The mask function. Default is MULTIPLY_RGB
.
The mask function. Default is MULTIPLY_RGB
.
The output color space.
Should only be changed if this effect converts the input colors to a different color space.
The output color space.
Should only be changed if this effect converts the input colors to a different color space.
The resolution of this effect.
Adds a listener to an event type.
The type of event to listen to.
The function that gets called when the event is fired.
Calculates the focus distance from the camera to the given position.
The target.
The normalized focus distance.
Fire an event type.
The event that gets fired.
Performs a shallow search for properties that define a dispose method and deletes them.
The EffectComposer calls this method when it is being destroyed.
Returns the effect attributes.
The attributes.
Returns the blend mode.
The result of this effect will be blended with the result of the previous effect using this blend mode.
The blend mode.
Returns the pass that blurs the foreground CoC buffer to soften edges.
The blur pass.
Returns the current bokeh scale.
The scale.
Returns the circle of confusion material.
The material.
Returns the preprocessor macro definitions.
The extensions.
Returns the WebGL extensions that are required by this effect.
The extensions.
Returns the fragment shader.
The fragment shader.
Returns the name of this effect.
The name.
Returns the resolution settings.
The resolution.
Returns the current auto focus target.
The target.
Returns the uniforms of this effect.
The extensions.
Returns the vertex shader.
The vertex shader.
Checks if listener is added to an event type.
The type of event to listen to.
The function that gets called when the event is fired.
Performs initialization tasks.
The renderer.
Whether the renderer uses the alpha channel or not.
The type of the main frame buffers.
Removes a listener from an event type.
The type of the listener that gets removed.
The listener function that gets removed.
Sets the effect attributes.
Effects that have the same attributes will be executed in the order in which they were registered. Some attributes imply a higher priority.
The attributes.
Sets the bokeh scale.
The scale.
Informs the associated {@link EffectPass} that this effect requires a shader recompilation.
Should be called after changing macros or extensions and after adding/removing uniforms.
Sets the depth texture.
You may override this method if your effect requires direct access to the depth texture that is bound to the associated {@link EffectPass}.
A depth texture.
Sets the fragment shader.
The fragment shader.
Sets the renderer.
The renderer.
Updates the size of internal render targets.
The width.
The height.
Sets the auto focus target.
The target.
Sets the vertex shader.
The vertex shader.
Updates this effect.
The renderer.
A frame buffer that contains the result of the previous pass.
A depth of field effect.
Based on a graphics study by Adrian Courrèges and an article by Steve Avery: https://www.adriancourreges.com/blog/2016/09/09/doom-2016-graphics-study/ https://pixelmischiefblog.wordpress.com/2016/11/25/bokeh-depth-of-field/