Skip to content

@tmrw-realityos/charm


@tmrw-realityos/charm / LowlevelEngine

Class: LowlevelEngine

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:486

Extends

Constructors

Constructor

new LowlevelEngine(): LowlevelEngine

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:522

Returns

LowlevelEngine

Overrides

RendererInterface.constructor

Properties

_environment?

protected optional _environment: HDREnvironment

Defined in: packages/charm/src/graphics/rendererInterface.ts:192

Inherited from

RendererInterface._environment


accelerationStructure

protected accelerationStructure: AccelerationStructure

Defined in: packages/charm/src/graphics/rendererInterface.ts:206

Inherited from

RendererInterface.accelerationStructure


accelerationStructureMustRebuild

protected accelerationStructureMustRebuild: boolean = false

Defined in: packages/charm/src/graphics/rendererInterface.ts:208

Inherited from

RendererInterface.accelerationStructureMustRebuild


backend

backend: LowLevelBackend

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:487

Overrides

RendererInterface.backend


basePath

basePath: string = ""

Defined in: packages/charm/src/graphics/rendererInterface.ts:184

Inherited from

RendererInterface.basePath


cameraRP?

optional cameraRP: NativeCameraRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:491


canvas?

optional canvas: HTMLCanvasElement

Defined in: packages/charm/src/graphics/rendererInterface.ts:189

Inherited from

RendererInterface.canvas


debug

debug: boolean = true

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:505


defaultEmissiveTexture?

optional defaultEmissiveTexture: NativeTextureRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:502


defaultSampler?

optional defaultSampler: NativeTextureSamplerRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:504


diagnosticsMatInstances

diagnosticsMatInstances: Map<number, NativeMaterialInstanceRP>

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:499


draw?

optional draw: DrawInterface

Defined in: packages/charm/src/graphics/rendererInterface.ts:188

Inherited from

RendererInterface.draw


frameIndex

frameIndex: number = 0

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:514


fx

fx: boolean = true

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:503


lastFrameRenderables

lastFrameRenderables: nativeEntityRP[] = []

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:508


lastRenderedCamera?

optional lastRenderedCamera: Camera

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:507


lastRenderedScene?

optional lastRenderedScene: Scene

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:506


loadedGLTFs

loadedGLTFs: Map<string, GLTFInfo>

Defined in: packages/charm/src/graphics/rendererInterface.ts:203

Inherited from

RendererInterface.loadedGLTFs


loadingGLTFs

loadingGLTFs: Map<string, LoadedGLTFCallback[]>

Defined in: packages/charm/src/graphics/rendererInterface.ts:204

Inherited from

RendererInterface.loadingGLTFs


matBundle

matBundle: URL

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:512


materialInstanceRegistry

materialInstanceRegistry: Map<number, NativeMaterialInstanceRP>

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:498


materialProvider?

optional materialProvider: NativeMaterialProviderRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:500


nativeEngineRP?

optional nativeEngineRP: NativeEngineRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:488


onRenderGizmos()?

optional onRenderGizmos: (renderer) => void

Defined in: packages/charm/src/graphics/rendererInterface.ts:210

Parameters

renderer

RendererInterface

Returns

void

Inherited from

RendererInterface.onRenderGizmos


outlineMaterial

outlineMaterial: Material

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:515


outlineSceneRP?

optional outlineSceneRP: NativeSceneRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:495


outlineViewRP?

optional outlineViewRP: NativeViewRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:494


plane?

optional plane: Mesh

Defined in: packages/charm/src/graphics/rendererInterface.ts:185

Inherited from

RendererInterface.plane


planeXY?

optional planeXY: Mesh

Defined in: packages/charm/src/graphics/rendererInterface.ts:186

Inherited from

RendererInterface.planeXY


rendererRP?

optional rendererRP: NativeRendererRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:490


renderOptions

renderOptions: SceneRenderOptions

Defined in: packages/charm/src/graphics/rendererInterface.ts:200

Inherited from

RendererInterface.renderOptions


samplerCache

