Skip to content

Documentation / device / BaseDevice

Abstract Class: BaseDevice

Defined in: libs/device/src/device.ts:229

Base class for rendering device

Extends

Constructors

Constructor

new BaseDevice(cvs, backend, dpr?): BaseDevice

Defined in: libs/device/src/device.ts:257

Parameters

cvs

HTMLCanvasElement

backend

DeviceBackend

dpr?

number

Returns

BaseDevice

Overrides

Observable<DeviceEventMap>.constructor

Properties

[EventMapType]?

readonly optional [EventMapType]?: DeviceEventMap

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

Type-only event map marker.


_dpr

protected _dpr: number

Defined in: libs/device/src/device.ts:230


_canvas

protected _canvas: HTMLCanvasElement

Defined in: libs/device/src/device.ts:231


_canvasClientWidth

protected _canvasClientWidth: number

Defined in: libs/device/src/device.ts:232


_canvasClientHeight

protected _canvasClientHeight: number

Defined in: libs/device/src/device.ts:233


_gpuObjectList

protected _gpuObjectList: GPUObjectList

Defined in: libs/device/src/device.ts:234


_gpuMemCost

protected _gpuMemCost: number

Defined in: libs/device/src/device.ts:235


_disposeObjectList

protected _disposeObjectList: GPUObject<unknown>[]

Defined in: libs/device/src/device.ts:236


_beginFrameTime

protected _beginFrameTime: number

Defined in: libs/device/src/device.ts:237


_endFrameTime

protected _endFrameTime: number

Defined in: libs/device/src/device.ts:238


_fixedFrameTime

protected _fixedFrameTime: number

Defined in: libs/device/src/device.ts:239


_fixedFrameClock

protected _fixedFrameClock: number

Defined in: libs/device/src/device.ts:240


_frameInfo

protected _frameInfo: FrameInfo

Defined in: libs/device/src/device.ts:241


_cpuTimer

protected _cpuTimer: CPUTimer

Defined in: libs/device/src/device.ts:242


_gpuTimer

protected _gpuTimer: ITimer

Defined in: libs/device/src/device.ts:243


_runningLoop

protected _runningLoop: number

Defined in: libs/device/src/device.ts:244


_fpsCounter

protected _fpsCounter: object

Defined in: libs/device/src/device.ts:245

time

time: number

frame

frame: number


_runLoopFunc

protected _runLoopFunc: (device) => void

Defined in: libs/device/src/device.ts:246

Parameters

device

AbstractDevice

Returns

void


_backend

protected _backend: DeviceBackend

Defined in: libs/device/src/device.ts:247


_beginFrameCounter

protected _beginFrameCounter: number

Defined in: libs/device/src/device.ts:248


_maxFramesInFlight

protected _maxFramesInFlight: number

Defined in: libs/device/src/device.ts:249


_programBuilder

protected _programBuilder: ProgramBuilder

Defined in: libs/device/src/device.ts:250


_poolMap

protected _poolMap: Map<string | symbol, Pool>

Defined in: libs/device/src/device.ts:251


_defaultPoolKey

protected _defaultPoolKey: symbol

Defined in: libs/device/src/device.ts:252


_temporalFramebuffer

protected _temporalFramebuffer: boolean

Defined in: libs/device/src/device.ts:253


_vSync

protected _vSync: boolean

Defined in: libs/device/src/device.ts:254

Accessors

clipSpaceZeroToOne

Get Signature

get abstract clipSpaceZeroToOne(): boolean

Defined in: libs/device/src/device.ts:336

Returns

boolean


backend

Get Signature

get backend(): DeviceBackend

Defined in: libs/device/src/device.ts:487

Returns

DeviceBackend


videoMemoryUsage

Get Signature

get videoMemoryUsage(): number

Defined in: libs/device/src/device.ts:490

Returns

number


frameInfo

Get Signature

get frameInfo(): FrameInfo

Defined in: libs/device/src/device.ts:493

Returns

FrameInfo


maxFramesInFlight

Get Signature

get maxFramesInFlight(): number

Defined in: libs/device/src/device.ts:496

Returns

number

Set Signature

set maxFramesInFlight(value): void

Defined in: libs/device/src/device.ts:499

Parameters
value

number

Returns

void


isRendering

Get Signature

get isRendering(): boolean

