import { I3DGSRenderer } from '../renderer';
export declare class WebGLRenderer implements I3DGSRenderer {
    private canvas;
    private backgroundColor;
    private gl;
    private shaderProgram;
    private uniformLocations;
    private attributeLocations;
    private splatBuffer;
    private quadVertexBuffer;
    private vertexArray;
    private splatCount;
    private isInitialized;
    private splatBufferSize;
    constructor(canvas: HTMLCanvasElement, backgroundColor?: [number, number, number, number]);
    /**
     * 初始化 WebGL 渲染器
     */
    initialize(): Promise<void>;
    /**
     * 设置着色器位置
     */
    private setupShaderLocations;
    /**
     * 设置 WebGL 渲染状态
     */
    private setupWebGLState;
    /**
     * 创建渲染缓冲区
     */
    private createBuffers;
    /**
     * 创建四边形顶点缓冲区（实例化渲染用）
     */
    private createQuadVertexBuffer;
    /**
     * 从已打包数据加载（零拷贝，GPU 优化路径）
     * 🚀 性能优化版本：直接使用 WASM 输出的 packed 数据
     * 🚀 Buffer 复用：避免每帧重新分配，使用 bufferSubData 更新
     * @param packedData Float32Array [pos3, color4, cov6] x N 个点
     * @param pointCount 点数
     * @param _sortOrder WebGL 忽略此参数（已在 RenderSystem 中重排序）
     */
    loadSplatsFromPackedData(packedData: Float32Array, pointCount: number, _sortOrder?: Uint32Array): void;
    /**
     * 上传数据到 GPU
     */
    private uploadToGPU;
    /**
     * 设置实例化渲染顶点属性
     */
    private setupVertexAttributes;
    /**
     * 渲染一帧
     */
    render(viewMatrix: Float32Array, projectionMatrix: Float32Array, screenSize: [number, number]): void;
    /**
     * 创建着色器程序
     */
    private createShaderProgram;
    /**
     * 清理资源
     */
    dispose(): void;
}
//# sourceMappingURL=webglRenderer.d.ts.map