Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qssggltfdocument_p.h
Go to the documentation of this file.
1
// Copyright (C) 2026 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QSSGGLTFDOCUMENT_P_H
6
#
define
QSSGGLTFDOCUMENT_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
QtQuick3DGltf
/
qtquick3dgltfexports
.
h
>
20
21
#
include
<
QtCore
/
qbytearray
.
h
>
22
#
include
<
QtCore
/
qhash
.
h
>
23
#
include
<
QtCore
/
qjsonobject
.
h
>
24
#
include
<
QtCore
/
qlist
.
h
>
25
#
include
<
QtCore
/
qmath
.
h
>
26
#
include
<
QtCore
/
qstring
.
h
>
27
#
include
<
QtCore
/
qstringlist
.
h
>
28
#
include
<
QtGui
/
qmatrix4x4
.
h
>
29
#
include
<
QtGui
/
qquaternion
.
h
>
30
#
include
<
QtGui
/
qvector2d
.
h
>
31
#
include
<
QtGui
/
qvector3d
.
h
>
32
#
include
<
QtGui
/
qvector4d
.
h
>
33
34
#
include
<
optional
>
35
36
QT_BEGIN_NAMESPACE
37
38
// A value-struct representation of a glTF 2.0 document, mirroring the JSON
39
// schema. Object references are integer indices into the document-level
40
// arrays, exactly as in the format; -1 means "not set". Data specific to
41
// supported extensions is parsed into typed members; anything else stays
42
// available through the raw extension objects.
43
namespace
QSSGGltf
{
44
45
struct
Asset
46
{
47
QString
version
;
48
QString
minVersion
;
49
QString
generator
;
50
QString
copyright
;
51
};
52
53
struct
Buffer
54
{
55
QString
uri
;
56
qint64
byteLength
= 0;
57
QByteArray
data
;
// resolved contents (GLB BIN chunk, data: URI, or external file)
58
bool
meshoptFallback
=
false
;
// EXT_meshopt_compression fallback, never loaded
59
};
60
61
struct
BufferView
62
{
63
int
buffer
= -1;
64
qint64
byteOffset
= 0;
65
qint64
byteLength
= 0;
66
int
byteStride
= 0;
// 0 = tightly packed
67
int
target
= 0;
68
QString
name
;
69
};
70
71
struct
Accessor
72
{
73
// Values match the glTF componentType constants
74
enum
class
ComponentType
{
75
Byte
= 5120,
76
UnsignedByte
= 5121,
77
Short
= 5122,
78
UnsignedShort
= 5123,
79
UnsignedInt
= 5125,
80
Float
= 5126
81
};
82
enum
class
Type
{
83
Scalar
,
84
Vec2
,
85
Vec3
,
86
Vec4
,
87
Mat2
,
88
Mat3
,
89
Mat4
90
};
91
92
struct
Sparse
93
{
94
qint64
count
= 0;
95
int
indicesBufferView
= -1;
96
qint64
indicesByteOffset
= 0;
97
ComponentType
indicesComponentType
=
ComponentType
::
UnsignedInt
;
98
int
valuesBufferView
= -1;
99
qint64
valuesByteOffset
= 0;
100
};
101
102
int
bufferView
= -1;
// -1 = all zeros (unless sparse)
103
qint64
byteOffset
= 0;
104
ComponentType
componentType
=
ComponentType
::
Float
;
105
Type
type
=
Type
::
Scalar
;
106
qint64
count
= 0;
107
bool
normalized
=
false
;
108
QList
<
double
>
min
;
109
QList
<
double
>
max
;
110
std
::optional<
Sparse
>
sparse
;
111
QString
name
;
112
113
static
int
componentByteSize
(
ComponentType
componentType)
114
{
115
switch
(componentType) {
116
case
ComponentType
::
Byte
:
117
case
ComponentType
::
UnsignedByte
:
118
return
1;
119
case
ComponentType
::
Short
:
120
case
ComponentType
::
UnsignedShort
:
121
return
2;
122
case
ComponentType
::
UnsignedInt
:
123
case
ComponentType
::
Float
:
124
return
4;
125
}
126
return
0;
127
}
128
129
static
int
componentCount
(
Type
type)
130
{
131
switch
(type) {
132
case
Type
::
Scalar
:
return
1;
133
case
Type
::
Vec2
:
return
2;
134
case
Type
::
Vec3
:
return
3;
135
case
Type
::
Vec4
:
return
4;
136
case
Type
::
Mat2
:
return
4;
137
case
Type
::
Mat3
:
return
9;
138
case
Type
::
Mat4
:
return
16;
139
}
140
return
0;
141
}
142
143
int
elementByteSize
()
const
144
{
145
return
componentByteSize
(
componentType
)
*
componentCount
(
type
)
;
146
}
147
};
148
149
struct
Image
150
{
151
QString
uri
;
152
int
bufferView
= -1;
153
QString
mimeType
;
154
QString
name
;
155
};
156
157
struct
Sampler
158
{
159
// Values match the glTF/GL filter and wrap constants; 0 = unspecified
160
enum
Filter
{
161
Nearest
= 9728,
162
Linear
= 9729,
163
NearestMipMapNearest
= 9984,
164
LinearMipMapNearest
= 9985,
165
NearestMipMapLinear
= 9986,
166
LinearMipMapLinear
= 9987
167
};
168
enum
WrapMode
{
169
ClampToEdge
= 33071,
170
MirroredRepeat
= 33648,
171
Repeat
= 10497
172
};
173
174
int
magFilter
= 0;
175
int
minFilter
= 0;
176
int
wrapS
=
Repeat
;
177
int
wrapT
=
Repeat
;
178
QString
name
;
179
};
180
181
struct
Texture
182
{
183
int
sampler
= -1;
184
int
source
= -1;
185
int
webpSource
= -1;
// EXT_texture_webp; preferred over source when set
186
QString
name
;
187
QJsonObject
extensions
;
188
};
189
190
struct
TextureTransform
// KHR_texture_transform
191
{
192
QVector2D
offset
{ 0.0f, 0.0f };
193
QVector2D
scale
{ 1.0f, 1.0f };
194
float
rotation
= 0.0f;
195
int
texCoord
= -1;
// -1 = keep the TextureInfo texCoord
196
};
197
198
struct
TextureInfo
199
{
200
int
index
= -1;
201
int
texCoord
= 0;
202
// scale for normalTexture, strength for occlusionTexture; 1.0 otherwise
203
float
scaleOrStrength
= 1.0f;
204
std
::optional<
TextureTransform
>
transform
;
205
206
bool
isSet
()
const
{
return
index
>= 0; }
207
};
208
209
struct
Material
210
{
211
enum
class
AlphaMode
{
212
Opaque
,
213
Mask
,
214
Blend
215
};
216
217
struct
SpecularGlossiness
// KHR_materials_pbrSpecularGlossiness
218
{
219
QVector4D
diffuseFactor
{ 1.0f, 1.0f, 1.0f, 1.0f };
220
TextureInfo
diffuseTexture
;
221
QVector3D
specularFactor
{ 1.0f, 1.0f, 1.0f };
222
float
glossinessFactor
= 1.0f;
223
TextureInfo
specularGlossinessTexture
;
224
};
225
226
struct
Clearcoat
// KHR_materials_clearcoat
227
{
228
float
clearcoatFactor
= 0.0f;
229
TextureInfo
clearcoatTexture
;
230
float
clearcoatRoughnessFactor
= 0.0f;
231
TextureInfo
clearcoatRoughnessTexture
;
232
TextureInfo
clearcoatNormalTexture
;
// scaleOrStrength = normal scale
233
};
234
235
struct
Transmission
// KHR_materials_transmission
236
{
237
float
transmissionFactor
= 0.0f;
238
TextureInfo
transmissionTexture
;
239
};
240
241
struct
Volume
// KHR_materials_volume
242
{
243
float
thicknessFactor
= 0.0f;
244
TextureInfo
thicknessTexture
;
245
float
attenuationDistance
= 0.0f;
// 0 = +infinity per spec default
246
QVector3D
attenuationColor
{ 1.0f, 1.0f, 1.0f };
247
};
248
249
struct
Specular
// KHR_materials_specular
250
{
251
float
specularFactor
= 1.0f;
252
TextureInfo
specularTexture
;
253
QVector3D
specularColorFactor
{ 1.0f, 1.0f, 1.0f };
254
TextureInfo
specularColorTexture
;
255
};
256
257
struct
Sheen
// KHR_materials_sheen
258
{
259
QVector3D
sheenColorFactor
{ 0.0f, 0.0f, 0.0f };
260
TextureInfo
sheenColorTexture
;
261
float
sheenRoughnessFactor
= 0.0f;
262
TextureInfo
sheenRoughnessTexture
;
263
};
264
265
struct
Anisotropy
// KHR_materials_anisotropy
266
{
267
float
anisotropyStrength
= 0.0f;
268
float
anisotropyRotation
= 0.0f;
// radians
269
TextureInfo
anisotropyTexture
;
270
};
271
272
struct
Iridescence
// KHR_materials_iridescence
273
{
274
float
iridescenceFactor
= 0.0f;
275
TextureInfo
iridescenceTexture
;
276
float
iridescenceIor
= 1.3f;
277
float
iridescenceThicknessMinimum
= 100.0f;
// nanometers
278
float
iridescenceThicknessMaximum
= 400.0f;
// nanometers
279
TextureInfo
iridescenceThicknessTexture
;
280
};
281
282
QString
name
;
283
284
// pbrMetallicRoughness
285
QVector4D
baseColorFactor
{ 1.0f, 1.0f, 1.0f, 1.0f };
286
TextureInfo
baseColorTexture
;
287
float
metallicFactor
= 1.0f;
288
float
roughnessFactor
= 1.0f;
289
TextureInfo
metallicRoughnessTexture
;
290
291
TextureInfo
normalTexture
;
// scaleOrStrength = scale
292
TextureInfo
occlusionTexture
;
// scaleOrStrength = strength
293
TextureInfo
emissiveTexture
;
294
QVector3D
emissiveFactor
{ 0.0f, 0.0f, 0.0f };
295
296
AlphaMode
alphaMode
=
AlphaMode
::
Opaque
;
297
float
alphaCutoff
= 0.5f;
298
bool
doubleSided
=
false
;
299
300
// Extensions
301
bool
unlit
=
false
;
// KHR_materials_unlit
302
std
::optional<
SpecularGlossiness
>
specularGlossiness
;
303
std
::optional<
Clearcoat
>
clearcoat
;
304
std
::optional<
Transmission
>
transmission
;
305
std
::optional<
Volume
>
volume
;
306
std
::optional<
float
>
ior
;
// KHR_materials_ior
307
std
::optional<
float
>
emissiveStrength
;
// KHR_materials_emissive_strength
308
std
::optional<
Specular
>
specular
;
309
std
::optional<
Sheen
>
sheen
;
310
std
::optional<
Anisotropy
>
anisotropy
;
311
std
::optional<
Iridescence
>
iridescence
;
312
std
::optional<
float
>
dispersion
;
// KHR_materials_dispersion
313
314
QJsonObject
extensions
;
// raw, including any we do not support
315
};
316
317
struct
MeshPrimitive
318
{
319
// Values match the glTF primitive.mode constants
320
enum
Mode
{
321
Points
= 0,
322
Lines
= 1,
323
LineLoop
= 2,
324
LineStrip
= 3,
325
Triangles
= 4,
326
TriangleStrip
= 5,
327
TriangleFan
= 6
328
};
329
330
struct
VariantMapping
// KHR_materials_variants
331
{
332
int
material
= -1;
333
QList
<
int
>
variants
;
// indices into QSSGGltfDocument::materialVariants
334
};
335
336
QHash
<
QByteArray
,
int
>
attributes
;
// semantic (POSITION, NORMAL, ...) -> accessor
337
int
indices
= -1;
338
int
material
= -1;
339
int
mode
=
Triangles
;
340
QList
<
QHash
<
QByteArray
,
int
>>
targets
;
// morph targets
341
QList
<
VariantMapping
>
variantMappings
;
// KHR_materials_variants
342
QJsonObject
extensions
;
343
344
// -1 or an unmapped variant selects the default; the first match wins
345
int
effectiveMaterial
(
int
variantIndex)
const
346
{
347
if
(variantIndex >= 0) {
348
for
(
const
VariantMapping &mapping : variantMappings) {
349
if
(mapping.variants.contains(variantIndex))
350
return
mapping.material;
351
}
352
}
353
return
material
;
354
}
355
};
356
357
struct
Mesh
358
{
359
QList
<
MeshPrimitive
>
primitives
;
360
QList
<
float
>
weights
;
// default morph target weights
361
QString
name
;
362
};
363
364
struct
Node
365
{
366
QList
<
int
>
children
;
367
int
mesh
= -1;
368
int
skin
= -1;
369
int
camera
= -1;
370
int
light
= -1;
// KHR_lights_punctual
371
bool
hasMatrix
=
false
;
372
QMatrix4x4
matrix
;
373
QVector3D
translation
{ 0.0f, 0.0f, 0.0f };
374
QQuaternion
rotation
;
375
QVector3D
scale
{ 1.0f, 1.0f, 1.0f };
376
QList
<
float
>
weights
;
// overrides mesh.weights
377
bool
visible
=
true
;
// KHR_node_visibility; applies to the node's subtree
378
// EXT_mesh_gpu_instancing accessors
379
bool
hasInstancing
=
false
;
380
int
instanceTranslation
= -1;
381
int
instanceRotation
= -1;
382
int
instanceScale
= -1;
383
QString
name
;
384
QJsonObject
extensions
;
385
};
386
387
struct
Skin
388
{
389
int
inverseBindMatrices
= -1;
// -1 = identity matrices
390
int
skeleton
= -1;
391
QList
<
int
>
joints
;
392
QString
name
;
393
};
394
395
struct
AnimationSampler
396
{
397
enum
class
Interpolation
{
398
Linear
,
399
Step
,
400
CubicSpline
401
};
402
403
int
input
= -1;
// accessor with key times (seconds)
404
int
output
= -1;
// accessor with key values
405
Interpolation
interpolation
=
Interpolation
::
Linear
;
406
};
407
408
struct
AnimationChannel
409
{
410
enum
class
Path
{
411
Translation
,
412
Rotation
,
413
Scale
,
414
Weights
415
};
416
417
int
sampler
= -1;
418
int
targetNode
= -1;
419
Path
path
=
Path
::
Translation
;
420
};
421
422
struct
Animation
423
{
424
QList
<
AnimationSampler
>
samplers
;
425
QList
<
AnimationChannel
>
channels
;
426
QString
name
;
427
};
428
429
struct
Camera
430
{
431
enum
class
Type
{
432
Perspective
,
433
Orthographic
434
};
435
436
Type
type
=
Type
::
Perspective
;
437
// perspective
438
float
aspectRatio
= 0.0f;
// 0 = unspecified
439
float
yfov
= 0.0f;
// radians
440
// orthographic
441
float
xmag
= 0.0f;
442
float
ymag
= 0.0f;
443
// shared
444
float
znear
= 0.0f;
445
float
zfar
= 0.0f;
// 0 = infinite for perspective
446
QString
name
;
447
};
448
449
struct
Light
// KHR_lights_punctual
450
{
451
enum
class
Type
{
452
Directional
,
453
Point
,
454
Spot
455
};
456
457
Type
type
=
Type
::
Directional
;
458
QVector3D
color
{ 1.0f, 1.0f, 1.0f };
459
float
intensity
= 1.0f;
// candela for point/spot, lux for directional
460
float
range
= 0.0f;
// 0 = +infinity per spec default
461
// spot only
462
float
innerConeAngle
= 0.0f;
// radians
463
float
outerConeAngle
= qDegreesToRadians(45.0f);
464
QString
name
;
465
};
466
467
struct
Scene
468
{
469
QList
<
int
>
nodes
;
470
QString
name
;
471
};
472
473
}
// namespace QSSGGltf
474
475
class
Q_QUICK3DGLTF_EXPORT
QSSGGltfDocument
476
{
477
public
:
478
QSSGGltf::Asset asset;
479
QList<QSSGGltf::Buffer> buffers;
480
QList<QSSGGltf::BufferView> bufferViews;
481
QList<QSSGGltf::Accessor> accessors;
482
QList<QSSGGltf::Image> images;
483
QList<QSSGGltf::Sampler> samplers;
484
QList<QSSGGltf::Texture> textures;
485
QList<QSSGGltf::Material> materials;
486
QList<QSSGGltf::Mesh> meshes;
487
QList<QSSGGltf::Node> nodes;
488
QList<QSSGGltf::Skin> skins;
489
QList<QSSGGltf::Animation> animations;
490
QList<QSSGGltf::Camera> cameras;
491
QList<QSSGGltf::Light> lights;
// KHR_lights_punctual
492
QList<QSSGGltf::Scene> scenes;
493
int
scene = -1;
494
495
QStringList extensionsUsed;
496
QStringList extensionsRequired;
497
QStringList materialVariants;
// KHR_materials_variants variant names
498
QJsonObject rootExtensions;
499
500
// Directory the document was loaded from, used to resolve relative URIs.
501
// Local filesystem or qrc (":/...") path.
502
QString baseDir;
503
};
504
505
QT_END_NAMESPACE
506
507
#
endif
// QSSGGLTFDOCUMENT_P_H
QSSGGltfDocument
Definition
qssggltfdocument_p.h:476
QSSGGltf
Definition
qssggltfdocument_p.h:43
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
QSSGGltf::Accessor::Sparse
Definition
qssggltfdocument_p.h:93
QSSGGltf::Accessor::Sparse::valuesByteOffset
qint64 valuesByteOffset
Definition
qssggltfdocument_p.h:99
QSSGGltf::Accessor::Sparse::indicesByteOffset
qint64 indicesByteOffset
Definition
qssggltfdocument_p.h:96
QSSGGltf::Accessor::Sparse::valuesBufferView
int valuesBufferView
Definition
qssggltfdocument_p.h:98
QSSGGltf::Accessor::Sparse::indicesBufferView
int indicesBufferView
Definition
qssggltfdocument_p.h:95
QSSGGltf::Accessor::Sparse::count
qint64 count
Definition
qssggltfdocument_p.h:94
QSSGGltf::Accessor::Sparse::indicesComponentType
ComponentType indicesComponentType
Definition
qssggltfdocument_p.h:97
QSSGGltf::Accessor
Definition
qssggltfdocument_p.h:72
QSSGGltf::Accessor::max
QList< double > max
Definition
qssggltfdocument_p.h:109
QSSGGltf::Accessor::bufferView
int bufferView
Definition
qssggltfdocument_p.h:102
QSSGGltf::Accessor::count
qint64 count
Definition
qssggltfdocument_p.h:106
QSSGGltf::Accessor::ComponentType
ComponentType
Definition
qssggltfdocument_p.h:74
QSSGGltf::Accessor::ComponentType::Float
@ Float
Definition
qssggltfdocument_p.h:80
QSSGGltf::Accessor::ComponentType::Short
@ Short
Definition
qssggltfdocument_p.h:77
QSSGGltf::Accessor::ComponentType::UnsignedByte
@ UnsignedByte
Definition
qssggltfdocument_p.h:76
QSSGGltf::Accessor::ComponentType::Byte
@ Byte
Definition
qssggltfdocument_p.h:75
QSSGGltf::Accessor::ComponentType::UnsignedInt
@ UnsignedInt
Definition
qssggltfdocument_p.h:79
QSSGGltf::Accessor::ComponentType::UnsignedShort
@ UnsignedShort
Definition
qssggltfdocument_p.h:78
QSSGGltf::Accessor::componentType
ComponentType componentType
Definition
qssggltfdocument_p.h:104
QSSGGltf::Accessor::min
QList< double > min
Definition
qssggltfdocument_p.h:108
QSSGGltf::Accessor::Type
Type
Definition
qssggltfdocument_p.h:82
QSSGGltf::Accessor::Type::Vec3
@ Vec3
Definition
qssggltfdocument_p.h:85
QSSGGltf::Accessor::Type::Mat2
@ Mat2
Definition
qssggltfdocument_p.h:87
QSSGGltf::Accessor::Type::Mat3
@ Mat3
Definition
qssggltfdocument_p.h:88
QSSGGltf::Accessor::Type::Mat4
@ Mat4
Definition
qssggltfdocument_p.h:89
QSSGGltf::Accessor::Type::Scalar
@ Scalar
Definition
qssggltfdocument_p.h:83
QSSGGltf::Accessor::Type::Vec4
@ Vec4
Definition
qssggltfdocument_p.h:86
QSSGGltf::Accessor::Type::Vec2
@ Vec2
Definition
qssggltfdocument_p.h:84
QSSGGltf::Accessor::componentByteSize
static int componentByteSize(ComponentType componentType)
Definition
qssggltfdocument_p.h:113
QSSGGltf::Accessor::sparse
std::optional< Sparse > sparse
Definition
qssggltfdocument_p.h:110
QSSGGltf::Accessor::elementByteSize
int elementByteSize() const
Definition
qssggltfdocument_p.h:143
QSSGGltf::Accessor::byteOffset
qint64 byteOffset
Definition
qssggltfdocument_p.h:103
QSSGGltf::Accessor::type
Type type
Definition
qssggltfdocument_p.h:105
QSSGGltf::Accessor::componentCount
static int componentCount(Type type)
Definition
qssggltfdocument_p.h:129
QSSGGltf::Accessor::name
QString name
Definition
qssggltfdocument_p.h:111
QSSGGltf::Accessor::normalized
bool normalized
Definition
qssggltfdocument_p.h:107
QSSGGltf::AnimationChannel
Definition
qssggltfdocument_p.h:409
QSSGGltf::AnimationChannel::sampler
int sampler
Definition
qssggltfdocument_p.h:417
QSSGGltf::AnimationChannel::path
Path path
Definition
qssggltfdocument_p.h:419
QSSGGltf::AnimationChannel::targetNode
int targetNode
Definition
qssggltfdocument_p.h:418
QSSGGltf::AnimationChannel::Path
Path
Definition
qssggltfdocument_p.h:410
QSSGGltf::AnimationChannel::Path::Translation
@ Translation
Definition
qssggltfdocument_p.h:411
QSSGGltf::AnimationChannel::Path::Scale
@ Scale
Definition
qssggltfdocument_p.h:413
QSSGGltf::AnimationChannel::Path::Weights
@ Weights
Definition
qssggltfdocument_p.h:414
QSSGGltf::AnimationChannel::Path::Rotation
@ Rotation
Definition
qssggltfdocument_p.h:412
QSSGGltf::AnimationSampler
Definition
qssggltfdocument_p.h:396
QSSGGltf::AnimationSampler::Interpolation
Interpolation
Definition
qssggltfdocument_p.h:397
QSSGGltf::AnimationSampler::Interpolation::Linear
@ Linear
Definition
qssggltfdocument_p.h:398
QSSGGltf::AnimationSampler::Interpolation::Step
@ Step
Definition
qssggltfdocument_p.h:399
QSSGGltf::AnimationSampler::Interpolation::CubicSpline
@ CubicSpline
Definition
qssggltfdocument_p.h:400
QSSGGltf::AnimationSampler::interpolation
Interpolation interpolation
Definition
qssggltfdocument_p.h:405
QSSGGltf::AnimationSampler::input
int input
Definition
qssggltfdocument_p.h:403
QSSGGltf::AnimationSampler::output
int output
Definition
qssggltfdocument_p.h:404
QSSGGltf::Animation
Definition
qssggltfdocument_p.h:423
QSSGGltf::Animation::samplers
QList< AnimationSampler > samplers
Definition
qssggltfdocument_p.h:424
QSSGGltf::Animation::name
QString name
Definition
qssggltfdocument_p.h:426
QSSGGltf::Animation::channels
QList< AnimationChannel > channels
Definition
qssggltfdocument_p.h:425
QSSGGltf::Asset
Definition
qssggltfdocument_p.h:46
QSSGGltf::Asset::version
QString version
Definition
qssggltfdocument_p.h:47
QSSGGltf::Asset::copyright
QString copyright
Definition
qssggltfdocument_p.h:50
QSSGGltf::Asset::minVersion
QString minVersion
Definition
qssggltfdocument_p.h:48
QSSGGltf::Asset::generator
QString generator
Definition
qssggltfdocument_p.h:49
QSSGGltf::BufferView
Definition
qssggltfdocument_p.h:62
QSSGGltf::BufferView::name
QString name
Definition
qssggltfdocument_p.h:68
QSSGGltf::BufferView::target
int target
Definition
qssggltfdocument_p.h:67
QSSGGltf::BufferView::byteStride
int byteStride
Definition
qssggltfdocument_p.h:66
QSSGGltf::BufferView::byteLength
qint64 byteLength
Definition
qssggltfdocument_p.h:65
QSSGGltf::BufferView::buffer
int buffer
Definition
qssggltfdocument_p.h:63
QSSGGltf::BufferView::byteOffset
qint64 byteOffset
Definition
qssggltfdocument_p.h:64
QSSGGltf::Buffer
Definition
qssggltfdocument_p.h:54
QSSGGltf::Buffer::data
QByteArray data
Definition
qssggltfdocument_p.h:57
QSSGGltf::Buffer::meshoptFallback
bool meshoptFallback
Definition
qssggltfdocument_p.h:58
QSSGGltf::Buffer::byteLength
qint64 byteLength
Definition
qssggltfdocument_p.h:56
QSSGGltf::Buffer::uri
QString uri
Definition
qssggltfdocument_p.h:55
QSSGGltf::Camera
Definition
qssggltfdocument_p.h:430
QSSGGltf::Camera::type
Type type
Definition
qssggltfdocument_p.h:436
QSSGGltf::Camera::znear
float znear
Definition
qssggltfdocument_p.h:444
QSSGGltf::Camera::yfov
float yfov
Definition
qssggltfdocument_p.h:439
QSSGGltf::Camera::xmag
float xmag
Definition
qssggltfdocument_p.h:441
QSSGGltf::Camera::aspectRatio
float aspectRatio
Definition
qssggltfdocument_p.h:438
QSSGGltf::Camera::name
QString name
Definition
qssggltfdocument_p.h:446
QSSGGltf::Camera::ymag
float ymag
Definition
qssggltfdocument_p.h:442
QSSGGltf::Camera::zfar
float zfar
Definition
qssggltfdocument_p.h:445
QSSGGltf::Camera::Type
Type
Definition
qssggltfdocument_p.h:431
QSSGGltf::Camera::Type::Orthographic
@ Orthographic
Definition
qssggltfdocument_p.h:433
QSSGGltf::Camera::Type::Perspective
@ Perspective
Definition
qssggltfdocument_p.h:432
QSSGGltf::Image
Definition
qssggltfdocument_p.h:150
QSSGGltf::Image::uri
QString uri
Definition
qssggltfdocument_p.h:151
QSSGGltf::Image::bufferView
int bufferView
Definition
qssggltfdocument_p.h:152
QSSGGltf::Image::name
QString name
Definition
qssggltfdocument_p.h:154
QSSGGltf::Image::mimeType
QString mimeType
Definition
qssggltfdocument_p.h:153
QSSGGltf::Light
Definition
qssggltfdocument_p.h:450
QSSGGltf::Light::type
Type type
Definition
qssggltfdocument_p.h:457
QSSGGltf::Light::color
QVector3D color
Definition
qssggltfdocument_p.h:458
QSSGGltf::Light::innerConeAngle
float innerConeAngle
Definition
qssggltfdocument_p.h:462
QSSGGltf::Light::Type
Type
Definition
qssggltfdocument_p.h:451
QSSGGltf::Light::Type::Point
@ Point
Definition
qssggltfdocument_p.h:453
QSSGGltf::Light::Type::Spot
@ Spot
Definition
qssggltfdocument_p.h:454
QSSGGltf::Light::Type::Directional
@ Directional
Definition
qssggltfdocument_p.h:452
QSSGGltf::Light::outerConeAngle
float outerConeAngle
Definition
qssggltfdocument_p.h:463
QSSGGltf::Light::intensity
float intensity
Definition
qssggltfdocument_p.h:459
QSSGGltf::Light::name
QString name
Definition
qssggltfdocument_p.h:464
QSSGGltf::Light::range
float range
Definition
qssggltfdocument_p.h:460
QSSGGltf::Material::Anisotropy
Definition
qssggltfdocument_p.h:266
QSSGGltf::Material::Anisotropy::anisotropyStrength
float anisotropyStrength
Definition
qssggltfdocument_p.h:267
QSSGGltf::Material::Anisotropy::anisotropyRotation
float anisotropyRotation
Definition
qssggltfdocument_p.h:268
QSSGGltf::Material::Anisotropy::anisotropyTexture
TextureInfo anisotropyTexture
Definition
qssggltfdocument_p.h:269
QSSGGltf::Material::Clearcoat
Definition
qssggltfdocument_p.h:227
QSSGGltf::Material::Clearcoat::clearcoatTexture
TextureInfo clearcoatTexture
Definition
qssggltfdocument_p.h:229
QSSGGltf::Material::Clearcoat::clearcoatRoughnessFactor
float clearcoatRoughnessFactor
Definition
qssggltfdocument_p.h:230
QSSGGltf::Material::Clearcoat::clearcoatFactor
float clearcoatFactor
Definition
qssggltfdocument_p.h:228
QSSGGltf::Material::Clearcoat::clearcoatNormalTexture
TextureInfo clearcoatNormalTexture
Definition
qssggltfdocument_p.h:232
QSSGGltf::Material::Clearcoat::clearcoatRoughnessTexture
TextureInfo clearcoatRoughnessTexture
Definition
qssggltfdocument_p.h:231
QSSGGltf::Material::Iridescence
Definition
qssggltfdocument_p.h:273
QSSGGltf::Material::Iridescence::iridescenceThicknessMaximum
float iridescenceThicknessMaximum
Definition
qssggltfdocument_p.h:278
QSSGGltf::Material::Iridescence::iridescenceTexture
TextureInfo iridescenceTexture
Definition
qssggltfdocument_p.h:275
QSSGGltf::Material::Iridescence::iridescenceThicknessTexture
TextureInfo iridescenceThicknessTexture
Definition
qssggltfdocument_p.h:279
QSSGGltf::Material::Iridescence::iridescenceFactor
float iridescenceFactor
Definition
qssggltfdocument_p.h:274
QSSGGltf::Material::Iridescence::iridescenceThicknessMinimum
float iridescenceThicknessMinimum
Definition
qssggltfdocument_p.h:277
QSSGGltf::Material::Iridescence::iridescenceIor
float iridescenceIor
Definition
qssggltfdocument_p.h:276
QSSGGltf::Material::Sheen
Definition
qssggltfdocument_p.h:258
QSSGGltf::Material::Sheen::sheenRoughnessTexture
TextureInfo sheenRoughnessTexture
Definition
qssggltfdocument_p.h:262
QSSGGltf::Material::Sheen::sheenRoughnessFactor
float sheenRoughnessFactor
Definition
qssggltfdocument_p.h:261
QSSGGltf::Material::Sheen::sheenColorFactor
QVector3D sheenColorFactor
Definition
qssggltfdocument_p.h:259
QSSGGltf::Material::Sheen::sheenColorTexture
TextureInfo sheenColorTexture
Definition
qssggltfdocument_p.h:260
QSSGGltf::Material::SpecularGlossiness
Definition
qssggltfdocument_p.h:218
QSSGGltf::Material::SpecularGlossiness::glossinessFactor
float glossinessFactor
Definition
qssggltfdocument_p.h:222
QSSGGltf::Material::SpecularGlossiness::diffuseTexture
TextureInfo diffuseTexture
Definition
qssggltfdocument_p.h:220
QSSGGltf::Material::SpecularGlossiness::specularFactor
QVector3D specularFactor
Definition
qssggltfdocument_p.h:221
QSSGGltf::Material::SpecularGlossiness::diffuseFactor
QVector4D diffuseFactor
Definition
qssggltfdocument_p.h:219
QSSGGltf::Material::SpecularGlossiness::specularGlossinessTexture
TextureInfo specularGlossinessTexture
Definition
qssggltfdocument_p.h:223
QSSGGltf::Material::Specular
Definition
qssggltfdocument_p.h:250
QSSGGltf::Material::Specular::specularTexture
TextureInfo specularTexture
Definition
qssggltfdocument_p.h:252
QSSGGltf::Material::Specular::specularFactor
float specularFactor
Definition
qssggltfdocument_p.h:251
QSSGGltf::Material::Specular::specularColorFactor
QVector3D specularColorFactor
Definition
qssggltfdocument_p.h:253
QSSGGltf::Material::Specular::specularColorTexture
TextureInfo specularColorTexture
Definition
qssggltfdocument_p.h:254
QSSGGltf::Material::Transmission
Definition
qssggltfdocument_p.h:236
QSSGGltf::Material::Transmission::transmissionTexture
TextureInfo transmissionTexture
Definition
qssggltfdocument_p.h:238
QSSGGltf::Material::Transmission::transmissionFactor
float transmissionFactor
Definition
qssggltfdocument_p.h:237
QSSGGltf::Material::Volume
Definition
qssggltfdocument_p.h:242
QSSGGltf::Material::Volume::attenuationColor
QVector3D attenuationColor
Definition
qssggltfdocument_p.h:246
QSSGGltf::Material::Volume::thicknessFactor
float thicknessFactor
Definition
qssggltfdocument_p.h:243
QSSGGltf::Material::Volume::thicknessTexture
TextureInfo thicknessTexture
Definition
qssggltfdocument_p.h:244
QSSGGltf::Material::Volume::attenuationDistance
float attenuationDistance
Definition
qssggltfdocument_p.h:245
QSSGGltf::Material
Definition
qssggltfdocument_p.h:210
QSSGGltf::Material::unlit
bool unlit
Definition
qssggltfdocument_p.h:301
QSSGGltf::Material::specular
std::optional< Specular > specular
Definition
qssggltfdocument_p.h:308
QSSGGltf::Material::normalTexture
TextureInfo normalTexture
Definition
qssggltfdocument_p.h:291
QSSGGltf::Material::alphaMode
AlphaMode alphaMode
Definition
qssggltfdocument_p.h:296
QSSGGltf::Material::clearcoat
std::optional< Clearcoat > clearcoat
Definition
qssggltfdocument_p.h:303
QSSGGltf::Material::baseColorFactor
QVector4D baseColorFactor
Definition
qssggltfdocument_p.h:285
QSSGGltf::Material::baseColorTexture
TextureInfo baseColorTexture
Definition
qssggltfdocument_p.h:286
QSSGGltf::Material::emissiveTexture
TextureInfo emissiveTexture
Definition
qssggltfdocument_p.h:293
QSSGGltf::Material::anisotropy
std::optional< Anisotropy > anisotropy
Definition
qssggltfdocument_p.h:310
QSSGGltf::Material::dispersion
std::optional< float > dispersion
Definition
qssggltfdocument_p.h:312
QSSGGltf::Material::roughnessFactor
float roughnessFactor
Definition
qssggltfdocument_p.h:288
QSSGGltf::Material::metallicRoughnessTexture
TextureInfo metallicRoughnessTexture
Definition
qssggltfdocument_p.h:289
QSSGGltf::Material::alphaCutoff
float alphaCutoff
Definition
qssggltfdocument_p.h:297
QSSGGltf::Material::ior
std::optional< float > ior
Definition
qssggltfdocument_p.h:306
QSSGGltf::Material::extensions
QJsonObject extensions
Definition
qssggltfdocument_p.h:314
QSSGGltf::Material::occlusionTexture
TextureInfo occlusionTexture
Definition
qssggltfdocument_p.h:292
QSSGGltf::Material::AlphaMode
AlphaMode
Definition
qssggltfdocument_p.h:211
QSSGGltf::Material::AlphaMode::Blend
@ Blend
Definition
qssggltfdocument_p.h:214
QSSGGltf::Material::AlphaMode::Mask
@ Mask
Definition
qssggltfdocument_p.h:213
QSSGGltf::Material::AlphaMode::Opaque
@ Opaque
Definition
qssggltfdocument_p.h:212
QSSGGltf::Material::doubleSided
bool doubleSided
Definition
qssggltfdocument_p.h:298
QSSGGltf::Material::sheen
std::optional< Sheen > sheen
Definition
qssggltfdocument_p.h:309
QSSGGltf::Material::specularGlossiness
std::optional< SpecularGlossiness > specularGlossiness
Definition
qssggltfdocument_p.h:302
QSSGGltf::Material::volume
std::optional< Volume > volume
Definition
qssggltfdocument_p.h:305
QSSGGltf::Material::transmission
std::optional< Transmission > transmission
Definition
qssggltfdocument_p.h:304
QSSGGltf::Material::name
QString name
Definition
qssggltfdocument_p.h:282
QSSGGltf::Material::iridescence
std::optional< Iridescence > iridescence
Definition
qssggltfdocument_p.h:311
QSSGGltf::Material::metallicFactor
float metallicFactor
Definition
qssggltfdocument_p.h:287
QSSGGltf::Material::emissiveStrength
std::optional< float > emissiveStrength
Definition
qssggltfdocument_p.h:307
QSSGGltf::Material::emissiveFactor
QVector3D emissiveFactor
Definition
qssggltfdocument_p.h:294
QSSGGltf::MeshPrimitive::VariantMapping
Definition
qssggltfdocument_p.h:331
QSSGGltf::MeshPrimitive::VariantMapping::material
int material
Definition
qssggltfdocument_p.h:332
QSSGGltf::MeshPrimitive::VariantMapping::variants
QList< int > variants
Definition
qssggltfdocument_p.h:333
QSSGGltf::MeshPrimitive
Definition
qssggltfdocument_p.h:318
QSSGGltf::MeshPrimitive::effectiveMaterial
int effectiveMaterial(int variantIndex) const
Definition
qssggltfdocument_p.h:345
QSSGGltf::MeshPrimitive::variantMappings
QList< VariantMapping > variantMappings
Definition
qssggltfdocument_p.h:341
QSSGGltf::MeshPrimitive::indices
int indices
Definition
qssggltfdocument_p.h:337
QSSGGltf::MeshPrimitive::mode
int mode
Definition
qssggltfdocument_p.h:339
QSSGGltf::MeshPrimitive::material
int material
Definition
qssggltfdocument_p.h:338
QSSGGltf::MeshPrimitive::Mode
Mode
Definition
qssggltfdocument_p.h:320
QSSGGltf::MeshPrimitive::TriangleStrip
@ TriangleStrip
Definition
qssggltfdocument_p.h:326
QSSGGltf::MeshPrimitive::LineStrip
@ LineStrip
Definition
qssggltfdocument_p.h:324
QSSGGltf::MeshPrimitive::Triangles
@ Triangles
Definition
qssggltfdocument_p.h:325
QSSGGltf::MeshPrimitive::Lines
@ Lines
Definition
qssggltfdocument_p.h:322
QSSGGltf::MeshPrimitive::Points
@ Points
Definition
qssggltfdocument_p.h:321
QSSGGltf::MeshPrimitive::TriangleFan
@ TriangleFan
Definition
qssggltfdocument_p.h:327
QSSGGltf::MeshPrimitive::LineLoop
@ LineLoop
Definition
qssggltfdocument_p.h:323
QSSGGltf::MeshPrimitive::extensions
QJsonObject extensions
Definition
qssggltfdocument_p.h:342
QSSGGltf::MeshPrimitive::attributes
QHash< QByteArray, int > attributes
Definition
qssggltfdocument_p.h:336
QSSGGltf::MeshPrimitive::targets
QList< QHash< QByteArray, int > > targets
Definition
qssggltfdocument_p.h:340
QSSGGltf::Mesh
Definition
qssggltfdocument_p.h:358
QSSGGltf::Mesh::name
QString name
Definition
qssggltfdocument_p.h:361
QSSGGltf::Mesh::weights
QList< float > weights
Definition
qssggltfdocument_p.h:360
QSSGGltf::Mesh::primitives
QList< MeshPrimitive > primitives
Definition
qssggltfdocument_p.h:359
QSSGGltf::Node
Definition
qssggltfdocument_p.h:365
QSSGGltf::Node::hasInstancing
bool hasInstancing
Definition
qssggltfdocument_p.h:379
QSSGGltf::Node::matrix
QMatrix4x4 matrix
Definition
qssggltfdocument_p.h:372
QSSGGltf::Node::instanceRotation
int instanceRotation
Definition
qssggltfdocument_p.h:381
QSSGGltf::Node::translation
QVector3D translation
Definition
qssggltfdocument_p.h:373
QSSGGltf::Node::extensions
QJsonObject extensions
Definition
qssggltfdocument_p.h:384
QSSGGltf::Node::children
QList< int > children
Definition
qssggltfdocument_p.h:366
QSSGGltf::Node::instanceScale
int instanceScale
Definition
qssggltfdocument_p.h:382
QSSGGltf::Node::hasMatrix
bool hasMatrix
Definition
qssggltfdocument_p.h:371
QSSGGltf::Node::visible
bool visible
Definition
qssggltfdocument_p.h:377
QSSGGltf::Node::mesh
int mesh
Definition
qssggltfdocument_p.h:367
QSSGGltf::Node::instanceTranslation
int instanceTranslation
Definition
qssggltfdocument_p.h:380
QSSGGltf::Node::skin
int skin
Definition
qssggltfdocument_p.h:368
QSSGGltf::Node::rotation
QQuaternion rotation
Definition
qssggltfdocument_p.h:374
QSSGGltf::Node::camera
int camera
Definition
qssggltfdocument_p.h:369
QSSGGltf::Node::name
QString name
Definition
qssggltfdocument_p.h:383
QSSGGltf::Node::scale
QVector3D scale
Definition
qssggltfdocument_p.h:375
QSSGGltf::Node::light
int light
Definition
qssggltfdocument_p.h:370
QSSGGltf::Node::weights
QList< float > weights
Definition
qssggltfdocument_p.h:376
QSSGGltf::Sampler
Definition
qssggltfdocument_p.h:158
QSSGGltf::Sampler::Filter
Filter
Definition
qssggltfdocument_p.h:160
QSSGGltf::Sampler::Linear
@ Linear
Definition
qssggltfdocument_p.h:162
QSSGGltf::Sampler::LinearMipMapLinear
@ LinearMipMapLinear
Definition
qssggltfdocument_p.h:166
QSSGGltf::Sampler::LinearMipMapNearest
@ LinearMipMapNearest
Definition
qssggltfdocument_p.h:164
QSSGGltf::Sampler::Nearest
@ Nearest
Definition
qssggltfdocument_p.h:161
QSSGGltf::Sampler::NearestMipMapNearest
@ NearestMipMapNearest
Definition
qssggltfdocument_p.h:163
QSSGGltf::Sampler::NearestMipMapLinear
@ NearestMipMapLinear
Definition
qssggltfdocument_p.h:165
QSSGGltf::Sampler::magFilter
int magFilter
Definition
qssggltfdocument_p.h:174
QSSGGltf::Sampler::name
QString name
Definition
qssggltfdocument_p.h:178
QSSGGltf::Sampler::minFilter
int minFilter
Definition
qssggltfdocument_p.h:175
QSSGGltf::Sampler::wrapS
int wrapS
Definition
qssggltfdocument_p.h:176
QSSGGltf::Sampler::WrapMode
WrapMode
Definition
qssggltfdocument_p.h:168
QSSGGltf::Sampler::ClampToEdge
@ ClampToEdge
Definition
qssggltfdocument_p.h:169
QSSGGltf::Sampler::MirroredRepeat
@ MirroredRepeat
Definition
qssggltfdocument_p.h:170
QSSGGltf::Sampler::Repeat
@ Repeat
Definition
qssggltfdocument_p.h:171
QSSGGltf::Sampler::wrapT
int wrapT
Definition
qssggltfdocument_p.h:177
QSSGGltf::Scene
Definition
qssggltfdocument_p.h:468
QSSGGltf::Scene::name
QString name
Definition
qssggltfdocument_p.h:470
QSSGGltf::Scene::nodes
QList< int > nodes
Definition
qssggltfdocument_p.h:469
QSSGGltf::Skin
Definition
qssggltfdocument_p.h:388
QSSGGltf::Skin::name
QString name
Definition
qssggltfdocument_p.h:392
QSSGGltf::Skin::inverseBindMatrices
int inverseBindMatrices
Definition
qssggltfdocument_p.h:389
QSSGGltf::Skin::skeleton
int skeleton
Definition
qssggltfdocument_p.h:390
QSSGGltf::Skin::joints
QList< int > joints
Definition
qssggltfdocument_p.h:391
QSSGGltf::TextureInfo
Definition
qssggltfdocument_p.h:199
QSSGGltf::TextureInfo::scaleOrStrength
float scaleOrStrength
Definition
qssggltfdocument_p.h:203
QSSGGltf::TextureInfo::index
int index
Definition
qssggltfdocument_p.h:200
QSSGGltf::TextureInfo::isSet
bool isSet() const
Definition
qssggltfdocument_p.h:206
QSSGGltf::TextureInfo::texCoord
int texCoord
Definition
qssggltfdocument_p.h:201
QSSGGltf::TextureInfo::transform
std::optional< TextureTransform > transform
Definition
qssggltfdocument_p.h:204
QSSGGltf::TextureTransform
Definition
qssggltfdocument_p.h:191
QSSGGltf::TextureTransform::scale
QVector2D scale
Definition
qssggltfdocument_p.h:193
QSSGGltf::TextureTransform::offset
QVector2D offset
Definition
qssggltfdocument_p.h:192
QSSGGltf::TextureTransform::rotation
float rotation
Definition
qssggltfdocument_p.h:194
QSSGGltf::TextureTransform::texCoord
int texCoord
Definition
qssggltfdocument_p.h:195
QSSGGltf::Texture
Definition
qssggltfdocument_p.h:182
QSSGGltf::Texture::webpSource
int webpSource
Definition
qssggltfdocument_p.h:185
QSSGGltf::Texture::name
QString name
Definition
qssggltfdocument_p.h:186
QSSGGltf::Texture::sampler
int sampler
Definition
qssggltfdocument_p.h:183
QSSGGltf::Texture::extensions
QJsonObject extensions
Definition
qssggltfdocument_p.h:187
QSSGGltf::Texture::source
int source
Definition
qssggltfdocument_p.h:184
qtquick3d
src
gltf
qssggltfdocument_p.h
Generated on
for Qt by
1.18.0