Defined in: libs/device/src/device.ts:502

Returns

boolean


canvas

Get Signature

get canvas(): HTMLCanvasElement

Defined in: libs/device/src/device.ts:505

Returns

HTMLCanvasElement


type

Get Signature

get type(): string

Defined in: libs/device/src/device.ts:508

Returns

string


vSync

Get Signature

get vSync(): boolean

Defined in: libs/device/src/device.ts:511

Returns

boolean

Set Signature

set vSync(val): void

Defined in: libs/device/src/device.ts:514

Parameters
val

boolean

Returns

void


fixedFrameTime

Get Signature

get fixedFrameTime(): number

Defined in: libs/device/src/device.ts:517

Returns

number


pool

Get Signature

get pool(): Pool

Defined in: libs/device/src/device.ts:528

Returns

Pool


runLoopFunction

Get Signature

get runLoopFunction(): (device) => void

Defined in: libs/device/src/device.ts:531

Returns

(device) => void


programBuilder

Get Signature

get programBuilder(): ProgramBuilder

Defined in: libs/device/src/device.ts:534

Returns

ProgramBuilder

Methods

on()

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

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

IEventTarget.on

Type Parameters

K

K extends keyof DeviceEventMap

Parameters

type

K

listener

EventListener<DeviceEventMap, K>

context?

unknown

Returns

void

Inherited from

Observable.on


once()

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

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

IEventTarget.once

Type Parameters

K

K extends keyof DeviceEventMap

Parameters

type

K

listener

EventListener<DeviceEventMap, K>

context?

unknown

Returns

void

Inherited from

Observable.once


off()

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

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

IEventTarget.off

Type Parameters

K

K extends keyof DeviceEventMap

Parameters

type

K

listener?

EventListener<DeviceEventMap>

context?

unknown

Returns

void

Inherited from

Observable.off


dispatchEvent()

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

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

IEventTarget.dispatchEvent

Type Parameters

K

K extends keyof DeviceEventMap

Parameters

type

K

args

...DeviceEventMap[K]

Returns

void

Inherited from

Observable.dispatchEvent


getScaleX()

getScaleX(): number

Defined in: libs/device/src/device.ts:322

Returns

number


getScaleY()

getScaleY(): number

Defined in: libs/device/src/device.ts:325

Returns

number


getAdapterInfo()

abstract getAdapterInfo(): any

Defined in: libs/device/src/device.ts:328

Returns

any


getFrameBufferSampleCount()

abstract getFrameBufferSampleCount(): number

Defined in: libs/device/src/device.ts:329

Returns

number


isContextLost()

abstract isContextLost(): boolean

Defined in: libs/device/src/device.ts:330

Returns

boolean


getDrawingBufferWidth()

abstract getDrawingBufferWidth(): number

Defined in: libs/device/src/device.ts:331

Returns

number


getDrawingBufferHeight()

abstract getDrawingBufferHeight(): number

Defined in: libs/device/src/device.ts:332

Returns

number


getBackBufferWidth()

abstract getBackBufferWidth(): number

Defined in: libs/device/src/device.ts:333

Returns

number


getBackBufferHeight()

abstract getBackBufferHeight(): number

Defined in: libs/device/src/device.ts:334

Returns

number


getDeviceCaps()

abstract getDeviceCaps(): Immutable<DeviceCaps>

Defined in: libs/device/src/device.ts:335

Returns

Immutable<DeviceCaps>


initContext()

abstract initContext(): Promise<void>

Defined in: libs/device/src/device.ts:337

Returns

Promise<void>


clearFrameBuffer()

abstract clearFrameBuffer(clearColor, clearDepth, clearStencil): void

Defined in: libs/device/src/device.ts:338

Parameters

clearColor

Vector4 | readonly Vector4[]

clearDepth

number

clearStencil

number

Returns

void


createGPUTimer()

abstract createGPUTimer(): ITimer

Defined in: libs/device/src/device.ts:343

Returns

ITimer


createRenderStateSet()

abstract createRenderStateSet(): RenderStateSet

Defined in: libs/device/src/device.ts:344

Returns

RenderStateSet


createBlendingState()

abstract createBlendingState(): BlendingState

Defined in: libs/device/src/device.ts:345

Returns

BlendingState


createColorState()

abstract createColorState(): ColorState

