DepthDownsamplingPass
Extends:
Indirect Implements:
A pass that downsamples the scene depth by picking the most representative depth in 2x2 texel neighborhoods. If a normal buffer is provided, the corresponding normals will be stored as well.
Attention: This pass requires WebGL 2.
Constructor Summary
Public Constructor | ||
public |
constructor(options: Object) Constructs a new depth downsampling pass. |
Member Summary
Public Members | ||
public |
|
|
public |
|
|
public |
renderTarget: WebGLRenderTarget A render target that contains the downsampled normals and depth. |
|
public |
The resolution of this effect. |
|
public get |
texture: Texture The normal(RGB) + depth(A) texture. |
Method Summary
Public Methods | ||
public |
initialize(renderer: WebGLRenderer, alpha: Boolean, frameBufferType: Number) Performs initialization tasks. |
|
public |
render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, deltaTime: Number, stencilTest: Boolean) Downsamples depth and scene normals. |
|
public |
setDepthTexture(depthTexture: Texture, depthPacking: Number) Sets the depth texture. |
|
public |
Updates the size of this pass. |
Inherited Summary
From class Pass | ||
public get |
Indicates whether this pass should render to screen. |
|
public set |
Sets the render to screen flag. |
|
public |
Indicates whether this pass should be executed. |
|
public |
The name of this pass. |
|
public |
Only relevant for subclassing. |
|
public |
Only relevant for subclassing. |
|
protected |
camera: Camera The camera. |
|
protected |
scene: Scene The scene to render. |
|
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, frameBufferType: Number) Performs initialization tasks. |
|
public abstract |
render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, deltaTime: 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 size of the main frame buffer. 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(options: Object) source
Constructs a new depth downsampling pass.
Override:
Pass#constructorParams:
Name | Type | Attribute | Description |
options | Object |
|
The options. |
options.normalBuffer | Texture |
|
A texture that contains view space normals. See NormalPass. |
options.resolutionScale | Number |
|
The resolution scale. |
options.width | Number |
|
The render width. |
options.height | Number |
|
The render height. |
Public Members
public needsDepthTexture: boolean source
Only relevant for subclassing.
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#needsDepthTexturepublic needsSwap: boolean source
Only relevant for subclassing.
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 renderTarget: WebGLRenderTarget source
A render target that contains the downsampled normals and depth.
Normals are stored as RGB and depth is stored as alpha.
Public Methods
public initialize(renderer: WebGLRenderer, alpha: Boolean, frameBufferType: Number) source
Performs initialization tasks.
Override:
Pass#initializepublic render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, deltaTime: Number, stencilTest: Boolean) source
Downsamples depth and scene normals.
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. |
|
deltaTime | 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. |