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
5#ifndef QSSG_RENDER_MATERIAL_SHADER_GENERATOR_H
6#define QSSG_RENDER_MATERIAL_SHADER_GENERATOR_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtQuick3DRuntimeRender/private/qtquick3druntimerenderglobal_p.h>
20#include <QtQuick3DUtils/private/qssgdataref_p.h>
21
22#include <QtCore/qvector.h>
23#include <QtGui/QVector3D>
24
25#include <QtQuick3DRuntimeRender/private/qssgrendershadercache_p.h>
26#include <QtQuick3DRuntimeRender/private/qssgrendershaderkeys_p.h>
27#include <QtQuick3DRuntimeRender/private/qssgrenderableobjects_p.h>
28
29
30QT_BEGIN_NAMESPACE
31
32struct QSSGRenderLayer;
33struct QSSGRenderCamera;
34struct QSSGRenderLight;
35class QSSGRenderShadowMap;
36struct QSSGRenderImage;
37class QRhiTexture;
38struct QSSGCameraRenderData;
39
40struct QSSGLayerGlobalRenderProperties
41{
42 const QSSGRenderLayer &layer;
43 const QSSGRenderCamera &camera;
44 const QSSGCameraRenderData &cameraData;
45 QSSGRenderShadowMap *shadowMapManager;
46 QRhiTexture *rhiDepthTexture;
47 QRhiTexture *rhiSsaoTexture;
48 QRhiTexture *rhiScreenTexture;
49 QSSGRenderImage *lightProbe;
50 float probeHorizon;
51 float probeExposure;
52 const QMatrix3x3 &probeOrientation;
53 bool isYUpInFramebuffer;
54 bool isYUpInNDC;
55 bool isClipDepthZeroToOne;
56};
57
58QT_END_NAMESPACE
59
60#endif
61

source code of qtquick3d/src/runtimerender/qssgrendermaterialshadergenerator_p.h