Skip to content

@tmrw-realityos/charm


@tmrw-realityos/charm / RendererInterface

Class: abstract RendererInterface

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

Extended by

Constructors

Constructor

new RendererInterface(): RendererInterface

Returns

RendererInterface

Properties

_environment?

protected optional _environment: HDREnvironment

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


accelerationStructure

protected accelerationStructure: AccelerationStructure

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


accelerationStructureMustRebuild

protected accelerationStructureMustRebuild: boolean = false

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


backend

abstract backend: RendererBackend

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


basePath

basePath: string = ""

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


canvas?

optional canvas: HTMLCanvasElement

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


draw?

optional draw: DrawInterface

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


loadedGLTFs

loadedGLTFs: Map<string, GLTFInfo>

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


loadingGLTFs

loadingGLTFs: Map<string, LoadedGLTFCallback[]>

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


onRenderGizmos()?

optional onRenderGizmos: (renderer) => void

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

Parameters

renderer

RendererInterface

Returns

void


plane?

optional plane: Mesh

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


planeXY?

optional planeXY: Mesh

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


renderOptions

renderOptions: SceneRenderOptions

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


tinyGltf?

optional tinyGltf: TinyGltf

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


transparent

transparent: boolean = false

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

Accessors

environment

Get Signature

get environment(): undefined | HDREnvironment

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

Returns

undefined | HDREnvironment

Set Signature

set environment(env): void

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

Parameters
env

undefined | HDREnvironment

Returns

void

Methods

configureCanvas()

abstract configureCanvas(): void

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

Returns

void


destroy()

abstract destroy(): void

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

Destroy all allocated resources

Returns

void


destroyGLTF()

destroyGLTF(url): void

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

Frees from memory

Parameters

url

string

Returns

void


getFramebufferSize()

abstract getFramebufferSize(): vec2

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

Returns

vec2


getPlaneMesh()

getPlaneMesh(): Mesh

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

static mesh

Returns

Mesh


getSupportedViewModes()

getSupportedViewModes(): string[]

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

Returns

string[]


getTexture()

abstract getTexture(name): undefined | Texture

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

Parameters

name

string

Returns

undefined | Texture


internalDestroyGLTF()

internalDestroyGLTF(_info): void

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

Parameters

_info

GLTFInfo

Returns

void


internalLoadGLTF()

internalLoadGLTF(_url, _gltf, _options?): undefined | GLTFInfo

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

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: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>


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>


newMesh()

newMesh(): Mesh

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

Returns

Mesh


pickDepths()

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

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

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:237

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:339

Parameters

url

string

name?

string

Returns

void


render()

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

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

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:364

Parameters

logical

Size

device

Size

Returns

void


setEnvironment()

abstract setEnvironment(env): void

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

Parameters

env

HDREnvironment

Returns

void


showTexture()

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

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

Parameters

canvas

HTMLCanvasElement

texture

unknown

gamma

boolean

flipY

boolean

Returns

void

Events

renderAlpha

renderAlpha: ROSEvent<RenderEvent>

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