Skip to content

[FEATURE SUGGESTION] A pre-formatted file format for fast loading into data textures #1213

@xeolabs

Description

@xeolabs

Currently

  • The SceneModel class provides a set of builder methods, createGeometry, createMesh, createEntity etc.
  • Internally, the SceneModel creates TrianglesDataTextureLayers, that pack the geometries, meshes and entities into data textures, which get rendered by our data texture shaders.

Idea

  • Put this SceneModel and TrianglesDataTextureLayer logic into a NodeJS-based converter
  • The converter would then convert glTF into a set of data arrays, saving those in the XKT file, or in a new file format, eg "DTX"
  • The converter would also create a JSON structure within the XKT/DTX that describes all the entities in the model, their colors, AABBS, flags etc
  • Then in the viewer, we could have SceneModel (or a new class, maybe DTXSceneModel) load that XKT/DTX and just transfer the data arrays straight into a set of data textures

Using this strategy, we offload things like geometry bucketing, array processing (all the concatenation of arrays etc) onto the converter.

The XKT/DTX would also have "layers" which split the data arrays into portions that will fit into data textures on the viewer's size. These layers could also fit with LoD/streaming somehow.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions