we
    Preparing search index...

    Pointer在scene中创建,全局唯一;

    目标: 1、提供:创建(分配)、释放(释放内存)、resize(调整大小)、 2、GPU侧不需要管理,直接适用GPUBufferBinding即可; 3、GPU侧有两种访问方式 A、静态:直接使用GPUBufferBinding,无变化的情况 B、动态:在DC等使用者中通过箭头函数动态获取GPUBufferBinding: a、 数据有resize操作,需要动态调整GPUBufferBinding。 b、 BOL进行内存块调度,优化CPU到GPU的数据传输时(如:优化批量写入)。(此种情况,BOL的block一定是动态情况) 4、初期不考虑CPU侧的跨BOL的内存管理,调度范围限制在BOL的Block内。

    Index

    Constructors

    Properties

    clock: Clock
    lastPointerID: number = 0

    最后一个指针ID

    name: string = 'pointer'
    pointerID: Set<number> = ...

    指针ID集合 1、设计为自增,所以需要记录最后一个ID。 2、ID删除后,也不再使用

    pointers: Map<number, I_pointerStruct> = ...

    Methods

    • Parameters

      • id: number

      Returns undefined | { buffer: ArrayBuffer; byteLength: number; offset: number }

    • 获取指针的CPUBufferView

      Parameters

      • id: number

      Returns undefined | ArrayBufferView<ArrayBufferLike>

    • 获取指针的GPUBufferBinding

      Parameters

      • id: number

      Returns undefined | GPUBufferBinding

    • 更新指针偏移量和BOLID

      Parameters

      • pointerID: number
      • offset: number
      • BolID: number
      • timer: number

      Returns void