Skip to content

@tmrw-realityos/charm / Exports

@tmrw-realityos/charm

Table of contents

Classes

Interfaces

Type Aliases

Functions

Type Aliases

GlTfId

Ƭ GlTfId: number

Defined in

packages/charm/src/fileFormats/GLTF.ts:2

Functions

createTextureFromImage

createTextureFromImage(device, image): WebGPUTexture

Create WebGPU texture from HTML image

Parameters

NameTypeDescription
deviceGPUDeviceGPU device
imageHTMLImageElementImage

Returns

WebGPUTexture

WebGPU texture in rgba8unorm format

Defined in

packages/charm/src/graphics/WebGPU/WebGPUTextureTools.ts:14


createTextureFromKTX2Data

createTextureFromKTX2Data(device, data, existingLoader?): WebGPUTexture

Create a GPU texture in compressed or uncompressed format, depending on device features.

Parameters

NameTypeDescription
deviceGPUDeviceGPU device
dataArrayBufferKTX data as arraybuffer
existingLoader?KTX2TextureLoaderExisting KTX2 texture loader.

Returns

WebGPUTexture

WebGPU texture in compressed format

Defined in

packages/charm/src/graphics/WebGPU/WebGPUTextureTools.ts:30


getDevice

getDevice(): Promise<GPUDevice>

Returns

Promise<GPUDevice>

Defined in

packages/charm/src/graphics/WebGPU/WebGPUDevice.ts:1


on

on<T>(el, evt, cb): RemoveEventListener

Utility function to register and unregister event handlers in the DOM.

Normally, many things can go wrong in the traditional pattern of addEventListener and removeEventListener. If the function ref being passed to removeEventListener is not exactly identical to the function passed to addEventListener, the callback will not be removed and thus cause a leak. This pattern takes care of this issue.

Encourages a naming convention of "on" to register an event listener and "off" to remove it.

Type parameters

NameType
Textends Element

Parameters

NameType
elT
evtstring
cb(event: Event) => void

Returns

RemoveEventListener

Defined in

packages/charm/src/helpers/events.ts:11


readDepthTexture

readDepthTexture(context, depthTexture, pixelCoordinates, flipY?): Promise<Float32Array>

Read pixel values from a depth texture

Parameters

NameTypeDefault valueDescription
contextWebGPURenderContextundefinedRendering context
depthTextureGPUTextureundefinedDepth texture to read from, must be created with GPUTextureUsage.TEXTURE_BINDING. Can be multisampled.
pixelCoordinatesvec3[] | [number, number][] | [number, number, number][] | vec2[]undefinedArray of coordinates to read
flipYbooleanfalseFlip the y pixel coordinate

Returns

Promise<Float32Array>

Array of length pixelCoordinates.length containing the depth texture values

Defined in

packages/charm/src/graphics/WebGPU/WebGPUTextureTools.ts:123