Constructor Summary
Public Constructor | ||
public |
constructor(scene: Scene, camera: Camera, options: Object) Constructs a new outline effect. |
Member Summary
Public Members | ||
public |
blendMode: * |
|
public get |
Indicates whether the outlines should be blurred. |
|
public set |
|
|
public get |
Indicates whether dithering is enabled. |
|
public set |
Enables or disables dithering. |
|
public get |
The blur kernel size. |
|
public set |
Sets the kernel size. |
|
public |
The pulse speed. |
|
public |
A dedicated render layer for selected objects. |
|
public |
vertexShader: * |
|
public get |
Indicates whether X-Ray outlines are enabled. |
|
public set |
Enables or disables X-Ray outlines. |
Method Summary
Public Methods | ||
public |
clearSelection(): OutlinePass 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 |
selectObject(object: Object3D): OutlinePass Selects an object. |
|
public |
setPatternTexture(texture: Texture) Sets the pattern texture. |
|
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 internal render targets. |
|
public |
Updates this effect. |
Inherited Summary
From class Effect | ||
public |
The effect attributes. |
|
public |
The blend mode of this effect. |
|
public |
Preprocessor macro definitions. |
|
public |
WebGL extensions that are required by this effect. |
|
public |
The fragment shader. |
|
public |
The name of this effect. |
|
public |
Shader uniforms. |
|
public |
The vertex shader. |
|
public |
dispose() Performs a shallow search for properties that define a dispose method and deletes them. |
|
public |
initialize(renderer: WebGLRenderer, alpha: Boolean) Performs initialization tasks. |
|
public |
setDepthTexture(depthTexture: Texture, depthPacking: Number) Sets the depth texture. |
|
public |
Updates the size of this effect. |
|
public |
Updates the effect by performing supporting operations. |
Public Constructors
public constructor(scene: Scene, camera: Camera, options: Object) source
Constructs a new outline effect.
If you want dark outlines, remember to use an appropriate blend function.
Override:
Effect#constructorParams:
Name | Type | Attribute | Description |
scene | Scene | The main scene. |
|
camera | Camera | The main camera. |
|
options | Object |
|
The options. |
options.blendFunction | BlendFunction |
|
The blend function. Set this to |
options.patternTexture | Number |
|
A pattern texture. |
options.edgeStrength | Number |
|
The edge strength. |
options.pulseSpeed | Number |
|
The pulse speed. A value of zero disables the pulse effect. |
options.visibleEdgeColor | Number |
|
The color of visible edges. |
options.hiddenEdgeColor | Number |
|
The color of hidden edges. |
options.resolutionScale | Number |
|
The render texture resolution scale, relative to the main frame buffer size. |
options.kernelSize | KernelSize |
|
The blur kernel size. |
options.blur | Boolean |
|
Whether the outline should be blurred. |
options.xRay | Boolean |
|
Whether occluded parts of selected objects should be visible. |
Public Members
public blendMode: * source
The blend mode of this effect.
The result of this effect will be blended with the result of the previous effect using this blend mode.
Feel free to adjust the opacity of the blend mode at runtime. However, you'll need to call EffectPass#recompile if you change the blend function.
Override:
Effect#blendModepublic 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!
public set xRay: Boolean source
Enables or disables X-Ray outlines.
You'll need to call EffectPass#recompile after changing this value.
Public Methods
public clearSelection(): OutlinePass source
Clears the list of selected objects.
Return:
OutlinePass | This pass. |
public deselectObject(object: Object3D): OutlinePass source
Deselects an object.
Params:
Name | Type | Attribute | Description |
object | Object3D | The object that should no longer be outlined. |
Return:
OutlinePass | This pass. |
public initialize(renderer: WebGLRenderer, alpha: Boolean) source
Performs initialization tasks.
Override:
Effect#initializeParams:
Name | Type | Attribute | Description |
renderer | WebGLRenderer | The renderer. |
|
alpha | Boolean | Whether the renderer uses the alpha channel or not. |
public selectObject(object: Object3D): OutlinePass source
Selects an object.
Params:
Name | Type | Attribute | Description |
object | Object3D | The object that should be outlined. |
Return:
OutlinePass | This pass. |
public setPatternTexture(texture: Texture) source
Sets the pattern texture.
You'll need to call EffectPass#recompile after changing the texture.
Params:
Name | Type | Attribute | Description |
texture | Texture | The new texture. |
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. |
Return:
OutlinePass | This pass. |
public setSize(width: Number, height: Number) source
Updates the size of internal render targets.
Override:
Effect#setSizepublic update(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, deltaTime: Number) source
Updates this effect.
Override:
Effect#updateParams:
Name | Type | Attribute | Description |
renderer | WebGLRenderer | The renderer. |
|
inputBuffer | WebGLRenderTarget | A frame buffer that contains the result of the previous pass. |
|
deltaTime | Number |
|
The time between the last frame and the current one in seconds. |