OptionalaabbAxis-aligned, non-quantized 3D boundary of the geometry's vertex positions.
Optionalcolorsvertex RGBA colors, quantized as 8-bit integers.
Optionaledgeedge indices.
This is either an array of 8-bit, 16-bit or 32-bit values.
ID for the geometry.
Optionalindicesprimitive indices.
This is either an array of 8-bit, 16-bit or 32-bit values.
OptionalnormalsVertex normals, octahedral-encoded as pairs of 16-bit unsigned integers.
Optional. Two values per vertex: each pair represents the octahedral
(x, y) projection of the unit normal, mapped from [-1, 1] to
[0, 65535]. Length must equal (positionsCompressed.length / 3) * 2.
Geometry without normalsCompressed is rendered with shader-derived
flat face normals.
OptionaloriginTODO
3D vertex positions, quantized as 16-bit integers.
Internally, the Viewer decompresses thses with SceneGeometryCompressedParams.aabb.
Vertex positions are required for all primitive types.
Primitive type.
Possible values are SolidPrimitive, SurfacePrimitive, LinesPrimitive, PointsPrimitive and TrianglesPrimitive.
OptionalrotationsPer-splat rotation quaternions — 4 floats per splat, xyzw. Only used for
GaussianSplatsPrimitive. Carried uncompressed in P1.
OptionalscalesPer-splat scales — 3 floats per splat. Only used for GaussianSplatsPrimitive. Carried uncompressed in P1.
OptionaluvsUV coordinates, packed as 32-bit floats (one Float32Array of
length 2 × vertexCount). UVs ship to the GPU uncompressed so
tiling values (UVs outside [0, 1]) survive intact — the shader
applies a per-fragment fract() before transforming into the
mesh's atlas sub-rect.
Optionaluvs4x4 matrix to de-quantize the geometry's UV coordinates, when UVs are provided.
Pre-compressed geometry creation parameters for SceneModel.createGeometryCompressed.
See @xeokit/sdk/model/scene for usage.