Skip to content

Class: GPUContext

WebGPU api use context

Constructors

Properties

Methods

Constructors

constructor

new GPUContext()

Properties

lastGeometry

Static lastGeometry: GeometryBase

Defined in

src/gfx/renderJob/GPUContext.ts:14


lastPipeline

Static lastPipeline: GPURenderPipeline

Defined in

src/gfx/renderJob/GPUContext.ts:15


lastShader

Static lastShader: RenderShaderPass

Defined in

src/gfx/renderJob/GPUContext.ts:16


drawCount

Static drawCount: number = 0

Defined in

src/gfx/renderJob/GPUContext.ts:17


renderPassCount

Static renderPassCount: number = 0

Defined in

src/gfx/renderJob/GPUContext.ts:18


geometryCount

Static geometryCount: number = 0

Defined in

src/gfx/renderJob/GPUContext.ts:19


pipelineCount

Static pipelineCount: number = 0

Defined in

src/gfx/renderJob/GPUContext.ts:20


matrixCount

Static matrixCount: number = 0

Defined in

src/gfx/renderJob/GPUContext.ts:21


lastRenderPassState

Static lastRenderPassState: RendererPassState

Defined in

src/gfx/renderJob/GPUContext.ts:22


LastCommand

Static LastCommand: GPUCommandEncoder

Defined in

src/gfx/renderJob/GPUContext.ts:23

Methods

bindPipeline

Static bindPipeline(encoder, renderShader): void

renderPipeline before render need bind pipeline

Parameters

NameTypeDescription
encoderGPURenderPassEncoder | GPURenderBundleEncodercurrent GPURenderPassEncoder GPURenderPassEncoder GPURenderBundleEncoder
renderShaderRenderShaderPassrender pass shader RenderShaderPass

Returns

void

Defined in

src/gfx/renderJob/GPUContext.ts:31


bindCamera

Static bindCamera(encoder, camera): void

render before need make sure use camera

Parameters

NameTypeDescription
encoderGPURenderPassEncoder | GPURenderBundleEncodercurrent GPURenderPassEncoder GPURenderPassEncoder GPURenderBundleEncoder
cameraCamera3Duse camera Camera3D

Returns

void

Defined in

src/gfx/renderJob/GPUContext.ts:56


bindGeometryBuffer

Static bindGeometryBuffer(encoder, geometry): void

bind geometry vertex buffer to current render pipeline

Parameters

NameTypeDescription
encoderGPURenderPassEncoder | GPURenderBundleEncodercurrent GPURenderPassEncoder GPURenderPassEncoder GPURenderBundleEncoder
geometryGeometryBaseengine geometry

Returns

void

Defined in

src/gfx/renderJob/GPUContext.ts:68


cleanCache

Static cleanCache(): void

begin or end clean all use cache

Returns

void

Defined in

src/gfx/renderJob/GPUContext.ts:87


createPipeline

Static createPipeline(gpuRenderPipeline): GPURenderPipeline

create a render pipeline

Parameters

NameTypeDescription
gpuRenderPipelineGPURenderPipelineDescriptorGPURenderPipelineDescriptor

Returns

GPURenderPipeline

Defined in

src/gfx/renderJob/GPUContext.ts:98


beginCommandEncoder

Static beginCommandEncoder(): GPUCommandEncoder

auto get webgpu commandEncoder and start a command encoder

Returns

GPUCommandEncoder

commandEncoder GPUCommandEncoder

Defined in

src/gfx/renderJob/GPUContext.ts:107


endCommandEncoder

Static endCommandEncoder(command): void

end CommandEncoder record and submit

Parameters

NameTypeDescription
commandGPUCommandEncoderGPUCommandEncoder

Returns

void

Defined in

src/gfx/renderJob/GPUContext.ts:120


recordBundleEncoder

Static recordBundleEncoder(des): GPURenderBundleEncoder

create a renderBundle gpu object by GPURenderBundleEncoderDescriptor

Parameters

NameTypeDescription
desGPURenderBundleEncoderDescriptorGPURenderBundleEncoderDescriptor

Returns

GPURenderBundleEncoder

renderBundleEncoder GPURenderBundleEncoder

Defined in

src/gfx/renderJob/GPUContext.ts:133


beginRenderPass

Static beginRenderPass(command, renderPassState): GPURenderPassEncoder

render pass start return current use gpu renderPassEncoder

Parameters

NameTypeDescription
commandGPUCommandEncoderGPUCommandEncoder
renderPassStateRendererPassStateRendererPassState

Returns

GPURenderPassEncoder

encoder GPURenderPassEncoder

Defined in

src/gfx/renderJob/GPUContext.ts:144


drawIndexed

Static drawIndexed(encoder, indexCount, instanceCount?, firstIndex?, baseVertex?, firstInstance?): void

Start the rendering process to draw any pipes

Parameters

NameType
encoderGPURenderPassEncoder
indexCountnumber
instanceCount?number
firstIndex?number
baseVertex?number
firstInstance?number

Returns

void

Defined in

src/gfx/renderJob/GPUContext.ts:184


draw

Static draw(encoder, vertexCount, instanceCount?, firstVertex?, firstInstance?): void

Parameters

NameType
encoderGPURenderPassEncoder
vertexCountnumber
instanceCount?number
firstVertex?number
firstInstance?number

Returns

void

Defined in

src/gfx/renderJob/GPUContext.ts:193


endPass

Static endPass(encoder): void

The GPU must be informed of the end of encoder recording

Parameters

NameType
encoderGPURenderPassEncoder

Returns

void

Defined in

src/gfx/renderJob/GPUContext.ts:205


computeCommand

Static computeCommand(command, computes): void

Perform the final calculation and submit the Shader to the GPU

Parameters

NameType
commandGPUCommandEncoder
computesComputeShader[]

Returns

void

Defined in

src/gfx/renderJob/GPUContext.ts:215