The min and max values provide an outer bounding box for all POSITION data within a given accessor. Accessors typically contain multiple vertices, for example all of the vertices of a particular primitive, and then min: [x, y, z] and max: [x, y, z] will offer the bounding box for that primitive.
For your second question, let's look at the mesh structure from BoxTextured.gltf:
"meshes": [
{
"primitives": [
{
"attributes": {
"NORMAL": 1,
"POSITION": 2,
"TEXCOORD_0": 3
},
"indices": 0,
"mode": 4,
"material": 0
}
],
"name": "Mesh"
}
],
In the above example, mode: 4 is an enum, where 4 means TRIANGLES. The indices are stored in accessor 0, and the POSITION data is stored in accessor 2. So, accessor 2 will contain a list of vertex positions, but each vertex is allowed to be referenced by multiple triangles. The indices in accessor 0 declare the triangles by indexing into the list of vertices.
Here's a sample of the start of accessor 0 from this model:
0
1
2
3
2
1
4
5
6
7
6
5
...
And this is a sample of the contents from the start of accessor 2 in this model:
-0.50000 -0.50000 0.50000
0.50000 -0.50000 0.50000
-0.50000 0.50000 0.50000
0.50000 0.50000 0.50000
0.50000 0.50000 0.50000
0.50000 -0.50000 0.50000
0.50000 0.50000 -0.50000
0.50000 -0.50000 -0.50000
...
In this manner, the sample model builds a cube by winding triangles around vertices at the corners.
For a more graphical explanation of this, check out the glTF Overview Card - same image is found here.
accessorpoints to abufferView, and typically eachbufferViewreferences abufferwith a single binary data blob. So, the accessors and bufferViews act to slice portions of data out of the binary blob. – emackey Apr 17 '18 at 21:24.gltffile. As mentioned in the comment, they are typically stored in a separate file. And the shortcutAlt + Din the glTF Extension for VSCode is a great way to find that data – Gangula Dec 14 '22 at 07:23