Home Reference Source
import {DepthDownsamplingPass} from 'postprocessing'
public class | source

DepthDownsamplingPass

Extends:

Pass → DepthDownsamplingPass

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

setSize(width: Number, height: Number)

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
this member was deprecated. Use isEnabled() and setEnabled() instead.

Indicates whether this pass is enabled.

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

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

Indicates whether this pass is enabled.

public abstract

render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, deltaTime: Number, stencilTest: Boolean)

Renders this pass.

public

setDepthTexture(depthTexture: Texture, depthPacking: Number)

Sets the depth texture.

public

setEnabled(enabled: Boolean)

Enables or disables this pass.

public

setSize(width: Number, height: Number)

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#constructor

Params:

NameTypeAttributeDescription
options Object
  • optional

The options.

options.normalBuffer Texture
  • optional
  • default: null

A texture that contains view space normals. See NormalPass.

options.resolutionScale Number
  • optional
  • default: 0.5

The resolution scale.

options.width Number
  • optional
  • default: Resizer.AUTO_SIZE

The render width.

options.height Number
  • optional
  • default: Resizer.AUTO_SIZE

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#needsDepthTexture

public 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#needsSwap

public 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 resolution: Resizer source

The resolution of this effect.

public get texture: Texture source

The normal(RGB) + depth(A) texture.

Public Methods

public initialize(renderer: WebGLRenderer, alpha: Boolean, frameBufferType: Number) source

Performs initialization tasks.

Override:

Pass#initialize

Params:

NameTypeAttributeDescription
renderer WebGLRenderer

The renderer.

alpha Boolean

Whether the renderer uses the alpha channel or not.

frameBufferType Number

The type of the main frame buffers.

public render(renderer: WebGLRenderer, inputBuffer: WebGLRenderTarget, outputBuffer: WebGLRenderTarget, deltaTime: Number, stencilTest: Boolean) source

Downsamples depth and scene normals.

Override:

Pass#render

Params:

NameTypeAttributeDescription
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
  • optional

The time between the last frame and the current one in seconds.

stencilTest Boolean
  • optional

Indicates whether a stencil mask is active.

public setDepthTexture(depthTexture: Texture, depthPacking: Number) source

Sets the depth texture.

Override:

Pass#setDepthTexture

Params:

NameTypeAttributeDescription
depthTexture Texture

A depth texture.

depthPacking Number
  • optional
  • default: BasicDepthPacking

The depth packing.

public setSize(width: Number, height: Number) source

Updates the size of this pass.

Override:

Pass#setSize

Params:

NameTypeAttributeDescription
width Number

The width.

height Number

The height.