Defined in: libs/device/src/device.ts:346

Returns

ColorState


createRasterizerState()

abstract createRasterizerState(): RasterizerState

Defined in: libs/device/src/device.ts:347

Returns

RasterizerState


createDepthState()

abstract createDepthState(): DepthState

Defined in: libs/device/src/device.ts:348

Returns

DepthState


createStencilState()

abstract createStencilState(): StencilState

Defined in: libs/device/src/device.ts:349

Returns

StencilState


createSampler()

abstract createSampler(options): TextureSampler

Defined in: libs/device/src/device.ts:350

Parameters

options

SamplerOptions

Returns

TextureSampler


createTextureFromMipmapData()

abstract createTextureFromMipmapData<T>(data, sRGB, options?): T

Defined in: libs/device/src/device.ts:351

Type Parameters

T

T extends BaseTexture<unknown>

Parameters

data

TextureMipmapData

sRGB

boolean

options?

TextureCreationOptions

Returns

T


createTexture2D()

abstract createTexture2D(format, width, height, options?): Texture2D<unknown>

Defined in: libs/device/src/device.ts:356

Parameters

format

TextureFormat

width

number

height

number

options?

TextureCreationOptions

Returns

Texture2D<unknown>


createTexture2DFromImage()

abstract createTexture2DFromImage(element, sRGB, options?): Texture2D<unknown>

Defined in: libs/device/src/device.ts:362

Parameters

element

TextureImageElement

sRGB

boolean

options?

TextureCreationOptions

Returns

Texture2D<unknown>


createTexture2DArray()

abstract createTexture2DArray(format, width, height, depth, options?): Texture2DArray<unknown>

Defined in: libs/device/src/device.ts:367

Parameters

format

TextureFormat

width

number

height

number

depth

number

options?

TextureCreationOptions

Returns

Texture2DArray<unknown>


createTexture2DArrayFromImages()

abstract createTexture2DArrayFromImages(elements, sRGB, options?): Texture2DArray<unknown>

Defined in: libs/device/src/device.ts:374

Parameters

elements

TextureImageElement[]

sRGB

boolean

options?

TextureCreationOptions

Returns

Texture2DArray<unknown>


createTexture3D()

abstract createTexture3D(format, width, height, depth, options?): Texture3D<unknown>

Defined in: libs/device/src/device.ts:379

Parameters

format

TextureFormat

width

number

height

number

depth

number

options?

TextureCreationOptions

Returns

Texture3D<unknown>


createCubeTexture()

abstract createCubeTexture(format, size, options?): TextureCube<unknown>

Defined in: libs/device/src/device.ts:386

Parameters

format

TextureFormat

size

number

options?

TextureCreationOptions

Returns

TextureCube<unknown>


createTextureVideo()

abstract createTextureVideo(el, samplerOptions?): TextureVideo

Defined in: libs/device/src/device.ts:391

Parameters

el

HTMLVideoElement

samplerOptions?

SamplerOptions

Returns

TextureVideo


reverseVertexWindingOrder()

abstract reverseVertexWindingOrder(reverse): void

Defined in: libs/device/src/device.ts:392

Parameters

reverse

boolean

Returns

void


isWindingOrderReversed()

abstract isWindingOrderReversed(): boolean

Defined in: libs/device/src/device.ts:393

Returns

boolean


copyTexture2D()

abstract copyTexture2D(src, srcLevel, dst, dstLevel): void

Defined in: libs/device/src/device.ts:394

Parameters

src

Texture2D

srcLevel

number

dst

Texture2D

dstLevel

number

Returns

void


copyFramebufferToTexture2D()

abstract copyFramebufferToTexture2D(src, index, dst, level): void

Defined in: libs/device/src/device.ts:395

Parameters

src

FrameBuffer

index

number

dst

Texture2D

level

number

Returns

void


createGPUProgram()

abstract createGPUProgram(params): GPUProgram

Defined in: libs/device/src/device.ts:397

Parameters

params

GPUProgramConstructParams

Returns

GPUProgram


createBindGroup()

abstract createBindGroup(layout): BindGroup

Defined in: libs/device/src/device.ts:398

Parameters

layout

Immutable<BindGroupLayout>

Returns

BindGroup


createBuffer()

abstract createBuffer(sizeInBytes, options): GPUDataBuffer

