Skip to content

"Unbatched" tile content #808

@pjcozzi

Description

@pjcozzi

Some notes I had from several years ago:

3D Tiles is a product of its time, 2015, with the same philosophy of glTF (2012) for efficient transmission where content is ready to render, or close to it.

Since content was batched by default that made 3D Tiles fast by default, and put 3D Tiles in the limelight. Circa 2015 and considering JavaScript performance, 3D Tiles was in the right camp.

Given compute/bandwidth trends, 3D Tiles may want to be more open minded just like glTF is more open minded to things like more complex materials, physics, etc.

3D Tiles is about runtime efficiency, but 3D Tiles is about more than rendering...and perhaps runtime is becoming the new interchange. For example analytics, such as ray tracing where bounces take into account material properties, need to be first class. They are currently totally reasonable to implement with 3D Tiles batched + metadata approach but require some unpacking for CPU-based algorithms.

As

  • these use case become more prominent,
  • more cycles become available at the edge and we use languages beyond stock JavaScript,
  • batching across multiple tiles is explored,
  • and Cesium adds support for engines like Unreal that also have runtime batching systems,

3D Tiles will want to evaluate an unbatched tile content that is simple to translate to in-memory CPU data structures, and then hopefully fast enough to batch async for the GPU. This may be just tooling and/or spec.

This is reminiscent of the storied CISC vs. RISC changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions