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 QT3DEXTRAS_QGOOCHMATERIAL_P_H
5#define QT3DEXTRAS_QGOOCHMATERIAL_P_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 <Qt3DRender/private/qmaterial_p.h>
19
20QT_BEGIN_NAMESPACE
21
22namespace Qt3DRender {
23
24class QFilterKey;
25class QEffect;
26class QRenderPass;
27class QShaderProgram;
28class QTechnique;
29
30}
31
32namespace Qt3DExtras {
33
34class QGoochMaterialPrivate : public Qt3DRender::QMaterialPrivate
35{
36public:
37 QGoochMaterialPrivate();
38
39 void init();
40
41 void handleDiffuseChanged(const QVariant &var);
42 void handleSpecularChanged(const QVariant &var);
43 void handleCoolChanged(const QVariant &var);
44 void handleWarmChanged(const QVariant &var);
45 void handleAlphaChanged(const QVariant &var);
46 void handleBetaChanged(const QVariant &var);
47 void handleShininessChanged(const QVariant &var);
48
49 Qt3DRender::QEffect *m_effect;
50 Qt3DRender::QParameter *m_diffuseParameter;
51 Qt3DRender::QParameter *m_specularParameter;
52 Qt3DRender::QParameter *m_coolParameter;
53 Qt3DRender::QParameter *m_warmParameter;
54 Qt3DRender::QParameter *m_alphaParameter;
55 Qt3DRender::QParameter *m_betaParameter;
56 Qt3DRender::QParameter *m_shininessParameter;
57 Qt3DRender::QTechnique *m_gl3Technique;
58 Qt3DRender::QTechnique *m_gl2Technique;
59 Qt3DRender::QTechnique *m_es2Technique;
60 Qt3DRender::QTechnique *m_rhiTechnique;
61 Qt3DRender::QRenderPass *m_gl3RenderPass;
62 Qt3DRender::QRenderPass *m_gl2RenderPass;
63 Qt3DRender::QRenderPass *m_es2RenderPass;
64 Qt3DRender::QRenderPass *m_rhiRenderPass;
65 Qt3DRender::QShaderProgram *m_gl3Shader;
66 Qt3DRender::QShaderProgram *m_gl2ES2Shader;
67 Qt3DRender::QShaderProgram *m_rhiShader;
68 Qt3DRender::QFilterKey *m_filterKey;
69
70 Q_DECLARE_PUBLIC(QGoochMaterial)
71};
72
73} // namespace Qt3DExtras
74
75QT_END_NAMESPACE
76
77#endif // QT3DEXTRAS_QGOOCHMATERIAL_P_H
78
79

source code of qt3d/src/extras/defaults/qgoochmaterial_p.h