1// Copyright (C) 2024 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef QSSGSHADOWMAPHELPERS_P_H
5#define QSSGSHADOWMAPHELPERS_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 purely as an
12// implementation detail. 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 <QVector3D>
19#include <QList>
20#include <array>
21
22QT_BEGIN_NAMESPACE
23
24using QSSGBoxPoints = std::array<QVector3D, 8>;
25class QSSGBounds3;
26class QSSGDebugDrawSystem;
27class QColor;
28class QMatrix4x4;
29
30namespace ShadowmapHelpers {
31void addDebugFrustum(const QSSGBoxPoints &frustumPoints, const QColor &color, QSSGDebugDrawSystem *debugDrawSystem);
32void addDebugBox(const QSSGBoxPoints &boxUnsorted, const QColor &color, QSSGDebugDrawSystem *debugDrawSystem);
33void addDirectionalLightDebugBox(const QSSGBoxPoints &box, QSSGDebugDrawSystem *debugDrawSystem);
34
35QList<QVector3D> intersectBoxByFrustum(const QSSGBoxPoints &frustumPoints,
36 const QSSGBoxPoints &box,
37 QSSGDebugDrawSystem *debugDrawSystem,
38 const QColor &color);
39
40QList<QVector3D> intersectBoxByBox(const QSSGBounds3 &boxBounds, const QSSGBoxPoints &box);
41}
42
43QT_END_NAMESPACE
44
45#endif // QSSGSHADOWMAPHELPERS_P_H
46

Provided by KDAB

Privacy Policy
Start learning QML with our Intro Training
Find out more

source code of qtquick3d/src/runtimerender/rendererimpl/qssgshadowmaphelpers_p.h