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_QNORMALDIFFUSEMAPMATERIAL_P_H
5#define QT3DEXTRAS_QNORMALDIFFUSEMAPMATERIAL_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 <private/qmaterial_p.h>
19
20QT_BEGIN_NAMESPACE
21
22namespace Qt3DRender {
23
24class QFilterKey;
25class QEffect;
26class QAbstractTexture;
27class QTechnique;
28class QParameter;
29class QShaderProgram;
30class QShaderProgramBuilder;
31class QRenderPass;
32
33} // namespace Qt3DRender
34
35namespace Qt3DExtras {
36
37class QNormalDiffuseMapMaterial;
38
39class QNormalDiffuseMapMaterialPrivate: public Qt3DRender::QMaterialPrivate
40{
41public:
42 QNormalDiffuseMapMaterialPrivate();
43
44 virtual void init();
45
46 void handleAmbientChanged(const QVariant &var);
47 void handleDiffuseChanged(const QVariant &var);
48 void handleNormalChanged(const QVariant &var);
49 void handleSpecularChanged(const QVariant &var);
50 void handleShininessChanged(const QVariant &var);
51 void handleTextureScaleChanged(const QVariant &var);
52
53 Qt3DRender::QEffect *m_normalDiffuseEffect;
54 Qt3DRender::QAbstractTexture *m_diffuseTexture;
55 Qt3DRender::QAbstractTexture *m_normalTexture;
56 Qt3DRender::QParameter *m_ambientParameter;
57 Qt3DRender::QParameter *m_diffuseParameter;
58 Qt3DRender::QParameter *m_normalParameter;
59 Qt3DRender::QParameter *m_specularParameter;
60 Qt3DRender::QParameter *m_shininessParameter;
61 Qt3DRender::QParameter *m_textureScaleParameter;
62 Qt3DRender::QTechnique *m_normalDiffuseGL3Technique;
63 Qt3DRender::QTechnique *m_normalDiffuseGL2Technique;
64 Qt3DRender::QTechnique *m_normalDiffuseES2Technique;
65 Qt3DRender::QTechnique *m_normalDiffuseRHITechnique;
66 Qt3DRender::QRenderPass *m_normalDiffuseGL3RenderPass;
67 Qt3DRender::QRenderPass *m_normalDiffuseGL2RenderPass;
68 Qt3DRender::QRenderPass *m_normalDiffuseES2RenderPass;
69 Qt3DRender::QRenderPass *m_normalDiffuseRHIRenderPass;
70 Qt3DRender::QShaderProgram *m_normalDiffuseGL3Shader;
71 Qt3DRender::QShaderProgramBuilder *m_normalDiffuseGL3ShaderBuilder;
72 Qt3DRender::QShaderProgram *m_normalDiffuseGL2ES2Shader;
73 Qt3DRender::QShaderProgramBuilder *m_normalDiffuseGL2ES2ShaderBuilder;
74 Qt3DRender::QShaderProgram *m_normalDiffuseRHIShader;
75 Qt3DRender::QShaderProgramBuilder *m_normalDiffuseRHIShaderBuilder;
76 Qt3DRender::QFilterKey *m_filterKey;
77
78 Q_DECLARE_PUBLIC(QNormalDiffuseMapMaterial)
79};
80
81} // Qt3DExtras
82
83QT_END_NAMESPACE
84
85#endif // QT3DEXTRAS_QNORMALDIFFUSEMAPMATERIAL_P_H
86
87

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