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
qssgrenderdefaultmaterial.cpp
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
#
include
<
QtQuick3DRuntimeRender
/
private
/
qssgrenderdefaultmaterial_p
.
h
>
8
#
include
<
QtQuick3DRuntimeRender
/
private
/
qssgshadermaterialadapter_p
.
h
>
9
10
QT_BEGIN_NAMESPACE
11
12
QSSGRenderDefaultMaterial::QSSGRenderDefaultMaterial(QSSGRenderGraphObject::Type type)
13
: QSSGRenderGraphObject(type, FlagT(Flags::HasGraphicsResources))
14
{
15
Q_ASSERT(type == QSSGRenderGraphObject::Type::DefaultMaterial ||
16
type == QSSGRenderGraphObject::Type::PrincipledMaterial ||
17
type == QSSGRenderGraphObject::Type::SpecularGlossyMaterial);
18
if
(type == QSSGRenderGraphObject::Type::PrincipledMaterial) {
19
occlusionChannel = TextureChannelMapping::R;
20
roughnessChannel = TextureChannelMapping::G;
21
metalnessChannel = TextureChannelMapping::B;
22
}
23
24
adapter = QSSGShaderMaterialAdapter::create(*
this
);
25
}
26
27
QSSGRenderDefaultMaterial::~QSSGRenderDefaultMaterial()
28
{
29
delete
adapter;
30
}
31
32
void
QSSGRenderDefaultMaterial::clearDirty()
33
{
34
dirty =
false
;
35
}
36
37
QSSGRenderCustomMaterial::QSSGRenderCustomMaterial()
38
: QSSGRenderGraphObject(Type::CustomMaterial, FlagT(QSSGRenderGraphObject::Flags::HasGraphicsResources))
39
{
40
adapter = QSSGShaderMaterialAdapter::create(*
this
);
41
}
42
43
QSSGRenderCustomMaterial::~QSSGRenderCustomMaterial()
44
{
45
delete
adapter;
46
}
47
48
void
QSSGRenderCustomMaterial::markDirty()
49
{
50
m_flags |= FlagT(Flags::Dirty);
51
}
52
53
void
QSSGRenderCustomMaterial::clearDirty()
54
{
55
m_flags &= ~FlagT(Flags::Dirty);
56
}
57
58
void
QSSGRenderCustomMaterial::setAlwaysDirty(
bool
alwaysDirty)
59
{
60
if
(alwaysDirty)
61
m_flags |= FlagT(Flags::AlwaysDirty);
62
else
63
m_flags &= ~FlagT(Flags::AlwaysDirty);
64
}
65
66
QT_END_NAMESPACE
qtquick3d
src
runtimerender
graphobjects
qssgrenderdefaultmaterial.cpp
Generated on
for Qt by
1.18.0