Comments (7)
Throughout 3D Tiles, should batchTable be renamed?
Discussed with @lilleyse offline. We're going to keep batchTable
.
from 3d-tiles.
Some ideas for adding a binary section to the batch table to store properties like colors, normals, scales, etc in a more space-efficient way:
Usually the batch table stores an array of values, like:
{
"id" : ["unique id", "another unique id"],
"displayName" : ["Building name", "Another building name"],
"scale" : [1.0, 1.4]
}
But for numeric data like scale it is more efficient to store in a binary form. The property in the batch table can instead reference a chunk of binary data like:
{
"id" : ["unique id", "another unique id"],
"displayName" : ["Building name", "Another building name"],
"scale" : {
"byteOffset" : 0,
"componentType" : "FLOAT",
"type" : "SCALAR"
}
Where:
byteOffset
is the offset from the start of thebatchTableBinary
.componentType
can be the following values:"BYTE"
,"UNSIGNED_BYTE"
,"SHORT"
,"UNSIGNED_SHORT"
,"INT"
,"UNSIGNED_INT"
,"FLOAT"
, and"DOUBLE"
type
can be"SCALAR"
,"VEC2"
,"VEC3"
,"VEC4"
,"MAT2"
,"MAT3"
,"MAT4"
The data is assumed to be tightly packed, so we are not using a byteStride
variable for now.
Well known semantics that the client understands how to process like rgb, scale, and normal should be labelled as TILES3D_RGB
, TILES3D_SCALE
, TILES3D_NORMAL
. For these properties the componentType
and type
are optional.
Every tile format will need to change to support the batch table binary section. batchTable
will be broken into batchTableJson
and batchTableBinary
, and batchTableLength
in the header will be replaced by two values batchTableJsonLength
and batchTableBinaryLength
. Like the batch table itself, batchTableBinary
is optional.
from 3d-tiles.
+1 from me!
from 3d-tiles.
Cesium implementation PR by @lilleyse - CesiumGS/cesium#4112
from 3d-tiles.
- We should do #103 as part of this.
from 3d-tiles.
Spec updates: #125
from 3d-tiles.
#125 will be merged shortly.
from 3d-tiles.
Related Issues (20)
- Clarify the use of non-8-bit-channels in property textures HOT 1
- How to format data HOT 1
- glTF metadata uses integers where it should use "glTF IDs" HOT 1
- Inconsistency in tile schema and its description
- Cesium 1.1 tiling data failed to load
- Clarify details about `featureCount` and `nullFeatureId` HOT 4
- Can Earth Explorer 3D Map with Augmented reality be added as Viewer?
- Can Map Data Explorer iOS and Android be added as Viewer - it supports 3DTILES
- Selection Issue with GLB Model Organized by Tileset.json HOT 2
- Basic, minimal examples; sources for README figures HOT 10
- EXT_mesh_features Clarification: How many feature ids does an indexed geometry have when ids are implicitly derived? HOT 7
- EXT_mesh_features Rendering: How to visualize "interpolated" features? HOT 8
- 3D-Tiles 1.1 Implicit tile about .subtree binary file HOT 6
- Implementation notes refer to `bufferView` where `bitstream` should be used
- 3D-Tiles 1.1 implicit tile : Octree HOT 2
- 3D-Tiles 1.1 voxel HOT 1
- Clarification for content availability of implicit tileset roots HOT 4
- 3D-Tiles 1.1 voxel HOT 3
- 3D-Tiles 1.1 voxel's customShader HOT 1
- 3D-Tiles 1.1 binary .voxel file HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from 3d-tiles.