1// Copyright (C) 2015 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_QSKYBOXENTITY_P_H
5#define QT3DEXTRAS_QSKYBOXENTITY_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 <QtGui/QVector3D>
19
20#include <Qt3DCore/private/qentity_p.h>
21
22QT_BEGIN_NAMESPACE
23
24namespace Qt3DRender {
25
26class QFilterKey;
27class QTextureCubeMap;
28class QTextureLoader;
29class QShaderProgram;
30class QSkyboxEntity;
31class QTextureImage;
32class QRenderPass;
33class QTechnique;
34class QParameter;
35class QMaterial;
36class QEffect;
37
38} // namespace Qt3DRender
39
40namespace Qt3DExtras {
41
42class QCuboidMesh;
43
44class QSkyboxEntityPrivate : public Qt3DCore::QEntityPrivate
45{
46 QSkyboxEntityPrivate();
47
48 void init();
49 void reloadTexture();
50
51 Q_DECLARE_PUBLIC(QSkyboxEntity)
52
53 Qt3DRender::QEffect *m_effect;
54 Qt3DRender::QMaterial *m_material;
55 Qt3DRender::QTextureCubeMap *m_skyboxTexture;
56 Qt3DRender::QTextureLoader *m_loadedTexture;
57 Qt3DRender::QShaderProgram *m_gl3Shader;
58 Qt3DRender::QShaderProgram *m_gl2es2Shader;
59 Qt3DRender::QShaderProgram *m_rhiShader;
60 Qt3DRender::QTechnique *m_gl2Technique;
61 Qt3DRender::QTechnique *m_es2Technique;
62 Qt3DRender::QTechnique *m_gl3Technique;
63 Qt3DRender::QTechnique *m_rhiTechnique;
64 Qt3DRender::QFilterKey *m_filterKey;
65 Qt3DRender::QRenderPass *m_gl2RenderPass;
66 Qt3DRender::QRenderPass *m_es2RenderPass;
67 Qt3DRender::QRenderPass *m_gl3RenderPass;
68 Qt3DRender::QRenderPass *m_rhiRenderPass;
69 QCuboidMesh *m_mesh;
70 Qt3DRender::QParameter *m_gammaStrengthParameter;
71 Qt3DRender::QParameter *m_textureParameter;
72 Qt3DRender::QTextureImage *m_posXImage;
73 Qt3DRender:: QTextureImage *m_posYImage;
74 Qt3DRender::QTextureImage *m_posZImage;
75 Qt3DRender::QTextureImage *m_negXImage;
76 Qt3DRender::QTextureImage *m_negYImage;
77 Qt3DRender::QTextureImage *m_negZImage;
78 QString m_extension;
79 QString m_baseName;
80 QVector3D m_position;
81 bool m_hasPendingReloadTextureCall;
82};
83
84} // Qt3DExtras
85
86QT_END_NAMESPACE
87
88#endif // QT3DEXTRAS_QSKYBOXENTITY_P_H
89
90

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