@itwin/core-frontend 4.0.0-dev.41 → 4.0.0-dev.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/core-frontend.d.ts +1 -0
- package/lib/cjs/core-frontend.d.ts.map +1 -1
- package/lib/cjs/core-frontend.js +1 -0
- package/lib/cjs/core-frontend.js.map +1 -1
- package/lib/cjs/gltf/GltfModel.d.ts +91 -0
- package/lib/cjs/gltf/GltfModel.d.ts.map +1 -0
- package/lib/cjs/gltf/GltfModel.js +10 -0
- package/lib/cjs/gltf/GltfModel.js.map +1 -0
- package/lib/cjs/gltf/GltfParser.d.ts +26 -0
- package/lib/cjs/gltf/GltfParser.d.ts.map +1 -0
- package/lib/cjs/gltf/GltfParser.js +352 -0
- package/lib/cjs/gltf/GltfParser.js.map +1 -0
- package/lib/cjs/gltf/GltfSchema.d.ts +557 -0
- package/lib/cjs/gltf/GltfSchema.d.ts.map +1 -0
- package/lib/cjs/gltf/GltfSchema.js +138 -0
- package/lib/cjs/gltf/GltfSchema.js.map +1 -0
- package/lib/cjs/render/GraphicBuilder.d.ts +5 -2
- package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
- package/lib/cjs/render/GraphicBuilder.js +12 -3
- package/lib/cjs/render/GraphicBuilder.js.map +1 -1
- package/lib/cjs/tile/B3dmReader.d.ts +2 -1
- package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
- package/lib/cjs/tile/B3dmReader.js +2 -1
- package/lib/cjs/tile/B3dmReader.js.map +1 -1
- package/lib/cjs/tile/GltfReader.d.ts +13 -420
- package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
- package/lib/cjs/tile/GltfReader.js +118 -192
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/cjs/tile/RealityTileLoader.js +14 -2
- package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/tile/Tile.d.ts +10 -1
- package/lib/cjs/tile/Tile.d.ts.map +1 -1
- package/lib/cjs/tile/Tile.js +22 -2
- package/lib/cjs/tile/Tile.js.map +1 -1
- package/lib/esm/core-frontend.d.ts +1 -0
- package/lib/esm/core-frontend.d.ts.map +1 -1
- package/lib/esm/core-frontend.js +1 -0
- package/lib/esm/core-frontend.js.map +1 -1
- package/lib/esm/gltf/GltfModel.d.ts +91 -0
- package/lib/esm/gltf/GltfModel.d.ts.map +1 -0
- package/lib/esm/gltf/GltfModel.js +9 -0
- package/lib/esm/gltf/GltfModel.js.map +1 -0
- package/lib/esm/gltf/GltfParser.d.ts +26 -0
- package/lib/esm/gltf/GltfParser.d.ts.map +1 -0
- package/lib/esm/gltf/GltfParser.js +329 -0
- package/lib/esm/gltf/GltfParser.js.map +1 -0
- package/lib/esm/gltf/GltfSchema.d.ts +557 -0
- package/lib/esm/gltf/GltfSchema.d.ts.map +1 -0
- package/lib/esm/gltf/GltfSchema.js +131 -0
- package/lib/esm/gltf/GltfSchema.js.map +1 -0
- package/lib/esm/render/GraphicBuilder.d.ts +5 -2
- package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
- package/lib/esm/render/GraphicBuilder.js +13 -4
- package/lib/esm/render/GraphicBuilder.js.map +1 -1
- package/lib/esm/tile/B3dmReader.d.ts +2 -1
- package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
- package/lib/esm/tile/B3dmReader.js +2 -1
- package/lib/esm/tile/B3dmReader.js.map +1 -1
- package/lib/esm/tile/GltfReader.d.ts +13 -420
- package/lib/esm/tile/GltfReader.d.ts.map +1 -1
- package/lib/esm/tile/GltfReader.js +75 -149
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
- package/lib/esm/tile/RealityTileLoader.js +14 -2
- package/lib/esm/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/tile/Tile.d.ts +10 -1
- package/lib/esm/tile/Tile.d.ts.map +1 -1
- package/lib/esm/tile/Tile.js +22 -2
- package/lib/esm/tile/Tile.js.map +1 -1
- package/package.json +22 -22
|
@@ -0,0 +1,557 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Rendering
|
|
3
|
+
*/
|
|
4
|
+
/** Enumerates the types of [[GltfMeshPrimitive]] topologies.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare enum GltfMeshMode {
|
|
8
|
+
Points = 0,
|
|
9
|
+
Lines = 1,
|
|
10
|
+
LineStrip = 3,
|
|
11
|
+
Triangles = 4,
|
|
12
|
+
/** Not currently supported. */
|
|
13
|
+
TriangleStrip = 5,
|
|
14
|
+
/** Not currently supported. */
|
|
15
|
+
TriangleFan = 6
|
|
16
|
+
}
|
|
17
|
+
/** Enumerates the basic data types supported by accessors, material values, technique uniforms, etc.
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare enum GltfDataType {
|
|
21
|
+
SignedByte = 5120,
|
|
22
|
+
UnsignedByte = 5121,
|
|
23
|
+
SignedShort = 5122,
|
|
24
|
+
UnsignedShort = 5123,
|
|
25
|
+
UInt32 = 5125,
|
|
26
|
+
Float = 5126,
|
|
27
|
+
Rgb = 6407,
|
|
28
|
+
Rgba = 6408,
|
|
29
|
+
IntVec2 = 35667,
|
|
30
|
+
IntVec3 = 35668,
|
|
31
|
+
FloatVec2 = 35664,
|
|
32
|
+
FloatVec3 = 35665,
|
|
33
|
+
FloatVec4 = 35666,
|
|
34
|
+
FloatMat3 = 35675,
|
|
35
|
+
FloatMat4 = 35676,
|
|
36
|
+
Sampler2d = 35678
|
|
37
|
+
}
|
|
38
|
+
/** @internal */
|
|
39
|
+
export declare enum GltfMagFilter {
|
|
40
|
+
Nearest = 9728,
|
|
41
|
+
Linear = 9729
|
|
42
|
+
}
|
|
43
|
+
/** @internal */
|
|
44
|
+
export declare enum GltfMinFilter {
|
|
45
|
+
Nearest = 9728,
|
|
46
|
+
Linear = 9729,
|
|
47
|
+
NearestMipMapNearest = 9984,
|
|
48
|
+
LinearMipMapNearest = 9985,
|
|
49
|
+
NearestMipMapLinear = 9986,
|
|
50
|
+
LinearMipMapLinear = 9987
|
|
51
|
+
}
|
|
52
|
+
/** Describes how texture coordinates outside of the range [0..1] are handled.
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
55
|
+
export declare enum GltfWrapMode {
|
|
56
|
+
ClampToEdge = 33071,
|
|
57
|
+
MirroredRepeat = 33648,
|
|
58
|
+
Repeat = 10497
|
|
59
|
+
}
|
|
60
|
+
/** Describes the intended target of a [[GltfBufferViewProps]].
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
export declare enum GltfBufferTarget {
|
|
64
|
+
ArrayBuffer = 34962,
|
|
65
|
+
ElementArrayBuffer = 24963
|
|
66
|
+
}
|
|
67
|
+
/** The type used to refer to an entry in a GltfDictionary in a glTF 1.0 asset. @internal */
|
|
68
|
+
export declare type Gltf1Id = string;
|
|
69
|
+
/** The type used to refer to an entry in a GltfDictionary in a glTF 2.0 asset. @internal */
|
|
70
|
+
export declare type Gltf2Id = number;
|
|
71
|
+
/** The type used to refer to an entry in a GltfDictionary. @internal */
|
|
72
|
+
export declare type GltfId = Gltf1Id | Gltf2Id;
|
|
73
|
+
/** A collection of resources of some type defined at the top-level of a [[GltfDocument]].
|
|
74
|
+
* In glTF 1.0, these are defined as objects; each resource is referenced and accessed by its string key.
|
|
75
|
+
* In glTF 2.0, these are defined as arrays; each resource is referenced and accessed by its integer array index.
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
78
|
+
export interface GltfDictionary<T extends GltfChildOfRootProperty> {
|
|
79
|
+
[key: GltfId]: T | undefined;
|
|
80
|
+
}
|
|
81
|
+
/** @internal */
|
|
82
|
+
export interface GltfStringMap<T> {
|
|
83
|
+
[key: string]: T | undefined;
|
|
84
|
+
}
|
|
85
|
+
/** Iterate the contents of a [[GltfDictionary]].
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
export declare function gltfDictionaryIterator<T extends GltfChildOfRootProperty>(dict: GltfDictionary<T>): Iterable<T>;
|
|
89
|
+
/** Optional extensions applied to a [[GltfProperty]] to enable behavior not defined in the core specification.
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
92
|
+
export declare type GltfExtensions = GltfStringMap<unknown>;
|
|
93
|
+
/** The base interface provided by most objects in a glTF asset, permitting additional data to be associated with the object.
|
|
94
|
+
* @internal
|
|
95
|
+
*/
|
|
96
|
+
export interface GltfProperty {
|
|
97
|
+
extensions?: GltfExtensions;
|
|
98
|
+
extras?: any;
|
|
99
|
+
}
|
|
100
|
+
/** The base interface provided by top-level properties of a [[GltfDocument]].
|
|
101
|
+
* @internal
|
|
102
|
+
*/
|
|
103
|
+
export interface GltfChildOfRootProperty extends GltfProperty {
|
|
104
|
+
/** Optional name, strictly for human consumption. */
|
|
105
|
+
name?: string;
|
|
106
|
+
}
|
|
107
|
+
/** @internal */
|
|
108
|
+
export interface DracoMeshCompression {
|
|
109
|
+
bufferView: GltfId;
|
|
110
|
+
attributes: GltfStringMap<number>;
|
|
111
|
+
}
|
|
112
|
+
/** @internal */
|
|
113
|
+
export interface MeshFeature extends GltfProperty {
|
|
114
|
+
featureCount: number;
|
|
115
|
+
nullFeatureId?: number;
|
|
116
|
+
label?: string;
|
|
117
|
+
propertyTable?: number;
|
|
118
|
+
texture?: unknown;
|
|
119
|
+
attribute?: number;
|
|
120
|
+
}
|
|
121
|
+
/** @internal */
|
|
122
|
+
export interface MeshFeatures {
|
|
123
|
+
featureIds: MeshFeature[];
|
|
124
|
+
}
|
|
125
|
+
/** A unit of geometry belonging to a [[GltfMesh]]. @internal */
|
|
126
|
+
export interface GltfMeshPrimitive extends GltfProperty {
|
|
127
|
+
/** Maps the name of each mesh attribute semantic to the Id of the [[GltfAccessor]] providing the attribute's data. */
|
|
128
|
+
attributes: GltfStringMap<GltfId>;
|
|
129
|
+
/** The Id of the [[GltfAccessor]] providing the vertex indices. */
|
|
130
|
+
indices?: GltfId;
|
|
131
|
+
/** The Id of the [[GltfMaterial]] to apply to the primitive when rendering. */
|
|
132
|
+
material?: GltfId;
|
|
133
|
+
/** The primitive topology type. */
|
|
134
|
+
mode?: GltfMeshMode;
|
|
135
|
+
/** Morph targets - currently unsupported. */
|
|
136
|
+
targets?: GltfStringMap<GltfId>;
|
|
137
|
+
extensions?: GltfExtensions & {
|
|
138
|
+
/** The [CESIUM_primitive_outline](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Vendor/CESIUM_primitive_outline) extension
|
|
139
|
+
* describes how to draw outline edges for a triangle mesh.
|
|
140
|
+
*/
|
|
141
|
+
CESIUM_primitive_outline?: {
|
|
142
|
+
/** The Id of the [[GltfBufferViewProps]] supplying the endpoints of each edge as indices into the triangle mesh's vertex array.
|
|
143
|
+
* The number of indices must be even; each consecutive pair of indices describes one line segment. No connectivity between
|
|
144
|
+
* line segments is implied.
|
|
145
|
+
*/
|
|
146
|
+
indices?: GltfId;
|
|
147
|
+
};
|
|
148
|
+
/** The [KHR_draco_mesh_compression](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md) extension
|
|
149
|
+
* allows glTF to support geometry compressed with Draco geometry compression.
|
|
150
|
+
*/
|
|
151
|
+
KHR_draco_mesh_compression?: DracoMeshCompression;
|
|
152
|
+
EXT_mesh_features?: MeshFeatures;
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/** A collection of [[GltfMeshPrimitive]]s to be rendered. Each mesh is referenced by a node. Multiple nodes can refer to the same mesh.
|
|
156
|
+
* The node's transform is applied when rendering the mesh.
|
|
157
|
+
* @internal
|
|
158
|
+
*/
|
|
159
|
+
export interface GltfMesh extends GltfChildOfRootProperty {
|
|
160
|
+
/** The collection of primitives to be rendered. */
|
|
161
|
+
primitives?: GltfMeshPrimitive[];
|
|
162
|
+
/** For morph targets - currently unsupported. */
|
|
163
|
+
weights?: number[];
|
|
164
|
+
}
|
|
165
|
+
/** Properties common to [[Gltf1Node]] and [[Gltf2Node]]. @internal */
|
|
166
|
+
export interface GltfNodeBaseProps {
|
|
167
|
+
/** The Ids of the child nodes. @see [[GltfNode]]. */
|
|
168
|
+
children?: GltfId[];
|
|
169
|
+
/** Currently ignored. */
|
|
170
|
+
camera?: GltfId;
|
|
171
|
+
/** Currently ignored. */
|
|
172
|
+
skin?: GltfId;
|
|
173
|
+
/** A 4x4 column-major transformation matrix. Mutually exclusive with [[rotation]], [[scale]], and [[translation]]. */
|
|
174
|
+
matrix?: number[];
|
|
175
|
+
/** Unit quaternion as [x, y, z, w], where w is the scalar. */
|
|
176
|
+
rotation?: number[];
|
|
177
|
+
/** Non-uniform scale as [x, y, z]. */
|
|
178
|
+
scale?: number[];
|
|
179
|
+
/** Translation as [x, y, z]. */
|
|
180
|
+
translation?: number[];
|
|
181
|
+
}
|
|
182
|
+
/** glTF 1.0 representation of a [[GltfNode]]. Unlike a [[Gltf2Node]], a Gltf1Node may refer to any number of [[GltfMesh]]es.
|
|
183
|
+
* @internal
|
|
184
|
+
*/
|
|
185
|
+
export interface Gltf1Node extends GltfChildOfRootProperty, GltfNodeBaseProps {
|
|
186
|
+
/** The Ids of the [[GltfMesh]]es to be rendered by this node.
|
|
187
|
+
* @note The spec defines this as an array of strings, but the original implementation of [[GltfReader]] was written to treat it as a string instead.
|
|
188
|
+
* In case this was because of non-spec-compliant glTF that placed a string here instead of an array, either is permitted.
|
|
189
|
+
*/
|
|
190
|
+
meshes?: GltfId[] | string;
|
|
191
|
+
mesh?: never;
|
|
192
|
+
/** Currently ignored. */
|
|
193
|
+
jointName?: GltfId;
|
|
194
|
+
/** Currently ignored. */
|
|
195
|
+
skeletons?: GltfId[];
|
|
196
|
+
}
|
|
197
|
+
/** glTF 2.0 representation of a [[GltfNode]]. Unlike a [[Gltf1Node]], a Gltf2Node may refer to at most one [[GltfMesh]].
|
|
198
|
+
* @internal
|
|
199
|
+
*/
|
|
200
|
+
export interface Gltf2Node extends GltfChildOfRootProperty, GltfNodeBaseProps {
|
|
201
|
+
/** The Id of the [[GltfMesh]] to be rendered by this node. */
|
|
202
|
+
mesh?: GltfId;
|
|
203
|
+
meshes?: never;
|
|
204
|
+
/** Morph targets - currently ignored. */
|
|
205
|
+
weights?: number[];
|
|
206
|
+
}
|
|
207
|
+
/** Describes a node in a [[GltfScene]]. Each node may be associated with zero, one (glTF 2.0), or any number of (glTF 1.0) [[GltfMesh]]es.
|
|
208
|
+
* Each node may define a transform. Each node may have any number of child nodes. A child node's transform is multiplied by its parent node's transform.
|
|
209
|
+
* Some nodes may be associated with other types of data like cameras, skins, lights, etc - these types of data are currently unsupported.
|
|
210
|
+
* Rendering a node means rendering its meshes and the meshes of all of its descendants, with transforms applied.
|
|
211
|
+
* @internal
|
|
212
|
+
*/
|
|
213
|
+
export declare type GltfNode = Gltf1Node | Gltf2Node;
|
|
214
|
+
/** Get the Ids of the meshes associated with a node.
|
|
215
|
+
* @internal
|
|
216
|
+
*/
|
|
217
|
+
export declare function getGltfNodeMeshIds(node: GltfNode): GltfId[];
|
|
218
|
+
/** @internal */
|
|
219
|
+
export declare function traverseGltfNodes(ids: Iterable<GltfId>, nodes: GltfDictionary<GltfNode>, traversed: Set<GltfId>): Iterable<GltfNode>;
|
|
220
|
+
/** Describes a scene graph that composes any number of [[GltfNode]]s to produce a rendering of the [[GltfDocument]] asset.
|
|
221
|
+
* An asset may define any number of scenes; the default scene is specified by [[Gltf.scene]].
|
|
222
|
+
* @internal
|
|
223
|
+
*/
|
|
224
|
+
export interface GltfScene extends GltfChildOfRootProperty {
|
|
225
|
+
/** The Ids of the nodes comprising the scene graph. */
|
|
226
|
+
nodes?: GltfId[];
|
|
227
|
+
}
|
|
228
|
+
/** Provides metadata about a [[GltfDocument]] asset.
|
|
229
|
+
* @internal
|
|
230
|
+
*/
|
|
231
|
+
export interface GltfAsset extends GltfProperty {
|
|
232
|
+
/** A copyright message suitable for display to credit the content creator. */
|
|
233
|
+
copyright?: string;
|
|
234
|
+
/** The name of the tool that generated the asset. */
|
|
235
|
+
generator?: string;
|
|
236
|
+
/** The glTF version targeted by the asset, in the form "major.minor" where "major" and "minor" are integers. */
|
|
237
|
+
version: string;
|
|
238
|
+
/** The minimum glTF version required to properly load this asset, in the same form as [[version]].
|
|
239
|
+
* This minimum version must be no greater than [[version]].
|
|
240
|
+
*/
|
|
241
|
+
minVersion?: string;
|
|
242
|
+
}
|
|
243
|
+
/** Describes an image such as one used for a [[GltfTexture]]. The image may be referenced by a [[uri]] or a [[bufferView]].
|
|
244
|
+
* @internal
|
|
245
|
+
*/
|
|
246
|
+
export interface GltfImage extends GltfChildOfRootProperty {
|
|
247
|
+
/** URI from which the image data can be obtained, either as a base-64-encoded data URI or an external resource.
|
|
248
|
+
* Mutually exclusive with [[bufferView]].
|
|
249
|
+
*/
|
|
250
|
+
uri?: string;
|
|
251
|
+
/** The image's media type. This property is required if [[bufferView]] is defined. */
|
|
252
|
+
mimeType?: "image/jpeg" | "image/png";
|
|
253
|
+
/** The Id of the [[GltfBufferViewProps]] containing the image data. Mutually exclusive with [[uri]]. */
|
|
254
|
+
bufferView?: GltfId;
|
|
255
|
+
extensions?: GltfExtensions & {
|
|
256
|
+
/** The [KHR_binary_glTF](https://github.com/KhronosGroup/glTF/tree/main/extensions/1.0/Khronos/KHR_binary_glTF) allows an image to
|
|
257
|
+
* be embedded in a binary chunk appended to the glTF asset's JSON, instead of being referenced by an external URI.
|
|
258
|
+
* This is superseded in glTF 2.0 by support for the glb file format specification.
|
|
259
|
+
*/
|
|
260
|
+
KHR_binary_glTF?: {
|
|
261
|
+
/** The Id of the [[GltfBufferViewProps]] that contains the binary image data. */
|
|
262
|
+
bufferView?: GltfId;
|
|
263
|
+
/** Required - @see [[GltfImage.mimeType]]. */
|
|
264
|
+
mimeType?: string;
|
|
265
|
+
};
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
/** Describes a reference to a [[GltfTexture]]. @internal */
|
|
269
|
+
export interface GltfTextureInfo extends GltfProperty {
|
|
270
|
+
/** The Id of the [[GltfTexture]]. */
|
|
271
|
+
index: GltfId;
|
|
272
|
+
/** The set index of the texture's TEXCOORD attribute used for texture coordinate mapping.
|
|
273
|
+
* For example, if `texCoord` is `2`, an attribute named `TEXCOORD_2` must exist containing the texture coordinates.
|
|
274
|
+
* Default: 0.
|
|
275
|
+
*/
|
|
276
|
+
texCoord?: number;
|
|
277
|
+
}
|
|
278
|
+
/** Describes a texture and its sampler.
|
|
279
|
+
* @internal
|
|
280
|
+
*/
|
|
281
|
+
export interface GltfTexture extends GltfChildOfRootProperty {
|
|
282
|
+
/** The Id of the [[GltfSampler]] used by this texture.
|
|
283
|
+
* If undefined, a sampler with repeat wrapping and auto filtering should be used by default.
|
|
284
|
+
*/
|
|
285
|
+
sampler?: GltfId;
|
|
286
|
+
/** The Id of the [[GltfImage]] used by this texture.
|
|
287
|
+
* If undefined, an extension or other mechanism should supply an alternate image source - otherwise, the behavior is undefined.
|
|
288
|
+
*/
|
|
289
|
+
source?: GltfId;
|
|
290
|
+
}
|
|
291
|
+
/** Describes the filtering and wrapping behavior to be applied to a [[GltfTexture]].
|
|
292
|
+
* @note The implementation currently does not support MirroredRepeat and does not support different wrapping for U and V;
|
|
293
|
+
* effectively, unless `wrapS` or `wrapT` is set to ClampToEdge, the sampler will use GltfWrapMode.Repeat.
|
|
294
|
+
* @internal
|
|
295
|
+
*/
|
|
296
|
+
export interface GltfSampler extends GltfChildOfRootProperty {
|
|
297
|
+
/** Magnification filter. */
|
|
298
|
+
magFilter?: GltfMagFilter;
|
|
299
|
+
/** Minification filter. */
|
|
300
|
+
minFilter?: GltfMinFilter;
|
|
301
|
+
/** S (U) wrapping mode. Default: Repeat. */
|
|
302
|
+
wrapS?: GltfWrapMode;
|
|
303
|
+
/** T (V) wrapping mode. Default: Repeat. */
|
|
304
|
+
wrapT?: GltfWrapMode;
|
|
305
|
+
}
|
|
306
|
+
/** GL states that can be enabled by a [[GltfTechnique]]. Only those queried by this implementation are enumerated.
|
|
307
|
+
* @internal
|
|
308
|
+
*/
|
|
309
|
+
export declare enum GltfTechniqueState {
|
|
310
|
+
/** Enables alpha blending. */
|
|
311
|
+
Blend = 3042
|
|
312
|
+
}
|
|
313
|
+
/** For glTF 1.0 only, describes shader programs and shader state associated with a [[Gltf1Material]], used to render meshes associated with the material.
|
|
314
|
+
* This implementation uses it strictly to identify techniques that require alpha blending.
|
|
315
|
+
* @internal
|
|
316
|
+
*/
|
|
317
|
+
export interface GltfTechnique extends GltfChildOfRootProperty {
|
|
318
|
+
/** GL render states to be applied by the technique. */
|
|
319
|
+
states?: {
|
|
320
|
+
/** An array of integers corresponding to boolean GL states that should be enabled using GL's `enable` function.
|
|
321
|
+
* For example, the value [[GltfTechniqueState.Blend]] (3042) indicates that blending should be enabled.
|
|
322
|
+
*/
|
|
323
|
+
enable?: GltfTechniqueState[];
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
/** @internal */
|
|
327
|
+
export interface Gltf1Material extends GltfChildOfRootProperty {
|
|
328
|
+
diffuse?: string;
|
|
329
|
+
emission?: number[];
|
|
330
|
+
shininess?: number;
|
|
331
|
+
specular?: number[];
|
|
332
|
+
technique?: GltfId;
|
|
333
|
+
values?: {
|
|
334
|
+
texStep?: number[];
|
|
335
|
+
color?: number[];
|
|
336
|
+
tex?: number | string;
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
/** @internal */
|
|
340
|
+
export interface GltfMaterialPbrMetallicRoughness extends GltfProperty {
|
|
341
|
+
baseColorFactor?: number[];
|
|
342
|
+
baseColorTexture?: GltfTextureInfo;
|
|
343
|
+
metallicFactor?: number;
|
|
344
|
+
roughnessFactor?: number;
|
|
345
|
+
metallicRoughnessTexture?: GltfTextureInfo;
|
|
346
|
+
}
|
|
347
|
+
/** @internal */
|
|
348
|
+
export declare type GltfAlphaMode = "OPAQUE" | "MASK" | "BLEND";
|
|
349
|
+
/** @internal */
|
|
350
|
+
export interface Gltf2Material extends GltfChildOfRootProperty {
|
|
351
|
+
pbrMetallicRoughness?: GltfMaterialPbrMetallicRoughness;
|
|
352
|
+
normalTexture?: GltfTextureInfo;
|
|
353
|
+
occlusionTexture?: unknown;
|
|
354
|
+
emissiveTexture?: GltfTextureInfo;
|
|
355
|
+
emissiveFactor?: number[];
|
|
356
|
+
alphaMode?: GltfAlphaMode;
|
|
357
|
+
alphaCutoff?: number;
|
|
358
|
+
doubleSided?: boolean;
|
|
359
|
+
extensions?: GltfExtensions & {
|
|
360
|
+
/** The [KHR_materials_unlit](https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_unlit) extension
|
|
361
|
+
* indicates that the material should be displayed without lighting. The extension adds no additional properties; it is effectively a boolean flag.
|
|
362
|
+
*/
|
|
363
|
+
KHR_materials_unlit?: {};
|
|
364
|
+
/** The [KHR_techniques_webgl extension](https://github.com/KhronosGroup/glTF/blob/c1c12bd100e88ff468ccef1cb88cfbec56a69af2/extensions/2.0/Khronos/KHR_techniques_webgl/README.md)
|
|
365
|
+
* allows "techniques" to be associated with [[GltfMaterial]]s. Techniques can supply custom shader programs to render geometry; this was a core feature of glTF 1.0 (see [[GltfTechnique]]).
|
|
366
|
+
* Here, it is only used to extract uniform values.
|
|
367
|
+
*/
|
|
368
|
+
KHR_techniques_webgl?: {
|
|
369
|
+
technique?: number;
|
|
370
|
+
values?: {
|
|
371
|
+
u_texStep?: number[];
|
|
372
|
+
u_color?: number[];
|
|
373
|
+
u_diffuse?: {
|
|
374
|
+
index: number;
|
|
375
|
+
texCoord: number;
|
|
376
|
+
};
|
|
377
|
+
[k: string]: unknown | undefined;
|
|
378
|
+
};
|
|
379
|
+
};
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
/** @internal */
|
|
383
|
+
export declare type GltfMaterial = Gltf1Material | Gltf2Material;
|
|
384
|
+
/** @internal */
|
|
385
|
+
export declare function isGltf1Material(material: GltfMaterial): material is Gltf1Material;
|
|
386
|
+
/** @internal */
|
|
387
|
+
export interface GltfBuffer extends GltfChildOfRootProperty {
|
|
388
|
+
uri?: string;
|
|
389
|
+
byteLength?: number;
|
|
390
|
+
}
|
|
391
|
+
/** @internal */
|
|
392
|
+
export interface GltfBufferViewProps extends GltfChildOfRootProperty {
|
|
393
|
+
buffer: GltfId;
|
|
394
|
+
byteLength?: number;
|
|
395
|
+
byteOffset?: number;
|
|
396
|
+
byteStride?: number;
|
|
397
|
+
target?: GltfBufferTarget;
|
|
398
|
+
}
|
|
399
|
+
/** @internal */
|
|
400
|
+
export interface GltfAccessor extends GltfChildOfRootProperty {
|
|
401
|
+
bufferView?: GltfId;
|
|
402
|
+
byteOffset?: number;
|
|
403
|
+
componentType?: GltfDataType.SignedByte | GltfDataType.UnsignedByte | GltfDataType.SignedShort | GltfDataType.UnsignedShort | GltfDataType.UInt32 | GltfDataType.Float;
|
|
404
|
+
normalized?: boolean;
|
|
405
|
+
count: number;
|
|
406
|
+
type: "SCALAR" | "VEC2" | "VEC3" | "VEC4" | "MAT2" | "MAT3" | "MAT4";
|
|
407
|
+
max?: number[];
|
|
408
|
+
min?: number[];
|
|
409
|
+
sparse?: unknown;
|
|
410
|
+
extensions?: GltfExtensions & {
|
|
411
|
+
/** Quantized attributes for glTF 1.0. Superceded by KHR_mesh_quantization. */
|
|
412
|
+
WEB3D_quantized_attributes?: {
|
|
413
|
+
decodedMin: number[];
|
|
414
|
+
decodedMax: number[];
|
|
415
|
+
/** Currently ignored. */
|
|
416
|
+
decodeMatrix: number[];
|
|
417
|
+
};
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
/** @internal */
|
|
421
|
+
export declare namespace GltfStructuralMetadata {
|
|
422
|
+
type ClassPropertyType = "SCALAR" | "STRING" | "BOOLEAN" | "ENUM" | "VEC2" | "VEC3" | "VEC4" | "MAT2" | "MAT3" | "MAT4" | string;
|
|
423
|
+
type ClassPropertyComponentType = "INT8" | "UINT8" | "INT16" | "UINT16" | "INT32" | "UINT32" | "INT64" | "UINT64" | "FLOAT32" | "FLOAT64" | string;
|
|
424
|
+
interface ClassProperty extends GltfProperty {
|
|
425
|
+
type: ClassPropertyType;
|
|
426
|
+
name?: string;
|
|
427
|
+
description?: string;
|
|
428
|
+
componentType?: ClassPropertyComponentType;
|
|
429
|
+
enumType?: string;
|
|
430
|
+
array?: boolean;
|
|
431
|
+
count?: number;
|
|
432
|
+
normalized?: boolean;
|
|
433
|
+
offset?: number;
|
|
434
|
+
scale?: number;
|
|
435
|
+
min?: number;
|
|
436
|
+
max?: number;
|
|
437
|
+
required?: boolean;
|
|
438
|
+
noData?: unknown;
|
|
439
|
+
default?: unknown;
|
|
440
|
+
semantic?: string;
|
|
441
|
+
}
|
|
442
|
+
interface EnumValue extends GltfProperty {
|
|
443
|
+
name: string;
|
|
444
|
+
value: number;
|
|
445
|
+
description?: string;
|
|
446
|
+
}
|
|
447
|
+
interface Enum extends GltfProperty {
|
|
448
|
+
values: EnumValue[];
|
|
449
|
+
valueType?: "INT8" | "UINT8" | "INT16" | "UINT16" | "INT32" | "UINT32" | "INT64" | "UINT64" | string;
|
|
450
|
+
name?: string;
|
|
451
|
+
description?: string;
|
|
452
|
+
}
|
|
453
|
+
interface Class extends GltfProperty {
|
|
454
|
+
name?: string;
|
|
455
|
+
description?: string;
|
|
456
|
+
properties?: {
|
|
457
|
+
[propertyId: string]: ClassProperty | undefined;
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
interface Schema extends GltfProperty {
|
|
461
|
+
id: string;
|
|
462
|
+
name?: string;
|
|
463
|
+
description?: string;
|
|
464
|
+
version?: string;
|
|
465
|
+
classes?: Class[];
|
|
466
|
+
enums?: Enum[];
|
|
467
|
+
}
|
|
468
|
+
interface PropertyTableProperty extends GltfProperty {
|
|
469
|
+
values: GltfId;
|
|
470
|
+
arrayOffsets?: GltfId;
|
|
471
|
+
stringOffsets?: GltfId;
|
|
472
|
+
arrayOffsetType?: "UINT8" | "UINT16" | "UINT32" | "UINT64" | string;
|
|
473
|
+
stringOffsetType?: "UINT8" | "UINT16" | "UINT32" | "UINT64" | string;
|
|
474
|
+
offset?: number;
|
|
475
|
+
scale?: number;
|
|
476
|
+
min?: number;
|
|
477
|
+
max?: number;
|
|
478
|
+
}
|
|
479
|
+
interface PropertyTable {
|
|
480
|
+
class: string;
|
|
481
|
+
count: number;
|
|
482
|
+
properties?: {
|
|
483
|
+
[propertyId: string]: PropertyTableProperty | undefined;
|
|
484
|
+
};
|
|
485
|
+
}
|
|
486
|
+
interface Extension extends GltfProperty {
|
|
487
|
+
schemaUri?: string;
|
|
488
|
+
schema?: Schema;
|
|
489
|
+
propertyTables?: PropertyTable[];
|
|
490
|
+
propertyTextures?: unknown;
|
|
491
|
+
propertyAttributes?: unknown;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
/** Describes the top-level structure of a glTF asset.
|
|
495
|
+
* This interface, along with all of the related Gltf* types defined in this file, is primarily based upon the [official glTF 2.0 specification](https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html).
|
|
496
|
+
* However, it can also represent a [glTF 1.0](https://github.com/KhronosGroup/glTF/tree/main/specification/1.0#reference-node) asset.
|
|
497
|
+
* Some types are combined. For example, the top-level dictionaries in glTF 1.0 are objects, while in glTF 2.0 they are arrays; the GltfDictionary interface supports accessing
|
|
498
|
+
* items using either strings or numeric indexes represented by [[GltfId]].
|
|
499
|
+
* For types that differ significantly between the two specs, Gltf1* and Gltf2* versions are defined (e.g., GltfMaterial is a union of Gltf1Material and Gltf2Material).
|
|
500
|
+
* These interfaces also accommodate some deviations from both specs that are known to exist in the wild.
|
|
501
|
+
* Most aspects of the specifications that are not implemented here are omitted (e.g., skinning, animations).
|
|
502
|
+
* @internal
|
|
503
|
+
*/
|
|
504
|
+
export interface GltfDocument extends GltfProperty {
|
|
505
|
+
/** Metadata about the glTF asset.
|
|
506
|
+
* @note This property is required in glTF 2.0, but optional in 1.0.
|
|
507
|
+
*/
|
|
508
|
+
asset?: GltfAsset;
|
|
509
|
+
/** The Id of the default [[GltfScene]] in [[scenes]]. */
|
|
510
|
+
scene?: GltfId;
|
|
511
|
+
extensions?: GltfExtensions & {
|
|
512
|
+
/** The [CESIUM_RTC extension](https://github.com/KhronosGroup/glTF/blob/main/extensions/1.0/Vendor/CESIUM_RTC/README.md) defines a centroid
|
|
513
|
+
* relative to which all coordinates in the asset are defined, to reduce floating-point precision errors for large coordinates.
|
|
514
|
+
*/
|
|
515
|
+
CESIUM_RTC?: {
|
|
516
|
+
center?: number[];
|
|
517
|
+
};
|
|
518
|
+
/** The [KHR_techniques_webgl extension](https://github.com/KhronosGroup/glTF/blob/c1c12bd100e88ff468ccef1cb88cfbec56a69af2/extensions/2.0/Khronos/KHR_techniques_webgl/README.md)
|
|
519
|
+
* allows "techniques" to be associated with [[GltfMaterial]]s. Techniques can supply custom shader programs to render geometry; this was a core feature of glTF 1.0 (see [[GltfTechnique]]).
|
|
520
|
+
* Here, it is only used to extract uniform values.
|
|
521
|
+
*/
|
|
522
|
+
KHR_techniques_webgl?: {
|
|
523
|
+
techniques?: Array<{
|
|
524
|
+
uniforms?: {
|
|
525
|
+
[key: string]: {
|
|
526
|
+
type: GltfDataType;
|
|
527
|
+
value?: any;
|
|
528
|
+
} | undefined;
|
|
529
|
+
};
|
|
530
|
+
}>;
|
|
531
|
+
};
|
|
532
|
+
EXT_structural_metadata?: GltfStructuralMetadata.Extension;
|
|
533
|
+
};
|
|
534
|
+
/** Names of glTF extensions used in the asset. */
|
|
535
|
+
extensionsUsed?: string[];
|
|
536
|
+
/** Names of glTF extensions required to properly load the asset. */
|
|
537
|
+
extensionsRequired?: string[];
|
|
538
|
+
accessors?: GltfDictionary<GltfAccessor>;
|
|
539
|
+
/** Not currently supported. */
|
|
540
|
+
animations?: GltfDictionary<any>;
|
|
541
|
+
buffers?: GltfDictionary<GltfBuffer>;
|
|
542
|
+
bufferViews?: GltfDictionary<GltfBufferViewProps>;
|
|
543
|
+
/** Not currently used. */
|
|
544
|
+
cameras?: GltfDictionary<any>;
|
|
545
|
+
images?: GltfDictionary<GltfImage>;
|
|
546
|
+
materials?: GltfDictionary<GltfMaterial>;
|
|
547
|
+
meshes?: GltfDictionary<GltfMesh>;
|
|
548
|
+
nodes?: GltfDictionary<GltfNode>;
|
|
549
|
+
samplers?: GltfDictionary<GltfSampler>;
|
|
550
|
+
scenes?: GltfDictionary<GltfScene>;
|
|
551
|
+
/** Not currently supported. */
|
|
552
|
+
skins?: GltfDictionary<any>;
|
|
553
|
+
textures?: GltfDictionary<GltfTexture>;
|
|
554
|
+
/** For glTF 1.0 only, techniques associated with [[Gltf1Material]]s. */
|
|
555
|
+
techniques?: GltfDictionary<GltfTechnique>;
|
|
556
|
+
}
|
|
557
|
+
//# sourceMappingURL=GltfSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GltfSchema.d.ts","sourceRoot":"","sources":["../../../src/gltf/GltfSchema.ts"],"names":[],"mappings":"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"}
|