Skip to content

Documentation / scene / WeightedBlendedOIT

Class: WeightedBlendedOIT

Defined in: libs/scene/src/render/weightedblended_oit.ts:24

Weighted-blended OIT renderer.

Remarks

The weighed-blended OIT renderer supports both WebGL, WebGL2 and WebGPU device.

Extends

Constructors

Constructor

new WeightedBlendedOIT(): WeightedBlendedOIT

Defined in: libs/scene/src/render/weightedblended_oit.ts:31

Returns

WeightedBlendedOIT

Overrides

OIT.constructor

Properties

type

readonly static type: "wb" = 'wb'

Defined in: libs/scene/src/render/weightedblended_oit.ts:26

Type name of WeightedBlendedOIT

Accessors

disposed

Get Signature

get disposed(): boolean

Defined in: libs/base/dist/index.d.ts:6107

Returns

boolean

Inherited from

OIT.disposed


uniformTag

Get Signature

get uniformTag(): number

Defined in: libs/scene/src/render/oit.ts:29

Returns

number

Inherited from

OIT.uniformTag

Methods

on()

on<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:630

IEventTarget.on

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

EventListener<{ dispose: []; }, K>

context?

unknown

Returns

void

Inherited from

OIT.on


once()

once<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:634

IEventTarget.once

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

EventListener<{ dispose: []; }, K>

context?

unknown

Returns

void

Inherited from

OIT.once


off()

off<K>(type, listener?, context?): void

Defined in: libs/base/dist/index.d.ts:638

IEventTarget.off

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener?

EventListener<{ dispose: []; }>

context?

unknown

Returns

void

Inherited from

OIT.off


dispatchEvent()

dispatchEvent<K>(type, ...args): void

Defined in: libs/base/dist/index.d.ts:642

IEventTarget.dispatchEvent

Type Parameters

K

K extends "dispose"

Parameters

type

K

args

...object[K]

Returns

void

Inherited from

OIT.dispatchEvent


dispose()

dispose(): void

Defined in: libs/base/dist/index.d.ts:6108

Returns

void

Inherited from

OIT.dispose


onDispose()

protected onDispose(): void

Defined in: libs/base/dist/index.d.ts:6109

Returns

void

Inherited from

OIT.onDispose


uniformChanged()

uniformChanged(): void

Defined in: libs/scene/src/render/oit.ts:32

Returns

void

Inherited from

OIT.uniformChanged


getType()

getType(): string

Defined in: libs/scene/src/render/weightedblended_oit.ts:37

Returns the type of the renderer.

Returns

string

The type of the renderer.

Overrides

OIT.getType


supportDevice()

supportDevice(_deviceType): boolean

Defined in: libs/scene/src/render/weightedblended_oit.ts:43

Checks whether the renderer supports the given device type.

Parameters

_deviceType

string

The device type.

Returns

boolean

True if the renderer supports the device type, false otherwise.

Overrides

OIT.supportDevice


wantsPremultipliedAlpha()

wantsPremultipliedAlpha(): boolean

Defined in: libs/scene/src/render/weightedblended_oit.ts:49

Whether this OIT algorithm wants pre-multiplied alpha

Returns

boolean

True if the OIT wants pre-multiplied alpha, false otherwise

Overrides

OIT.wantsPremultipliedAlpha


wantsAdditiveLightPassAlpha()

wantsAdditiveLightPassAlpha(): boolean

Defined in: libs/scene/src/render/weightedblended_oit.ts:55

Whether additive light passes should keep the material alpha before OIT output.

Returns

boolean

Remarks

Some OIT algorithms need the original material alpha to weight additive light color, but write zero alpha to their accumulation targets so transmittance is not counted twice.

Overrides

OIT.wantsAdditiveLightPassAlpha


begin()

begin(_ctx): number

Defined in: libs/scene/src/render/weightedblended_oit.ts:61

Begins rendering the transparent objects.

Parameters

_ctx

DrawContext

The draw context.

Returns

number

The number of passes required for rendering.

Remarks

Contract: the caller (the transparent scene pass) must have explicitly bound the transparent scene target framebuffer before calling begin(), beginPass() or endPass(). Implementations may redirect rendering to internal buffers, but must composite into that bound target and restore it before returning.

Overrides

OIT.begin


end()

end(_ctx): void

Defined in: libs/scene/src/render/weightedblended_oit.ts:67

Ends rendering the transparent objects.

Parameters

_ctx

DrawContext

The draw context.

Returns

void

Overrides

OIT.end


setupFragmentOutput()

setupFragmentOutput(scope): void

Defined in: libs/scene/src/render/weightedblended_oit.ts:73

Sets up the fragment output.

Parameters

scope

PBGlobalScope

The global shader scope.

Returns

void

Remarks

This method declares necessary uniform variables for OIT rendering and injects it into the object's material.

Overrides

OIT.setupFragmentOutput


beginPass()

beginPass(ctx, _pass): boolean

Defined in: libs/scene/src/render/weightedblended_oit.ts:81

Begins rendering for the given pass.

Parameters

ctx

DrawContext

The draw context.

_pass

number

The pass number.

Returns

boolean

True if the transparent objects should be rendered, false otherwise.

Overrides

OIT.beginPass


endPass()

endPass(ctx, _pass): void

Defined in: libs/scene/src/render/weightedblended_oit.ts:92

Ends rendering for the given pass.

Parameters

ctx

DrawContext

The draw context.

_pass

number

The pass number.

Returns

void

Overrides

OIT.endPass


calculateHash()

calculateHash(): string

Defined in: libs/scene/src/render/weightedblended_oit.ts:102

Calculates the hash of the renderer.

Returns

string

The hash of the renderer.

Remarks

When this hash value was changed, material shader will be forced recreate.

Overrides

OIT.calculateHash


applyUniforms()

applyUniforms(_ctx, _bindGroup): void

Defined in: libs/scene/src/render/weightedblended_oit.ts:108

Applies the uniforms for the given draw context and bind group.

This function will be called when ever the transparent material will upload uniform variables.

Parameters

_ctx

DrawContext

The draw context.

_bindGroup

BindGroup

The bind group.

Returns

void

Overrides

OIT.applyUniforms


outputFragmentColor()

outputFragmentColor(scope, color): boolean

Defined in: libs/scene/src/render/weightedblended_oit.ts:114

Do the fragment color output.

Parameters

scope

PBInsideFunctionScope

The global shader scope.

color

PBShaderExp

The calculated fragment color.

Returns

boolean

Remarks

This method outputs the calculated fragment color for OIT rendering and injects it into the object's material.

Overrides

OIT.outputFragmentColor


setRenderStates()

setRenderStates(rs): void

Defined in: libs/scene/src/render/weightedblended_oit.ts:147

Sets the render states for the renderer.

This function will be called when the transparent object will be rendered.

Parameters

rs

RenderStateSet

The render states.

Returns

void

Overrides

OIT.setRenderStates

Released under the MIT License.