EffectPass
Extends:
Indirect Implements:
An effect pass.
Use this pass to combine Effect instances.
Constructor Summary
Public Constructor | ||
public |
constructor(camera: Camera, effects: ...Effect) Constructs a new effect pass. |
Member Summary
Public Members | ||
public get |
Indicates whether dithering is enabled. |
|
public set |
Enables or disables dithering. |
|
public |
The maximum time. |
|
public |
A time offset. |
|
public |
|
Private Members | ||
private |
The effects, sorted by attribute priority, DESC. |
|
private |
mainCamera: Camera The main camera. |
|
private |
Indicates whether dithering is enabled. |
|
private |
The amount of shader uniforms that this pass uses. |
|
private |
The amount of shader varyings that this pass uses. |
Method Summary
Public Methods | ||
public |
dispose() Deletes disposable objects. |
|
public |
getDepthTexture(): Texture Returns the current depth texture. |
|
public |
initialize(renderer: WebGLRenderer, alpha: Boolean) Performs initialization tasks. |
|
public |
Destroys the current fullscreen shader material and builds a new one. |
|
public |
render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, delta: Number, stencilTest: Boolean) Renders the effect. |
|
public |
setDepthTexture(depthTexture: Texture, depthPacking: Number) Sets the depth texture. |
|
public |
Updates the size of this pass. |
Private Methods | ||
private |
createMaterial(): Material Creates a compound shader material. |
Inherited Summary
From class Pass | ||
public |
[key]: * |
|
public |
Indicates whether this pass should be executed. |
|
public |
The name of this pass. |
|
public |
Indicates whether the EffectComposer should prepare a depth texture for this pass. |
|
public |
Indicates whether the EffectComposer should swap the frame buffers after this pass has finished rendering. |
|
public |
Indicates whether this pass should render to screen. |
|
protected |
camera: Camera The camera. |
|
protected |
scene: Scene The scene to render. |
|
private |
quad: Mesh A quad mesh that fills the screen. |
|
public |
dispose() Performs a shallow search for disposable properties and deletes them. |
|
public |
getDepthTexture(): Texture Returns the current depth texture. |
|
public |
getFullscreenMaterial(): Material Returns the current fullscreen material. |
|
public |
initialize(renderer: WebGLRenderer, alpha: Boolean) Performs initialization tasks. |
|
public abstract |
render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, delta: Number, stencilTest: Boolean) Renders the effect. |
|
public |
setDepthTexture(depthTexture: Texture, depthPacking: Number) Sets the depth texture. |
|
public |
Updates this pass with the renderer's size. You may override this method in case you want to be informed about the main render size. The EffectComposer calls this method before this pass is initialized and every time its own size is updated. |
|
protected |
setFullscreenMaterial(material: Material) Sets the fullscreen material. |
Public Constructors
public constructor(camera: Camera, effects: ...Effect) source
Constructs a new effect pass.
The provided effects will be organized and merged for optimal performance.
Override:
Pass#constructorParams:
Name | Type | Attribute | Description |
camera | Camera | The main camera. The camera's type and settings will be available to all effects. |
|
effects | ...Effect | The effects that will be rendered by this pass. |
Public Members
public get dithering: Boolean source
Indicates whether dithering is enabled.
Color quantization reduces banding artifacts but degrades performance.
public set dithering: Boolean source
Enables or disables dithering.
Note that some effects like bloom have their own dithering setting.
public maxTime: Number source
The maximum time.
If the elapsed time exceeds this value, it will be reset.
public needsDepthTexture: boolean source
Indicates whether the EffectComposer should prepare a depth texture for this pass.
Set this to true
if this pass relies on depth information from a
preceding RenderPass.
Override:
Pass#needsDepthTexturePrivate Members
Public Methods
public dispose() source
Deletes disposable objects.
This pass will be inoperative after this method was called!
Override:
Pass#disposepublic getDepthTexture(): Texture source
Returns the current depth texture.
Override:
Pass#getDepthTextureReturn:
Texture | The current depth texture, or null if there is none. |
public initialize(renderer: WebGLRenderer, alpha: Boolean) source
Performs initialization tasks.
Override:
Pass#initializeParams:
Name | Type | Attribute | Description |
renderer | WebGLRenderer | The renderer. |
|
alpha | Boolean | Whether the renderer uses the alpha channel or not. |
public recompile() source
Destroys the current fullscreen shader material and builds a new one.
Warning: This method performs a relatively expensive shader recompilation.
public render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, delta: Number, stencilTest: Boolean) source
Renders the effect.
Override:
Pass#renderParams:
Name | Type | Attribute | Description |
renderer | WebGLRenderer | The renderer. |
|
inputBuffer | WebGLRenderTarget | A frame buffer that contains the result of the previous pass. |
|
outputBuffer | WebGLRenderTarget | A frame buffer that serves as the output render target unless this pass renders to screen. |
|
delta | Number |
|
The time between the last frame and the current one in seconds. |
stencilTest | Boolean |
|
Indicates whether a stencil mask is active. |
public setDepthTexture(depthTexture: Texture, depthPacking: Number) source
Sets the depth texture.
Override:
Pass#setDepthTextureParams:
Name | Type | Attribute | Description |
depthTexture | Texture | A depth texture. |
|
depthPacking | Number |
|
The depth packing. |
public setSize(width: Number, height: Number) source
Updates the size of this pass.
Override:
Pass#setSizePrivate Methods
private createMaterial(): Material source
Creates a compound shader material.
Return:
Material | The new material. |