Defined in: libs/device/src/device.ts:399

Parameters

sizeInBytes

number

options

BufferCreationOptions

Returns

GPUDataBuffer


copyBuffer()

abstract copyBuffer(sourceBuffer, destBuffer, srcOffset, dstOffset, bytes): void

Defined in: libs/device/src/device.ts:400

Parameters

sourceBuffer

GPUDataBuffer

destBuffer

GPUDataBuffer

srcOffset

number

dstOffset

number

bytes

number

Returns

void


createIndexBuffer()

abstract createIndexBuffer(data, options?): IndexBuffer

Defined in: libs/device/src/device.ts:407

Parameters

data

Uint16Array<ArrayBuffer> | Uint32Array<ArrayBuffer>

options?

BufferCreationOptions

Returns

IndexBuffer


createStructuredBuffer()

abstract createStructuredBuffer(structureType, options, data?): StructuredBuffer

Defined in: libs/device/src/device.ts:411

Parameters

structureType

PBStructTypeInfo

options

BufferCreationOptions

data?

TypedArray

Returns

StructuredBuffer


createVertexLayout()

abstract createVertexLayout(options): VertexLayout

Defined in: libs/device/src/device.ts:416

Parameters

options

VertexLayoutOptions

Returns

VertexLayout


createFrameBuffer()

abstract createFrameBuffer(colorAttachments, depthAttachment, options?): FrameBuffer

Defined in: libs/device/src/device.ts:417

Parameters

colorAttachments

BaseTexture<unknown>[]

depthAttachment

BaseTexture<unknown>

options?

FrameBufferOptions

Returns

FrameBuffer


setViewport()

abstract setViewport(vp): void

Defined in: libs/device/src/device.ts:423

Parameters

vp

Immutable<number[] | DeviceViewport>

Returns

void


getViewport()

abstract getViewport(): Immutable<DeviceViewport>

Defined in: libs/device/src/device.ts:424

Returns

Immutable<DeviceViewport>


setScissor()

abstract setScissor(scissor): void

Defined in: libs/device/src/device.ts:425

Parameters

scissor

Immutable<number[] | DeviceViewport>

Returns

void


getScissor()

abstract getScissor(): Immutable<DeviceViewport>

Defined in: libs/device/src/device.ts:426

Returns

Immutable<DeviceViewport>


setProgram()

abstract setProgram(program): void

Defined in: libs/device/src/device.ts:427

Parameters

program

GPUProgram<unknown>

Returns

void


getProgram()

abstract getProgram(): GPUProgram<unknown>

Defined in: libs/device/src/device.ts:428

Returns

GPUProgram<unknown>


setVertexLayout()

abstract setVertexLayout(vertexData): void

Defined in: libs/device/src/device.ts:429

Parameters

vertexData

VertexLayout<unknown>

Returns

void


getVertexLayout()

abstract getVertexLayout(): VertexLayout<unknown>

Defined in: libs/device/src/device.ts:430

Returns

VertexLayout<unknown>


setRenderStates()

abstract setRenderStates(renderStates): void

Defined in: libs/device/src/device.ts:431

Parameters

renderStates

RenderStateSet

Returns

void


getRenderStates()

abstract getRenderStates(): RenderStateSet

Defined in: libs/device/src/device.ts:432

Returns

RenderStateSet


getFramebuffer()

abstract getFramebuffer(): FrameBuffer<unknown>

Defined in: libs/device/src/device.ts:433

Returns

FrameBuffer<unknown>


setBindGroup()

abstract setBindGroup(index, bindGroup, dynamicOffsets?): void

Defined in: libs/device/src/device.ts:434

Parameters

index

number

bindGroup

BindGroup

dynamicOffsets?

Iterable<number>

Returns

void


getBindGroup()

abstract getBindGroup(index): [BindGroup, Iterable<number, any, any>]

Defined in: libs/device/src/device.ts:439

Parameters

index

number

Returns

[BindGroup, Iterable<number, any, any>]


flush()

abstract flush(): void

Defined in: libs/device/src/device.ts:440

Returns

void


nextFrame()

abstract nextFrame(callback): number

Defined in: libs/device/src/device.ts:441

Parameters

callback

() => void

Returns

number


cancelNextFrame()

abstract cancelNextFrame(handle): void

Defined in: libs/device/src/device.ts:442

