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
qssgrendermesh_p.h
Go to the documentation of this file.
1
// Copyright (C) 2008-2012 NVIDIA Corporation.
2
// Copyright (C) 2019 The Qt Company Ltd.
3
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
4
// Qt-Security score:significant reason:default
5
6
7
#
ifndef
QSSG_RENDER_MESH_H
8
#
define
QSSG_RENDER_MESH_H
9
10
//
11
// W A R N I N G
12
// -------------
13
//
14
// This file is not part of the Qt API. It exists purely as an
15
// implementation detail. This header file may change from version to
16
// version without notice, or even be removed.
17
//
18
// We mean it.
19
//
20
21
#
include
<
QtQuick3DRuntimeRender
/
private
/
qssgrhicontext_p
.
h
>
22
23
#
include
<
QtQuick3DUtils
/
private
/
qssgbounds3_p
.
h
>
24
#
include
<
QtQuick3DUtils
/
private
/
qssgmeshbvh_p
.
h
>
25
26
QT_BEGIN_NAMESPACE
27
28
struct
QSSGRenderSubset
29
{
30
quint32
count
;
31
quint32
offset
;
32
QSSGBounds3
bounds
;
// Vertex buffer bounds
33
QSSGMeshBVHNode
::
Handle
bvhRoot
;
34
struct
{
35
QSSGRhiBufferPtr vertexBuffer;
36
QSSGRhiBufferPtr indexBuffer;
37
QSSGRhiInputAssemblerState ia;
38
QRhiTexture *targetsTexture =
nullptr
;
39
} rhi;
40
41
struct
Lod
{
42
quint32
count
= 0;
43
quint32
offset
= 0;
44
float
distance
= 0.0f;
45
};
46
QVector
<
Lod
>
lods
;
47
48
QSSGRenderSubset
() =
default
;
49
QSSGRenderSubset
(
const
QSSGRenderSubset
&inOther)
50
:
count
(
inOther
.
count
)
51
,
offset
(
inOther
.
offset
)
52
,
bounds
(
inOther
.
bounds
)
53
,
bvhRoot
(
inOther
.
bvhRoot
)
54
,
rhi
(
inOther
.
rhi
)
55
,
lods
(
inOther
.
lods
)
56
{
57
}
58
QSSGRenderSubset
&
operator
=(
const
QSSGRenderSubset
&inOther)
59
{
60
if
(
this
!= &inOther) {
61
count = inOther.count;
62
offset = inOther.offset;
63
bounds = inOther.bounds;
64
bvhRoot = inOther.bvhRoot;
65
rhi = inOther.rhi;
66
lods = inOther.lods;
67
}
68
return
*
this
;
69
}
70
71
quint32
lodCount
(
int
lodLevel)
const
{
72
if
(lodLevel == 0 || lods.isEmpty())
73
return
count;
74
if
(lodLevel > lods.count())
75
lodLevel = lods.count() - 1;
76
else
77
lodLevel -= 1;
78
79
return
lods[lodLevel].count;
80
}
81
82
quint32
lodOffset
(
int
lodLevel)
const
{
83
if
(lodLevel == 0 || lods.isEmpty())
84
return
offset;
85
if
(lodLevel > lods.count())
86
lodLevel = lods.count() - 1;
87
else
88
lodLevel -= 1;
89
90
return
lods[lodLevel].offset;
91
}
92
93
};
94
95
struct
QSSGRenderMesh
96
{
97
Q_DISABLE_COPY
(
QSSGRenderMesh
)
98
99
QVector
<
QSSGRenderSubset
>
subsets
;
100
QSSGRenderDrawMode
drawMode
;
101
QSSGRenderWinding
winding
;
102
std
::
unique_ptr
<
QSSGMeshBVH
>
bvh
;
103
QSize
lightmapSizeHint
;
104
105
QSSGRenderMesh
(QSSGRenderDrawMode inDrawMode, QSSGRenderWinding inWinding)
106
:
drawMode
(
inDrawMode
),
winding
(
inWinding
)
107
{
108
}
109
};
110
QT_END_NAMESPACE
111
112
#
endif
QSSGRenderGeometry
Definition
qssgrendergeometry_p.h:31
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QSSGRenderMesh
Definition
qssgrendermesh_p.h:96
QSSGRenderMesh::QSSGRenderMesh
QSSGRenderMesh(QSSGRenderDrawMode inDrawMode, QSSGRenderWinding inWinding)
Definition
qssgrendermesh_p.h:105
QSSGRenderMesh::bvh
std::unique_ptr< QSSGMeshBVH > bvh
Definition
qssgrendermesh_p.h:102
QSSGRenderMesh::drawMode
QSSGRenderDrawMode drawMode
Definition
qssgrendermesh_p.h:100
QSSGRenderMesh::lightmapSizeHint
QSize lightmapSizeHint
Definition
qssgrendermesh_p.h:103
QSSGRenderMesh::winding
QSSGRenderWinding winding
Definition
qssgrendermesh_p.h:101
QSSGRenderSubset::Lod
Definition
qssgrendermesh_p.h:41
QSSGRenderSubset::Lod::offset
quint32 offset
Definition
qssgrendermesh_p.h:43
QSSGRenderSubset::Lod::count
quint32 count
Definition
qssgrendermesh_p.h:42
QSSGRenderSubset::Lod::distance
float distance
Definition
qssgrendermesh_p.h:44
QSSGRenderSubset
Definition
qssgrendermesh_p.h:29
QSSGRenderSubset::lodOffset
quint32 lodOffset(int lodLevel) const
Definition
qssgrendermesh_p.h:82
QSSGRenderSubset::offset
quint32 offset
Definition
qssgrendermesh_p.h:31
QSSGRenderSubset::count
quint32 count
Definition
qssgrendermesh_p.h:30
QSSGRenderSubset::bvhRoot
QSSGMeshBVHNode::Handle bvhRoot
Definition
qssgrendermesh_p.h:33
QSSGRenderSubset::lodCount
quint32 lodCount(int lodLevel) const
Definition
qssgrendermesh_p.h:71
QSSGRenderSubset::lods
QVector< Lod > lods
Definition
qssgrendermesh_p.h:46
QSSGRenderSubset::operator=
QSSGRenderSubset & operator=(const QSSGRenderSubset &inOther)
Definition
qssgrendermesh_p.h:58
QSSGRenderSubset::QSSGRenderSubset
QSSGRenderSubset(const QSSGRenderSubset &inOther)
Definition
qssgrendermesh_p.h:49
QSSGRenderSubset::bounds
QSSGBounds3 bounds
Definition
qssgrendermesh_p.h:32
QSSGRenderSubset::QSSGRenderSubset
QSSGRenderSubset()=default
qtquick3d
src
runtimerender
qssgrendermesh_p.h
Generated on
for Qt by
1.18.0