deck.gl icon indicating copy to clipboard operation
deck.gl copied to clipboard

[Feat] Tracker: port codebase to Uniform Buffer Objects

Open felixpalmer opened this issue 1 year ago • 0 comments

Target Use Case

As part of the upgrade of the codebase we need to retire using individual uniforms and instead use Uniform Buffer Objects, as the former is not supported by WebGPU.

The picking module was already ported in v9 for compatibility with luma, but the remaining shader modules & layers in deck.gl have not.

Proposal

PRs will be merged into main when complete, but we will not publish until the version is bumped to 9.1.

  • [x] Port project module https://github.com/visgl/deck.gl/pull/8782
  • [x] Resolve dependencies between ShaderModules https://github.com/visgl/luma.gl/pull/2073
  • [x] Implement bindings in ShaderInputs https://github.com/visgl/luma.gl/pull/2099
  • [x] Port first Layers https://github.com/visgl/deck.gl/pull/8875
  • [x] Port DataFilterExtension https://github.com/visgl/deck.gl/pull/8998
  • [x] Port remaining extensions https://github.com/visgl/deck.gl/pull/9001
  • [x] Port layers https://github.com/visgl/deck.gl/pull/9008
  • [x] Port mesh-layers https://github.com/visgl/deck.gl/pull/9035
  • [x] Port geo-layers https://github.com/visgl/deck.gl/pull/9036
  • [x] Port carto https://github.com/visgl/deck.gl/pull/9038
  • [x] Port transitions https://github.com/visgl/deck.gl/pull/9040
  • [x] Improve ShaderModule type https://github.com/visgl/deck.gl/pull/9044 & https://github.com/visgl/luma.gl/pull/2137
  • [x] Port shadow module https://github.com/visgl/deck.gl/pull/9054
  • [x] Port HeatmapLayer https://github.com/visgl/deck.gl/pull/9071
  • [x] Port aggregation-layers https://github.com/visgl/deck.gl/pull/9114 https://github.com/visgl/deck.gl/pull/9133
  • [x] Remove invocations of updateModuleSettings https://github.com/visgl/deck.gl/pull/9158 & https://github.com/visgl/deck.gl/pull/9160
  • [ ] Docs https://github.com/visgl/deck.gl/pull/9208

luma work

  • [x] Port gouraudLighting & phongLighting https://github.com/visgl/deck.gl/pull/9074 https://github.com/visgl/luma.gl/pull/2159
  • [x] Port pbr module https://github.com/visgl/luma.gl/pull/2173
  • [x] Port fp64 module https://github.com/visgl/luma.gl/pull/2262

felixpalmer avatar Jul 03 '24 08:07 felixpalmer