samplerCache: Map<number, NativeTextureSamplerRP>

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:501


sceneRP?

optional sceneRP: NativeSceneRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:492


skyboxRP?

optional skyboxRP: NativeSkyboxRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:493


tinyGltf?

optional tinyGltf: TinyGltf

Defined in: packages/charm/src/graphics/rendererInterface.ts:202

Inherited from

RendererInterface.tinyGltf


tmrwRooms?

optional tmrwRooms: MainModule

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:496


transparent

transparent: boolean = false

Defined in: packages/charm/src/graphics/rendererInterface.ts:191

Inherited from

RendererInterface.transparent


viewMode

viewMode: eViewModes = eViewModes.FINAL

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:497


viewRP?

optional viewRP: NativeViewRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:489

Accessors

environment

Set Signature

set environment(env): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1988

Parameters
env

HDREnvironment

Returns

void

Overrides

RendererInterface.environment

Methods

clearScene()

clearScene(): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1470

Returns

void


configureCanvas()

configureCanvas(): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:531

Returns

void

Overrides

RendererInterface.configureCanvas


createMaterialInstance()

createMaterialInstance(material, vertexBuffer): NativeMaterialInstanceRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1246

Create a native material from a scene material

Parameters

material

Material

vertexBuffer

NativeVertexBufferRP

Returns

NativeMaterialInstanceRP


createMaterialProvider()

createMaterialProvider(matBundle): Promise<NativeMaterialProviderRP>

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:651

Create material provider from matz bundle

Parameters

matBundle

path to matz file

string | URL

Returns

Promise<NativeMaterialProviderRP>

new material provider


createNativeMesh()

createNativeMesh(mesh, material): nativeEntityRP

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1155

currently it creates Entities, no meshes (like renderable)

Parameters

mesh

Mesh

material

Material

Returns

nativeEntityRP


destroy()

destroy(): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:533

Destroy all allocated resources

Returns

void

Overrides

RendererInterface.destroy


destroyGLTF()

destroyGLTF(url): void

Defined in: packages/charm/src/graphics/rendererInterface.ts:308

Frees from memory

Parameters

url

string

Returns

void

Inherited from

RendererInterface.destroyGLTF


getAmbientOcclusionOptions()

getAmbientOcclusionOptions(): ambientOcclusionOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:859

Returns

ambientOcclusionOptions


getAmbientOcclutionSSCTOptions()

getAmbientOcclutionSSCTOptions(): ssctOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:837

Returns

ssctOptions


getBloomOptions()

getBloomOptions(): bloomOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:707

Returns

bloomOptions


getDepthOfFieldBokehOptions()

getDepthOfFieldBokehOptions(): depthOfFieldBokehOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:789

Returns

depthOfFieldBokehOptions


getDepthOfFieldOptions()

getDepthOfFieldOptions(): depthOfFieldOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:770

Returns

depthOfFieldOptions


getDitheringOptions()

getDitheringOptions(): ditheringOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:818

Returns

ditheringOptions


getDynamicResolutionOptions()

getDynamicResolutionOptions(): dynamicResolutionOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:728

Returns

dynamicResolutionOptions


getFogOptions()

getFogOptions(): fogOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:754

Returns

fogOptions


getFramebufferSize()

getFramebufferSize(): vec2

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1700

Returns

vec2

Overrides

RendererInterface.getFramebufferSize


getGuardBandOptions()

getGuardBandOptions(): object

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:740

Returns

object

enabled?

optional enabled: boolean


getLightingOptions()

getLightingOptions(): lightingOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:962

Returns

lightingOptions


getMultisampleAntialiasingOptions()

getMultisampleAntialiasingOptions(): multiSampleAntiAliasingOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:881

Returns

multiSampleAntiAliasingOptions


getPlaneMesh()

getPlaneMesh(): Mesh

Defined in: packages/charm/src/graphics/rendererInterface.ts:356

static mesh

Returns

Mesh

Inherited from

RendererInterface.getPlaneMesh


getPostProcessing()

