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_QFORWARDRENDERER_H |
5 | #define |
6 | |
7 | #include <Qt3DExtras/qt3dextras_global.h> |
8 | #include <Qt3DRender/qtechniquefilter.h> |
9 | #include <Qt3DCore/qentity.h> |
10 | #include <QtCore/QRectF> |
11 | #include <QtGui/QColor> |
12 | #include <Qt3DRender/QClearBuffers> |
13 | |
14 | QT_BEGIN_NAMESPACE |
15 | |
16 | class QSurface; |
17 | |
18 | namespace Qt3DExtras { |
19 | |
20 | class ; |
21 | |
22 | class Q_3DEXTRASSHARED_EXPORT : public Qt3DRender::QTechniqueFilter |
23 | { |
24 | Q_OBJECT |
25 | Q_PROPERTY(QObject *surface READ surface WRITE setSurface NOTIFY surfaceChanged) |
26 | Q_PROPERTY(QObject *window READ surface WRITE setSurface NOTIFY surfaceChanged) |
27 | Q_PROPERTY(QRectF viewportRect READ viewportRect WRITE setViewportRect NOTIFY viewportRectChanged) |
28 | Q_PROPERTY(QColor clearColor READ clearColor WRITE setClearColor NOTIFY clearColorChanged) |
29 | Q_PROPERTY(Qt3DRender::QClearBuffers::BufferType buffersToClear READ buffersToClear WRITE setBuffersToClear NOTIFY buffersToClearChanged REVISION 14) |
30 | Q_PROPERTY(Qt3DCore::QEntity *camera READ camera WRITE setCamera NOTIFY cameraChanged) |
31 | Q_PROPERTY(QSize externalRenderTargetSize READ externalRenderTargetSize WRITE setExternalRenderTargetSize NOTIFY externalRenderTargetSizeChanged) |
32 | Q_PROPERTY(bool frustumCulling READ isFrustumCullingEnabled WRITE setFrustumCullingEnabled NOTIFY frustumCullingEnabledChanged) |
33 | Q_PROPERTY(float gamma READ gamma WRITE setGamma NOTIFY gammaChanged REVISION 9) |
34 | Q_PROPERTY(bool showDebugOverlay READ showDebugOverlay WRITE setShowDebugOverlay NOTIFY showDebugOverlayChanged REVISION 15) |
35 | public: |
36 | explicit (Qt3DCore::QNode *parent = nullptr); |
37 | (); |
38 | |
39 | QRectF () const; |
40 | QColor () const; |
41 | Qt3DRender::QClearBuffers::BufferType () const; |
42 | Qt3DCore::QEntity *() const; |
43 | QObject *() const; |
44 | QSize () const; |
45 | bool () const; |
46 | float () const; |
47 | bool () const; |
48 | |
49 | public Q_SLOTS: |
50 | void (const QRectF &viewportRect); |
51 | void (const QColor &clearColor); |
52 | void (Qt3DRender::QClearBuffers::BufferType); |
53 | void (Qt3DCore::QEntity *camera); |
54 | void (QObject * surface); |
55 | void (const QSize &size); |
56 | void (bool enabled); |
57 | void (float gamma); |
58 | void (bool showDebugOverlay); |
59 | |
60 | Q_SIGNALS: |
61 | void (const QRectF &viewportRect); |
62 | void (const QColor &clearColor); |
63 | void (Qt3DRender::QClearBuffers::BufferType); |
64 | void (Qt3DCore::QEntity *camera); |
65 | void (QObject *surface); |
66 | void (const QSize &size); |
67 | void (bool enabled); |
68 | void (float gamma); |
69 | void (bool showDebugOverlay); |
70 | |
71 | private: |
72 | Q_DECLARE_PRIVATE(QForwardRenderer) |
73 | }; |
74 | |
75 | } // namespace Qt3DExtras |
76 | |
77 | QT_END_NAMESPACE |
78 | |
79 | #endif // QT3DEXTRAS_QFORWARDRENDERER_H |
80 | |