1// Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QT3DRENDER_RENDER_MATERIAL_H
5#define QT3DRENDER_RENDER_MATERIAL_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists for the convenience
12// of other Qt classes. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QVariant>
19
20#include <Qt3DRender/private/backendnode_p.h>
21#include <Qt3DRender/private/parameterpack_p.h>
22
23QT_BEGIN_NAMESPACE
24
25namespace Qt3DRender {
26
27class QMaterial;
28class QParameter;
29
30namespace Render {
31
32class Renderer;
33class GraphicsContext;
34class Technique;
35class Effect;
36class MaterialManager;
37
38class Q_3DRENDERSHARED_PRIVATE_EXPORT Material : public BackendNode
39{
40public:
41 Material();
42 ~Material();
43 void cleanup();
44
45 void syncFromFrontEnd(const Qt3DCore::QNode *frontEnd, bool firstTime) override;
46
47 QList<Qt3DCore::QNodeId> parameters() const;
48 Qt3DCore::QNodeId effect() const;
49
50private:
51 ParameterPack m_parameterPack;
52 Qt3DCore::QNodeId m_effectUuid;
53};
54
55} // namespace Render
56} // namespace Qt3DRender
57
58QT_END_NAMESPACE
59
60#endif // QT3DRENDER_RENDER_MATERIAL_H
61

source code of qt3d/src/render/materialsystem/material_p.h