getPostProcessing(): boolean

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:685

Returns

boolean


getScreenspaceReflectionsOptions()

getScreenspaceReflectionsOptions(): screenspaceReflectionsOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:920

Returns

screenspaceReflectionsOptions


getSoftShadowsOptions()

getSoftShadowsOptions(): softShadowOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:946

Returns

softShadowOptions


getSupportedViewModes()

getSupportedViewModes(): string[]

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1927

Returns

string[]

Overrides

RendererInterface.getSupportedViewModes


getTemporalAntiAliasingOptions()

getTemporalAntiAliasingOptions(): temporalAntiAliasingOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:900

Returns

temporalAntiAliasingOptions


getTexture()

getTexture(name): undefined | Texture

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:971

Parameters

name

string

Returns

undefined | Texture

Overrides

RendererInterface.getTexture


getVignetteOptions()

getVignetteOptions(): vignetteOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:802

Returns

vignetteOptions


getVSMShadowsOptions()

getVSMShadowsOptions(): vsmShadowOptions

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:933

Returns

vsmShadowOptions


init()

init(nativeCanvas): Promise<void>

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:550

Parameters

nativeCanvas

HTMLCanvasElement

Returns

Promise<void>


internalDestroyGLTF()

internalDestroyGLTF(_info): void

Defined in: packages/charm/src/graphics/rendererInterface.ts:326

Parameters

_info

GLTFInfo

Returns

void

Inherited from

RendererInterface.internalDestroyGLTF


internalLoadGLTF()

internalLoadGLTF(url, gltf, options): undefined | GLTFInfo

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1871

Parameters

url

string

gltf

GlTf

options

GLTFLoadingOptions

Returns

undefined | GLTFInfo

See

RendererInterface

Overrides

RendererInterface.internalLoadGLTF


loadEnvironment()

loadEnvironment(env): Promise<void>

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1411

Parameters

env

Environment

Returns

Promise<void>


loadGLTF()

loadGLTF(url, options?, force?): Promise<undefined | GLTFInfo>

Defined in: packages/charm/src/graphics/rendererInterface.ts:256

Loads a GLTF using a cache to avoid loading twice the same GLTF

Parameters

url

string

options?

GLTFLoadingOptions

force?

boolean

Returns

Promise<undefined | GLTFInfo>

Inherited from

RendererInterface.loadGLTF


loadGLTFFromBinary()

loadGLTFFromBinary(data, options?, url?): Promise<undefined | GLTFInfo>

Defined in: packages/charm/src/graphics/rendererInterface.ts:295

Loads a GLTF from a Binary array, in case it was dragged from hard drive

Parameters

data

ArrayBuffer

options?

GLTFLoadingOptions

url?

string = "none"

Returns

Promise<undefined | GLTFInfo>

Inherited from

RendererInterface.loadGLTFFromBinary


loadImage()

loadImage(path): Promise<HTMLImageElement>

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1854

Helper to async load an image

Parameters

path

string

image path

Returns

Promise<HTMLImageElement>

promise


loadScene()

loadScene(scene): Promise<void>

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:984

Parameters

scene

Scene

Returns

Promise<void>


newMesh()

newMesh(): Mesh

Defined in: packages/charm/src/graphics/rendererInterface.ts:351

Returns

Mesh

Inherited from

RendererInterface.newMesh


pickDepths()

pickDepths(pos): Promise<undefined | Float32Array<ArrayBufferLike>>

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1956

Parameters

pos

vec2[]

Returns

Promise<undefined | Float32Array<ArrayBufferLike>>

Overrides

RendererInterface.pickDepths


pickScene()

pickScene(x, y, layers, pos?, clipPos?): Promise<undefined | Node>

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1884

Returns the node under a certain coordinate of the mouse. This function is async as it will be resolved in the next frame.

Parameters

x

number

y

number

layers

number = 0xff

pos?

vec3

clipPos?

vec3

Returns

Promise<undefined | Node>

Overrides

RendererInterface.pickScene


preloadTexture()

