Skip to content

Documentation / scene / EnvShIBL

Class: EnvShIBL

Defined in: libs/scene/src/render/envlight.ts:96

IBL with SH based environment lighting

Extends

Constructors

Constructor

new EnvShIBL(radianceMap?, irradianceSH?, irradianceSHFB?, sheenRadianceMap?): EnvShIBL

Defined in: libs/scene/src/render/envlight.ts:122

Creates an instance of EnvIBL

Parameters

radianceMap?

TextureCube

The radiance map

irradianceSH?

GPUDataBuffer

The irradiance SH

irradianceSHFB?

FrameBuffer

sheenRadianceMap?

TextureCube

Returns

EnvShIBL

Overrides

EnvironmentLighting.constructor

Accessors

disposed

Get Signature

get disposed(): boolean

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

Returns

boolean

Inherited from

EnvironmentLighting.disposed


radianceMap

Get Signature

get radianceMap(): TextureCube<unknown>

Defined in: libs/scene/src/render/envlight.ts:143

The radiance map

Returns

TextureCube<unknown>

Set Signature

set radianceMap(tex): void

Defined in: libs/scene/src/render/envlight.ts:146

Parameters
tex

TextureCube<unknown>

Returns

void


sheenRadianceMap

Get Signature

get sheenRadianceMap(): TextureCube<unknown>

Defined in: libs/scene/src/render/envlight.ts:150

The Charlie-filtered sheen radiance map

Returns

TextureCube<unknown>

Set Signature

set sheenRadianceMap(tex): void

Defined in: libs/scene/src/render/envlight.ts:153

Parameters
tex

TextureCube<unknown>

Returns

void


irradianceSH

Get Signature

get irradianceSH(): GPUDataBuffer<unknown>

Defined in: libs/scene/src/render/envlight.ts:157

The irradiance sh coeffecients

Returns

GPUDataBuffer<unknown>

Set Signature

set irradianceSH(value): void

Defined in: libs/scene/src/render/envlight.ts:160

Parameters
value

GPUDataBuffer<unknown>

Returns

void


irradianceSHFB

Get Signature

get irradianceSHFB(): FrameBuffer<unknown>

Defined in: libs/scene/src/render/envlight.ts:164

The irradiance sh coeffecients

Returns

FrameBuffer<unknown>

Set Signature

set irradianceSHFB(value): void

Defined in: libs/scene/src/render/envlight.ts:167

Parameters
value

FrameBuffer<unknown>

Returns

void


irradianceWindow

Get Signature

get irradianceWindow(): Vector3

Defined in: libs/scene/src/render/envlight.ts:171

The irradiance sh window

Returns

Vector3

Set Signature

set irradianceWindow(val): void

Defined in: libs/scene/src/render/envlight.ts:174

Parameters
val

Vector3

Returns

void

Methods

on()

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

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

IEventTarget.on

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

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

context?

unknown

Returns

void

Inherited from

EnvironmentLighting.on


once()

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

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

IEventTarget.once

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener

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

context?

unknown

Returns

void

Inherited from

EnvironmentLighting.once


off()

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

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

IEventTarget.off

Type Parameters

K

K extends "dispose"

Parameters

type

K

listener?

EventListener<{ dispose: []; }>

context?

unknown

Returns

void

Inherited from

EnvironmentLighting.off


dispatchEvent()

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

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

IEventTarget.dispatchEvent

Type Parameters

K

K extends "dispose"

Parameters

type

K

args

...object[K]

Returns

void

Inherited from

EnvironmentLighting.dispatchEvent


dispose()

dispose(): void

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

Returns

void

Inherited from

EnvironmentLighting.dispose


getType()

getType(): "ibl"

Defined in: libs/scene/src/render/envlight.ts:139

The environment light type

Returns

"ibl"

Overrides

EnvironmentLighting.getType


initShaderBindings()

initShaderBindings(pb): void

Defined in: libs/scene/src/render/envlight.ts:181

Initialize shader bindings

Parameters

pb

ProgramBuilder

The program builder

Returns

void

Overrides

EnvironmentLighting.initShaderBindings


updateBindGroup()

updateBindGroup(bg): void

Defined in: libs/scene/src/render/envlight.ts:219

Updates the uniform values

Parameters

bg

BindGroup

The bind group to be updated

Returns

void

Overrides

EnvironmentLighting.updateBindGroup


getRadiance()

getRadiance(scope, refl, roughness): PBShaderExp

Defined in: libs/scene/src/render/envlight.ts:243

Get radiance for a fragment

Parameters

scope

PBInsideFunctionScope

The shader scope

refl

PBShaderExp

Reflection vector

roughness

PBShaderExp

Surface roughness

Returns

PBShaderExp

The radiance for the fragment

Overrides

EnvironmentLighting.getRadiance


getSheenRadiance()

getSheenRadiance(scope, refl, roughness): PBShaderExp

Defined in: libs/scene/src/render/envlight.ts:257

Get Charlie-filtered sheen radiance for a fragment

Parameters

scope

PBInsideFunctionScope

The shader scope

refl

PBShaderExp

Reflection vector

roughness

PBShaderExp

Sheen roughness

Returns

PBShaderExp

The sheen radiance for the fragment

Overrides

EnvironmentLighting.getSheenRadiance


getIrradiance()

getIrradiance(scope, normal): PBShaderExp

Defined in: libs/scene/src/render/envlight.ts:271

Get irradiance for a fragment

Parameters

scope

PBInsideFunctionScope

The shader scope

normal

PBShaderExp

surface normal

Returns

PBShaderExp

The radiance for the fragment

Overrides

EnvironmentLighting.getIrradiance


hasRadiance()

hasRadiance(): boolean

Defined in: libs/scene/src/render/envlight.ts:429

Returns whether this environment lighting supports reflective light

Returns

boolean

Overrides

EnvironmentLighting.hasRadiance


hasSheenRadiance()

hasSheenRadiance(): boolean

Defined in: libs/scene/src/render/envlight.ts:436

Returns whether this environment lighting supports sheen reflective light

Returns

boolean

Overrides

EnvironmentLighting.hasSheenRadiance


hasIrradiance()

hasIrradiance(): boolean

Defined in: libs/scene/src/render/envlight.ts:443

Returns whether this environment lighting supports diffuse light

Returns

boolean

Overrides

EnvironmentLighting.hasIrradiance


onDispose()

protected onDispose(): void

Defined in: libs/scene/src/render/envlight.ts:450

Disposes the object and releases all GPU resources

Returns

void

Overrides

EnvironmentLighting.onDispose

Released under the MIT License.