Skip to content

@tmrw-realityos/charm


@tmrw-realityos/charm / RendererInterface

Class: abstract RendererInterface

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

Extended by

Constructors

Constructor

new RendererInterface(): RendererInterface

Returns

RendererInterface

Properties

_environment?

protected optional _environment: HDREnvironment

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


accelerationStructure

protected accelerationStructure: AccelerationStructure

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


accelerationStructureMustRebuild

protected accelerationStructureMustRebuild: boolean = false

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


backend

abstract backend: RendererBackend

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


basePath

basePath: string = ""

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


canvas?

optional canvas: HTMLCanvasElement

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


draw?

optional draw: DrawInterface

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


drawDebugInfo

drawDebugInfo: boolean = false

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


loadedGLTFs

loadedGLTFs: Map<string, GLTFInfo>

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


loadingGLTFs

loadingGLTFs: Map<string, LoadedGLTFCallback[]>

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


materials

materials: Map<string, Material>

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


onRenderGizmos()?

optional onRenderGizmos: (renderer) => void

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

Parameters

renderer

RendererInterface

Returns

void


onRenderUI()?

optional onRenderUI: (renderer) => void

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

Parameters

renderer

RendererInterface

Returns

void


plane?

optional plane: Mesh

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


planeXY?

optional planeXY: Mesh

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


renderOptions

renderOptions: SceneRenderOptions

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


renderUI

renderUI: ROSEvent<RenderEvent>

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


tinyGltf?

optional tinyGltf: TinyGltf

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


transparent

transparent: boolean = false

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


instance?

static optional instance: RendererInterface

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

Accessors

environment

Get Signature

get environment(): undefined | HDREnvironment

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

Returns

undefined | HDREnvironment

Set Signature

set environment(env): void

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

Parameters
env

undefined | HDREnvironment

Returns

void

Methods

configureCanvas()

abstract configureCanvas(): void

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

Returns

void


destroy()

destroy(): void

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

Destroy all allocated resources

Returns

void


destroyGLTF()

destroyGLTF(url): void

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

Frees from memory

Parameters

url

string

Returns

void


getDebugInfo()

abstract getDebugInfo(): DebugInfo

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

Returns

DebugInfo


getFramebufferSize()

abstract getFramebufferSize(): vec2

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

Returns

vec2


getName()

abstract getName(): string

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

Returns

string


getPlaneMesh()

getPlaneMesh(): Mesh

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

static mesh

Returns

Mesh


getSupportedViewModes()

getSupportedViewModes(): string[]

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

Returns

string[]


getTexture()

abstract getTexture(name): undefined | Texture

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

Parameters

name

string

Returns

undefined | Texture


internalDestroyGLTF()

abstract internalDestroyGLTF(info): void

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

Parameters

info

GLTFInfo

Returns

void


internalLoadGLTF()

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

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

Parameters

url

string

gltf

GlTf

options?

GLTFLoadingOptions

Returns

undefined | GLTFInfo


loadGLTF()

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

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

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

Parameters

url

string

options?

GLTFLoadingOptions

force?

boolean

Returns

Promise<undefined | GLTFInfo>


loadGLTFFromBinary()

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

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

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>


newMesh()

newMesh(): Mesh

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

Returns

Mesh


pickDepths()

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

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

Parameters

_pos

vec2[]

Returns

Promise<undefined | Float32Array<ArrayBufferLike>>


pickScene()

pickScene(_x, _y, _layers, _pos?, _clipPos?): Promise<undefined | Node>

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

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

x coordinate of the mouse

_y

number

y coordinate of the mouse

_layers

number = 0xff

a number specifying if you want to filter objects by layer, if skipped all layers are used

_pos?

vec3

where to store the final coordinate where the collision happened

_clipPos?

vec3

where to store the final clipSpace collision coordinate

Returns

Promise<undefined | Node>


preloadTexture()

abstract preloadTexture(url, name?): void

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

Parameters

url

string

name?

string

Returns

void


render()

abstract render(scene, camera, options?): void

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

Renders a scene from a point of view

Parameters

scene

Scene

camera

Camera

options?

SceneRenderOptions

Returns

void


resize()

resize(logical, device): void

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

Parameters

logical

Size

device

Size

Returns

void


setEnvironment()

abstract setEnvironment(env): void

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

Parameters

env

HDREnvironment

Returns

void


showTexture()

abstract showTexture(canvas, texture, gamma, flipY): void

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

Parameters

canvas

HTMLCanvasElement

texture

unknown

gamma

boolean

flipY

boolean

Returns

void


unloadGLTF()

unloadGLTF(url): void

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

Destroys one GLTF from memory

Parameters

url

string

Returns

void

Events

renderAlpha

renderAlpha: ROSEvent<RenderEvent>

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