preloadTexture(url, name?): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:975

Parameters

url

string

name?

string

Returns

void

Overrides

RendererInterface.preloadTexture


render()

render(scene, camera): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1786

Renders a scene from a point of view

Parameters

scene

Scene

camera

Camera

Returns

void

Overrides

RendererInterface.render


renderablesToNative()

renderablesToNative(renderables): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1705

Parameters

renderables

nativeEntityRP[]

Returns

void


resize()

resize(logical, device): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:2068

Parameters

logical
height

number

width

number

device
height

number

width

number

Returns

void

Overrides

RendererInterface.resize


setAmbientOcclusionOptions()

setAmbientOcclusionOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:841

Parameters

options

ambientOcclusionOptions

Returns

void


setAmbientOcclutionSSCTOptions()

setAmbientOcclutionSSCTOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:828

Parameters

options

ssctOptions

Returns

void


setBloomOptions()

setBloomOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:689

Parameters

options

bloomOptions

Returns

void


setDepthOfFieldBokehOptions()

setDepthOfFieldBokehOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:780

Parameters

options

depthOfFieldBokehOptions

Returns

void


setDepthOfFieldOptions()

setDepthOfFieldOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:758

Parameters

options

depthOfFieldOptions

Returns

void


setDitheringOptions()

setDitheringOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:806

Parameters

options

ditheringOptions

Returns

void


setDynamicResoultionOptions()

setDynamicResoultionOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:715

Parameters

options

dynamicResolutionOptions

Returns

void


setEnvironment()

setEnvironment(env): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1993

Parameters

env

HDREnvironment

Returns

void

Overrides

RendererInterface.setEnvironment


setFogOptions()

setFogOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:744

Parameters

options

fogOptions

Returns

void


setGuardBandOptions()

setGuardBandOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:736

Parameters

options
enabled?

boolean

Returns

void


setLightingOptions()

setLightingOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:950

Parameters

options

lightingOptions

Returns

void


setMultisampleAntiAliasingOptions()

setMultisampleAntiAliasingOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:872

Parameters

options

multiSampleAntiAliasingOptions

Returns

void


setPostProcessing()

setPostProcessing(enabled): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:680

Parameters

enabled

boolean

Returns

void


setScreenspaceReflectionsOptions()

setScreenspaceReflectionsOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:911

Parameters

options

screenspaceReflectionsOptions

Returns

void


setSoftShadowsOptions()

setSoftShadowsOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:937

Parameters

options

softShadowOptions

Returns

void


setTemporalAntiAliasingOptions()

setTemporalAntiAliasingOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:885

Parameters

options

temporalAntiAliasingOptions

Returns

void


setTonemapping()

setTonemapping(): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:666

Returns

void


setViewMode()

setViewMode(node, mode): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1756

Set debug view mode recursively for a node

Parameters

node

Node

mode

eViewModes

Returns

void


setVignetteOptions()

setVignetteOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:793

Parameters

options

vignetteOptions

Returns

void


setVSMShadowsOptions()

setVSMShadowsOptions(options): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:924

Parameters

options

vsmShadowOptions

Returns

void


showTexture()

showTexture(): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:2087

Returns

void

Overrides

RendererInterface.showTexture


updateNativeMesh()

updateNativeMesh(mesh, requireTangents): object

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:996

Parameters

mesh

Mesh

requireTangents

boolean

Returns

object

indexBuffer

indexBuffer: NativeIndexBufferRP

vertexBuffer

vertexBuffer: NativeVertexBufferRP


updateRenderables()

updateRenderables(node, camera, renderables): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1480

Frustum cull renderables and update transform and material

Parameters

node

Node

camera

Camera

renderables

nativeEntityRP[]

Returns

void


updateRenderOptions()

updateRenderOptions(): void

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:1727

Returns

void

Events

renderAlpha

renderAlpha: ROSEvent<EventHandler<any[]>>

Defined in: packages/charm/src/graphics/lowlevelEngine.ts:520

Overrides

RendererInterface.renderAlpha