UNPKG

@spatialwalk/avatarkit

Version:

SPAvatar SDK - 3D Gaussian Splatting Avatar Rendering SDK

54 lines 1.57 kB
import { I3DGSRenderer } from '../renderer'; export declare class WebGPURenderer implements I3DGSRenderer { private canvas; private backgroundColor; private device; private context; private renderPipeline; private quadVertexBuffer; private uniformBuffer; private uniformBindGroup; private sortIndexBuffer; private splatDataBuffer; private storageBindGroup; private lastSortOrder; private bindGroupNeedsUpdate; private splatCount; private presentationFormat; constructor(canvas: HTMLCanvasElement, backgroundColor?: [number, number, number, number]); /** * 初始化 WebGPU 渲染器 */ initialize(): Promise<void>; /** * 创建 Uniform Buffer */ private createUniformBuffer; /** * 创建四边形顶点缓冲区(实例化渲染用) */ private createQuadVertexBuffer; /** * 创建 Render Pipeline */ private createRenderPipeline; /** * 从已打包数据加载 * 🚀 间接索引渲染:packedData 是原始数据,sortOrder 是排序索引 * 🚀 完全消除 CPU 重排序开销 */ loadSplatsFromPackedData(packedData: Float32Array, pointCount: number, sortOrder?: Uint32Array): void; /** * 渲染一帧 */ render(viewMatrix: Float32Array, projectionMatrix: Float32Array, screenSize: [number, number]): void; /** * 更新 Uniform Buffer */ private updateUniforms; /** * 清理资源 */ dispose(): void; } //# sourceMappingURL=webgpuRenderer.d.ts.map