Comments (7)
Yes, annotations are one of the main use cases for implicit feature ids for points.
from 3d-tiles.
The IDs are given by the indices of the vertices (and not by the 'indices' that are used for defining the topology).
In your image, this is the case on the left hand side. There are 4 unique IDs in this case.
(When two triangles share one vertex (position), then this vertex will have to be duplicated when it has different normals or texture coordinates in both triangles, and consequently, may then also have different feature IDs. But generally, the ID is the 'index in the vertex attribute array', so to speak. This does raise some further questions about how to handle these IDs within a triangle - related to #764 ).
from 3d-tiles.
Great thanks - this lines up with what gl_VertexId
provides in the vertex shader, as well. It might be worth adding a clarifying comment on this is supposed to interpreted.
Also, as an aside, is there a notional use case for why this kind of implicit id generation exists? How would it be used in practice? It doesn't seem super useful to me.
from 3d-tiles.
The two main use cases are POINTS
primitives and instanced models (see EXT_instance_features, which also has implicit ids).
Probably less likely to see it for triangles and lines.
from 3d-tiles.
Got it - instanced models makes sense. What's the more concrete use case for having a unique id for every point, though? I'm imagining point clouds with potentially millions of points - it makes a lot more sense for points to be grouped by common features in this case (ie all the points that make up a scanned tree). Are points being used as location identifiers, for example? Named restaurant or building locations like in Google Maps, for example?
Just trying to make sure I understand the cases where these features are used.
from 3d-tiles.
I think that the main question is answered here, and assume that this can be closed.
(There are related questions like #764 that have to be addressed independently)
from 3d-tiles.
Yup! Sorry I neglected to close it. The one thing I was going to mention is that it may be worth explicitly stating in the specification that the intended use case for these implicit feature ids is for use with point primitives.
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 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.