Parameters

handle

number

Returns

void


readPixels()

abstract readPixels(index, x, y, w, h, buffer): Promise<void>

Defined in: libs/device/src/device.ts:444

Parameters

index

number

x

number

y

number

w

number

h

number

buffer

TypedArray

Returns

Promise<void>


readPixelsToBuffer()

abstract readPixelsToBuffer(index, x, y, w, h, buffer): void

Defined in: libs/device/src/device.ts:452

Parameters

index

number

x

number

y

number

w

number

h

number

buffer

GPUDataBuffer

Returns

void


beginCapture()

abstract beginCapture(): void

Defined in: libs/device/src/device.ts:460

Returns

void


endCapture()

abstract endCapture(): unknown

Defined in: libs/device/src/device.ts:461

Returns

unknown


looseContext()

abstract looseContext(): void

Defined in: libs/device/src/device.ts:462

Returns

void


restoreContext()

abstract restoreContext(): void

Defined in: libs/device/src/device.ts:463

Returns

void


_executeRenderBundle()

abstract protected _executeRenderBundle(renderBundle): number

Defined in: libs/device/src/device.ts:464

Parameters

renderBundle

unknown

Returns

number


_draw()

abstract protected _draw(primitiveType, first, count): void

Defined in: libs/device/src/device.ts:465

Parameters

primitiveType

PrimitiveType

first

number

count

number

Returns

void


_drawInstanced()

abstract protected _drawInstanced(primitiveType, first, count, numInstances): void

Defined in: libs/device/src/device.ts:466

Parameters

primitiveType

PrimitiveType

first

number

count

number

numInstances

number

Returns

void


_drawIndirect()

abstract protected _drawIndirect(primitiveType, indirectBuffer, indirectOffset): void

Defined in: libs/device/src/device.ts:472

Parameters

primitiveType

PrimitiveType

indirectBuffer

GPUDataBuffer

indirectOffset

number

Returns

void


_drawIndexedIndirect()

abstract protected _drawIndexedIndirect(primitiveType, indirectBuffer, indirectOffset): void

Defined in: libs/device/src/device.ts:477

Parameters

primitiveType

PrimitiveType

indirectBuffer

GPUDataBuffer

indirectOffset

number

Returns

void


_compute()

abstract protected _compute(workgroupCountX, workgroupCountY, workgroupCountZ): void

Defined in: libs/device/src/device.ts:482

Parameters

workgroupCountX

number

workgroupCountY

number

workgroupCountZ

number

Returns

void


setFixedFrameTime()

setFixedFrameTime(ms): void

Defined in: libs/device/src/device.ts:520

Parameters

ms

number

Returns

void


poolExists()

poolExists(key): boolean

Defined in: libs/device/src/device.ts:537

Parameters

key

string | symbol

Returns

boolean


getPool()

getPool(key): Pool

Defined in: libs/device/src/device.ts:540

Parameters

key

string | symbol

Returns

Pool


setFont()

setFont(fontName): void

Defined in: libs/device/src/device.ts:548

Parameters

fontName

string

Returns

void


setTextRenderStates()

setTextRenderStates(renderStates): void

Defined in: libs/device/src/device.ts:551

Parameters

renderStates

RenderStateSet

Returns

void


drawText()

Call Signature

drawText(text, x, y, color): void

Defined in: libs/device/src/device.ts:554

Parameters
text

string

x

number

y

number

color

string | Vector4 | Vector3

Returns

void

Call Signature

drawText(text, rect, color, options?): void

Defined in: libs/device/src/device.ts:555

Parameters
text

string

rect

Immutable<Rect>

color

string | Vector4 | Vector3

options?

DrawTextLayoutOptions

Returns

void


setFramebuffer()

Call Signature

setFramebuffer(rt): void

Defined in: libs/device/src/device.ts:586

Parameters
rt

FrameBuffer<unknown>

Returns

void

Call Signature

setFramebuffer(color, depth?, sampleCount?): void

Defined in: libs/device/src/device.ts:587

Parameters
color

BaseTexture<unknown>[]

depth?

BaseTexture

sampleCount?

number

Returns

void


disposeObject()

disposeObject(obj, remove?): void

Defined in: libs/device/src/device.ts:610

Parameters

obj

GPUObject

remove?

boolean = true

Returns

void


