@feng3d/webgpu
    Preparing search index...

    Class WGPUBuffer

    WebGPU缓冲区管理器。 负责管理GPU缓冲区的创建、数据写入和生命周期管理。 使用响应式系统自动处理缓冲区更新和数据同步。

    Hierarchy

    • ReactiveObject
      • WGPUBuffer
    Index

    Constructors

    • 构造函数

      Parameters

      • device: GPUDevice

        GPU设备实例

      • buffer: Buffer

        缓冲区配置对象

      Returns WGPUBuffer

    Properties

    defaultGPUBufferUsage: number = ...

    默认GPU缓冲区使用标志 包含除CPU与GPU数据交换外的所有常用缓冲区用途 注意:不包含MAP_READ和MAP_WRITE,这些需要特殊处理

    Accessors

    Methods

    • 销毁响应式类实例

      执行清理操作:

      1. 执行所有注册的清理函数
      2. 停止所有副作用作用域,防止副作用继续执行
      3. 清理引用,帮助垃圾回收,防止内存泄漏

      重要:

      • 子类重写此方法时必须调用 super.destroy()
      • 确保在类实例不再使用时调用此方法
      • 调用后实例将无法再使用 effect() 方法

      使用示例:

      class MyClass extends ReactiveObject {
      destroy() {
      // 执行子类特定的清理逻辑
      this.cleanup();

      // 必须调用父类的destroy方法
      super.destroy();
      }
      }

      Returns void

    • 销毁时执行的函数

      Parameters

      • callback: () => void

        销毁时执行的函数

      Returns void

    • 创建并运行副作用

      功能:

      1. 将传入的函数包装为副作用
      2. 自动收集副作用中访问的响应式属性作为依赖
      3. 当依赖变化时自动重新执行副作用
      4. 在类销毁时自动停止副作用

      使用场景:

      • 监听属性变化并执行相应操作
      • 自动更新UI或重新计算派生状态
      • 执行清理或初始化逻辑

      Parameters

      • fn: () => void

        副作用函数,会在依赖变化时自动执行

        使用示例:

        this.effect(() => {
        // 访问响应式属性,建立依赖关系
        const value = reactive(this).someProperty;

        // 执行相应的逻辑
        this.updateUI(value);
        });

      Returns Effect

    • 获取或创建WGPUBuffer实例 使用设备+缓冲区的组合作为缓存键,避免重复创建

      Parameters

      • device: GPUDevice

        GPU设备实例

      • buffer: Buffer

        缓冲区配置对象

      Returns WGPUBuffer

      WGPUBuffer实例