Constructor Summary
Public Constructor | ||
public |
constructor(scene: Scene, camera: Camera, options: Object) Constructs a new outline pass. |
Member Summary
Public Members | ||
public get |
Indicates whether the effect should be applied to the input buffer. |
|
public set |
If disabled, the input buffer will remain unaffected. |
|
public get |
Indicates whether the outline overlay should be blurred. |
|
public set |
|
|
public set |
If enabled, the result will be dithered to remove banding artifacts. |
|
public get |
Indicates whether dithering is enabled. |
|
public get |
The blur kernel size. |
|
public set |
|
|
public |
needsSwap: * |
|
public get |
overlay: Texture The effect overlay texture. |
|
public |
The pulse speed. |
|
public get |
this get was deprecated. Use getResolutionScale() instead.
The resolution scale. |
|
public set |
this set was deprecated. Use setResolutionScale(Number) instead.
|
|
public |
A dedicated render layer for selected objects. |
Private Members | ||
private |
A blur pass. |
|
private |
A copy pass that renders the read buffer to screen if needed. |
|
private |
mainCamera: Camera The main camera. |
|
private |
mainScene: Scene The main scene. |
|
private |
An outline blend material. |
|
private |
An outline edge detection material. |
|
private |
A depth pass. |
|
private |
A depth comparison mask pass. |
|
private |
renderTargetBlurredEdges: WebGLRenderTarget A render target for the blurred outline overlay. |
|
private |
renderTargetDepth: WebGLRenderTarget A render target for depth information. |
|
private |
renderTargetEdges: WebGLRenderTarget A render target for the edge detection. |
|
private |
renderTargetMask: WebGLRenderTarget A render target for the outline mask. |
|
private |
resolution: Vector2 The original resolution. |
|
private |
selection: Object3D[] A list of objects to outline. |
|
private |
The current animation time. |
Method Summary
Public Methods | ||
public |
Clears the list of selected objects. |
|
public |
deselectObject(object: Object3D): OutlinePass Deselects an object. |
|
public |
Returns the current resolution scale. |
|
public |
initialize(renderer: WebGLRenderer, alpha: Boolean) Performs initialization tasks. |
|
public |
render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, delta: Number, stencilTest: Boolean) Renders the effect. |
|
public |
selectObject(object: Object3D): OutlinePass Selects an object. |
|
public |
setPatternTexture(texture: Texture) Sets a pattern texture to use as an overlay for selected objects. |
|
public |
setResolutionScale(scale: Number) Sets the resolution scale. |
|
public |
setSelection(objects: Object3D[]): OutlinePass Clears the current selection and selects a list of objects. |
|
public |
Updates the size of this pass. |
Private Methods | ||
private |
setSelectionVisible(visible: Boolean) Sets the visibility of all selected objects. |
Inherited Summary
From class Pass | ||
public get |
material: Material this get was deprecated. Use getFullscreenMaterial() instead.
The fullscreen material. |
|
protected set |
material: Material this set was deprecated. Use setFullscreenMaterial(Material) instead.
|
|
public |
[key]: * |
|
public |
Indicates whether this pass should be executed. |
|
public |
The name of 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 |
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 |
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(scene: Scene, camera: Camera, options: Object) source
Constructs a new outline pass.
Override:
Pass#constructorParams:
Name | Type | Attribute | Description |
scene | Scene | The main scene. |
|
camera | Camera | The main camera. |
|
options | Object |
|
Additional parameters. See BlurPass, OutlineBlendMaterial and OutlineEdgesMaterial for details. |
options.pulseSpeed | Number |
|
The pulse speed. A value of zero disables the pulse effect. |
options.blur | Boolean |
|
Whether the outline should be blurred. |
Public Members
public get blend: Boolean source
Indicates whether the effect should be applied to the input buffer.
public set blend: Boolean source
If disabled, the input buffer will remain unaffected.
You may use the BloomPass#overlay texture to apply the effect to your scene.
public set dithering: Boolean source
If enabled, the result will be dithered to remove banding artifacts.
public set kernelSize: KernelSize source
public needsSwap: * source
Indicates whether the EffectComposer should swap the frame buffers after this pass has finished rendering.
Set this to false
if this pass doesn't render to the output buffer or
the screen. Otherwise, the contents of the input buffer will be lost.
Override:
Pass#needsSwappublic get resolutionScale: Number source
The resolution scale.
public set resolutionScale: Number source
public selectionLayer: Number source
A dedicated render layer for selected objects.
This layer is set to 10 by default. If this collides with your own custom layers, please change it to a free layer before rendering!
Private Members
private renderPassDepth: RenderPass source
A depth pass.
TODO:
- Use multiple render targets in WebGL 2.0.
private renderPassMask: RenderPass source
A depth comparison mask pass.
TODO:
- Use multiple render targets in WebGL 2.0.
private renderTargetBlurredEdges: WebGLRenderTarget source
A render target for the blurred outline overlay.
Public Methods
public deselectObject(object: Object3D): OutlinePass source
Deselects an object.
Params:
Name | Type | Attribute | Description |
object | Object3D | The object that should no longer be outlined. |
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 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 selectObject(object: Object3D): OutlinePass source
Selects an object.
Params:
Name | Type | Attribute | Description |
object | Object3D | The object that should be outlined. |
public setPatternTexture(texture: Texture) source
Sets a pattern texture to use as an overlay for selected objects.
Params:
Name | Type | Attribute | Description |
texture | Texture |
|
A pattern texture. Set to null to disable the pattern. |
public setResolutionScale(scale: Number) source
Sets the resolution scale.
Params:
Name | Type | Attribute | Description |
scale | Number | The new resolution scale. |
public setSelection(objects: Object3D[]): OutlinePass source
Clears the current selection and selects a list of objects.
Params:
Name | Type | Attribute | Description |
objects | Object3D[] | The objects that should be outlined. This array will be copied. |
public setSize(width: Number, height: Number) source
Updates the size of this pass.