restoreObject()

restoreObject(obj): void

Defined in: libs/device/src/device.ts:622

Parameters

obj

GPUObject

Returns

void


enableGPUTimeRecording()

enableGPUTimeRecording(enable): void

Defined in: libs/device/src/device.ts:628

Parameters

enable

boolean

Returns

void


beginTimestampQuery()

beginTimestampQuery(_label?, _options?): number

Defined in: libs/device/src/device.ts:636

Parameters

_label?

string

_options?

TimestampQueryOptions

Returns

number


endTimestampQuery()

endTimestampQuery(_id): void

Defined in: libs/device/src/device.ts:639

Parameters

_id

number

Returns

void


pollTimestampQuery()

pollTimestampQuery(query): TimestampQueryResult

Defined in: libs/device/src/device.ts:642

Parameters

query

TimestampQueryHandle

Returns

TimestampQueryResult


resolveTimestampQuery()

resolveTimestampQuery(query): Promise<TimestampQueryResult>

Defined in: libs/device/src/device.ts:645

Parameters

query

TimestampQueryHandle

Returns

Promise<TimestampQueryResult>


collectTimestampQueries()

collectTimestampQueries(_filter?): TimestampQueryResult[]

Defined in: libs/device/src/device.ts:648

Parameters

_filter?

TimestampQueryFilter

Returns

TimestampQueryResult[]


beginFrame()

beginFrame(): boolean

Defined in: libs/device/src/device.ts:651

Returns

boolean


endFrame()

endFrame(): void

Defined in: libs/device/src/device.ts:669

Returns

void


inFrame()

inFrame(): boolean

Defined in: libs/device/src/device.ts:679

Returns

boolean


getVertexAttribFormat()

getVertexAttribFormat(semantic, dataType, componentCount): VertexAttribFormat

Defined in: libs/device/src/device.ts:691

Parameters

semantic

VertexSemantic

dataType

DataType

componentCount

number

Returns

VertexAttribFormat


createInterleavedVertexBuffer()

createInterleavedVertexBuffer(attribFormats, data, options?): StructuredBuffer<unknown>

Defined in: libs/device/src/device.ts:694

Parameters

attribFormats

VertexAttribFormat[]

data

TypedArray

options?

BufferCreationOptions

Returns

StructuredBuffer<unknown>


createVertexBuffer()

createVertexBuffer(attribFormat, data, options?): StructuredBuffer<unknown>

Defined in: libs/device/src/device.ts:730

Parameters

attribFormat

VertexAttribFormat

data

TypedArray

options?

BufferCreationOptions

Returns

StructuredBuffer<unknown>


draw()

draw(primitiveType, first, count): void

Defined in: libs/device/src/device.ts:759

Parameters

primitiveType

PrimitiveType

first

number

count

number

Returns

void


drawInstanced()

drawInstanced(primitiveType, first, count, numInstances): void

Defined in: libs/device/src/device.ts:763

Parameters

primitiveType

PrimitiveType

first

number

count

number

numInstances

number

Returns

void


drawIndirect()

drawIndirect(primitiveType, indirectBuffer, indirectOffset?): void

Defined in: libs/device/src/device.ts:767

Parameters

primitiveType

PrimitiveType

indirectBuffer

GPUDataBuffer

indirectOffset?

number = 0

Returns

void


drawIndexedIndirect()

drawIndexedIndirect(primitiveType, indirectBuffer, indirectOffset?): void

Defined in: libs/device/src/device.ts:771

Parameters

primitiveType

PrimitiveType

indirectBuffer

GPUDataBuffer

indirectOffset?

number = 0

Returns

void


executeRenderBundle()

executeRenderBundle(renderBundle): void

Defined in: libs/device/src/device.ts:775

Parameters

renderBundle

unknown

Returns

void


compute()

compute(workgroupCountX, workgroupCountY, workgroupCountZ): void

Defined in: libs/device/src/device.ts:778

Parameters

workgroupCountX

number

workgroupCountY

number

workgroupCountZ

number

Returns

void


runNextFrame()

runNextFrame(f): void

Defined in: libs/device/src/device.ts:782

Parameters

f

() => void

Returns

void


runNextFrameAsync()

runNextFrameAsync(f): Promise<void>

Defined in: libs/device/src/device.ts:787

Parameters

f

