Class: OcclusionPass
Defined in: src/depth/occlusion/OcclusionPass.ts:29
Occlusion postprocessing shader pass. This is used to generate an occlusion map. There are two modes: Mode A: Generate an occlusion map for individual materials to use. Mode B: Given a rendered frame, run as a postprocessing pass, occluding all items in the frame. The steps are
- Compute an occlusion map between the real and virtual depth.
- Blur the occlusion map using Kawase blur.
- (Mode B only) Apply the occlusion map to the rendered frame.
Extends
Pass
Constructors
Constructor
new OcclusionPass(
scene,camera,useFloatDepth,renderToScreen,occludableItemsLayer):OcclusionPass
Defined in: src/depth/occlusion/OcclusionPass.ts:41
Parameters
scene
camera
useFloatDepth
boolean = true
renderToScreen
boolean = false
occludableItemsLayer
number = OCCLUDABLE_ITEMS_LAYER
Returns
OcclusionPass
Overrides
Pass.constructor
Properties
renderToScreen
renderToScreen:
boolean=false
Defined in: src/depth/occlusion/OcclusionPass.ts:45
Inherited from
Pass.renderToScreen
Methods
applyOcclusionMapToRenderedImage()
applyOcclusionMapToRenderedImage(
renderer,readBuffer?,writeBuffer?):void
Defined in: src/depth/occlusion/OcclusionPass.ts:294
Parameters
renderer
readBuffer?
WebGLRenderTarget<Texture<unknown>>
writeBuffer?
WebGLRenderTarget<Texture<unknown>>
Returns
void
blurOcclusionMap()
blurOcclusionMap(
renderer,dimensions):void
Defined in: src/depth/occlusion/OcclusionPass.ts:258
Parameters
renderer
dimensions
Returns
void
dispose()
dispose():
void
Defined in: src/depth/occlusion/OcclusionPass.ts:308
Returns
void
Overrides
Pass.dispose
render()
render(
renderer,writeBuffer?,readBuffer?,viewId?):void
Defined in: src/depth/occlusion/OcclusionPass.ts:164
Render the occlusion map.
Parameters
renderer
The three.js renderer.
writeBuffer?
WebGLRenderTarget<Texture<unknown>>
The buffer to write the final result.
readBuffer?
WebGLRenderTarget<Texture<unknown>>
The buffer for the current of virtual depth.
viewId?
number = 0
The view to render.
Returns
void
Overrides
Pass.render
renderOcclusionMapFromReadBuffer()
renderOcclusionMapFromReadBuffer(
renderer,readBuffer,dimensions,viewId):void
Defined in: src/depth/occlusion/OcclusionPass.ts:228
Parameters
renderer
readBuffer
RenderTarget
dimensions
viewId
number
Returns
void
renderOcclusionMapFromScene()
renderOcclusionMapFromScene(
renderer,dimensions,viewId):void
Defined in: src/depth/occlusion/OcclusionPass.ts:191
Parameters
renderer
dimensions
viewId
number
Returns
void
setDepthTexture()
setDepthTexture(
depthTexture,rawValueToMeters,viewId,depthNear?):void
Defined in: src/depth/occlusion/OcclusionPass.ts:143
Parameters
depthTexture
rawValueToMeters
number
viewId
number
depthNear?
number
Returns
void
updateOcclusionMapUniforms()
updateOcclusionMapUniforms(
uniforms,renderer):void
Defined in: src/depth/occlusion/OcclusionPass.ts:316
Parameters
uniforms
renderer
Returns
void