() => void | Promise<void>

Returns

Promise<void>


exitLoop()

exitLoop(): void

Defined in: libs/device/src/device.ts:803

Returns

void


runLoop()

runLoop(func): void

Defined in: libs/device/src/device.ts:813

Parameters

func

(device) => void

Returns

void


pushDeviceStates()

pushDeviceStates(): void

Defined in: libs/device/src/device.ts:840

Returns

void


popDeviceStates()

popDeviceStates(): void

Defined in: libs/device/src/device.ts:852

Returns

void


getGPUObjects()

getGPUObjects(): GPUObjectList

Defined in: libs/device/src/device.ts:870

Returns

GPUObjectList


getGPUObjectById()

getGPUObjectById(uid): BaseTexture<unknown> | TextureSampler<unknown> | GPUDataBuffer<unknown> | GPUProgram<unknown> | FrameBuffer<unknown> | VertexLayout<unknown>

Defined in: libs/device/src/device.ts:873

Parameters

uid

number

Returns

BaseTexture<unknown> | TextureSampler<unknown> | GPUDataBuffer<unknown> | GPUProgram<unknown> | FrameBuffer<unknown> | VertexLayout<unknown>


screenXToDevice()

screenXToDevice(val): number

Defined in: libs/device/src/device.ts:890

Parameters

val

number

Returns

number


deviceXToScreen()

deviceXToScreen(val): number

Defined in: libs/device/src/device.ts:893

Parameters

val

number

Returns

number


screenYToDevice()

screenYToDevice(val): number

Defined in: libs/device/src/device.ts:896

Parameters

val

number

Returns

number


deviceYToScreen()

deviceYToScreen(val): number

Defined in: libs/device/src/device.ts:899

Parameters

val

number

Returns

number


buildRenderProgram()

buildRenderProgram(options): GPUProgram<unknown>

Defined in: libs/device/src/device.ts:902

Parameters

options

PBRenderOptions

Returns

GPUProgram<unknown>


buildComputeProgram()

buildComputeProgram(options): GPUProgram<unknown>

Defined in: libs/device/src/device.ts:905

Parameters

options

PBComputeOptions

Returns

GPUProgram<unknown>


getGPUObjectStack()

getGPUObjectStack(obj): string

Defined in: libs/device/src/device.ts:908

Parameters

obj

GPUObject

Returns

string


addGPUObject()

addGPUObject(obj): void

Defined in: libs/device/src/device.ts:911

Parameters

obj

GPUObject

Returns

void


removeGPUObject()

removeGPUObject(obj): void

Defined in: libs/device/src/device.ts:919

Parameters

obj

GPUObject

Returns

void


updateVideoMemoryCost()

updateVideoMemoryCost(delta): void

Defined in: libs/device/src/device.ts:930

Parameters

delta

number

Returns

void


onBeginFrame()

abstract protected onBeginFrame(): boolean

Defined in: libs/device/src/device.ts:933

Returns

boolean


onEndFrame()

abstract protected onEndFrame(): void

Defined in: libs/device/src/device.ts:934

Returns

void


_setFramebuffer()

abstract protected _setFramebuffer(fb): void

Defined in: libs/device/src/device.ts:935

Parameters

fb

FrameBuffer<unknown>

Returns

void


_handleResize()

abstract protected _handleResize(cssWidth, cssHeight, deviceWidth, deviceHeight): void

Defined in: libs/device/src/device.ts:936

Parameters

cssWidth

number

cssHeight

number

deviceWidth

number

deviceHeight

number

Returns

void


initResizer()

protected initResizer(): Promise<void>

Defined in: libs/device/src/device.ts:942

Returns

Promise<void>


invalidateAll()

protected invalidateAll(): void

Defined in: libs/device/src/device.ts:1032

Returns

void


reloadAll()

protected reloadAll(): void

Defined in: libs/device/src/device.ts:1053

Returns

void


parseTextureOptions()

protected parseTextureOptions(options?): number

Defined in: libs/device/src/device.ts:1070

Parameters

options?

TextureCreationOptions

Returns

number


parseBufferOptions()

protected parseBufferOptions(options?, defaultUsage?): number

Defined in: libs/device/src/device.ts:1079

Parameters

options?

BufferCreationOptions

defaultUsage?

BufferUsage

Returns

number

Released under the MIT License.