1// Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB).
2// Copyright (C) 2016 The Qt Company Ltd and/or its subsidiary(-ies).
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4
5#ifndef QT3DRENDER_RENDER_RENDERSTATES_H
6#define QT3DRENDER_RENDER_RENDERSTATES_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 for the convenience
13// of other Qt classes. 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 <Qt3DRender/private/genericstate_p.h>
20
21QT_BEGIN_NAMESPACE
22
23namespace Qt3DRender {
24namespace Render {
25
26class Q_3DRENDERSHARED_PRIVATE_EXPORT BlendEquationArguments : public GenericState<BlendEquationArguments, BlendEquationArgumentsMask, GLenum, GLenum, GLenum, GLenum, bool, int>
27{
28public:
29 void updateProperties(const QRenderState *node) override;
30};
31
32class Q_3DRENDERSHARED_PRIVATE_EXPORT BlendEquation : public GenericState<BlendEquation, BlendStateMask, GLenum>
33{
34public:
35 void updateProperties(const QRenderState *node) override;
36};
37
38class Q_3DRENDERSHARED_PRIVATE_EXPORT AlphaFunc : public GenericState<AlphaFunc, AlphaTestMask, GLenum, GLclampf>
39{
40public:
41 void updateProperties(const QRenderState *node) override;
42};
43
44class Q_3DRENDERSHARED_PRIVATE_EXPORT MSAAEnabled : public GenericState<MSAAEnabled, MSAAEnabledStateMask, GLboolean>
45{
46public:
47 void updateProperties(const QRenderState *node) override;
48};
49
50class Q_3DRENDERSHARED_PRIVATE_EXPORT DepthRange : public GenericState<DepthRange, DepthRangeMask, double, double>
51{
52public:
53 void updateProperties(const QRenderState *node) override;
54};
55
56class Q_3DRENDERSHARED_PRIVATE_EXPORT DepthTest : public GenericState<DepthTest, DepthTestStateMask, GLenum>
57{
58public:
59 void updateProperties(const QRenderState *node) override;
60};
61
62class Q_3DRENDERSHARED_PRIVATE_EXPORT RasterMode : public GenericState<RasterMode, RasterModeMask, GLenum, GLenum>
63{
64public:
65 void updateProperties(const QRenderState *node) override;
66};
67
68class Q_3DRENDERSHARED_PRIVATE_EXPORT NoDepthMask : public GenericState<NoDepthMask, DepthWriteStateMask, GLboolean>
69{
70public:
71 void updateProperties(const QRenderState *node) override;
72};
73
74class Q_3DRENDERSHARED_PRIVATE_EXPORT CullFace : public GenericState<CullFace, CullFaceStateMask, GLenum>
75{
76public:
77 void updateProperties(const QRenderState *node) override;
78};
79
80class Q_3DRENDERSHARED_PRIVATE_EXPORT FrontFace : public GenericState<FrontFace, FrontFaceStateMask, GLenum>
81{
82public:
83 void updateProperties(const QRenderState *node) override;
84};
85
86class Q_3DRENDERSHARED_PRIVATE_EXPORT Dithering : public GenericState<Dithering, DitheringStateMask>
87{
88};
89
90class Q_3DRENDERSHARED_PRIVATE_EXPORT ScissorTest : public GenericState<ScissorTest, ScissorStateMask, int, int, int, int>
91{
92public:
93 void updateProperties(const QRenderState *node) override;
94};
95
96class Q_3DRENDERSHARED_PRIVATE_EXPORT StencilTest : public GenericState<StencilTest, StencilTestStateMask, GLenum, int, uint, GLenum, int, uint>
97{
98public:
99 void updateProperties(const QRenderState *node) override;
100};
101
102class Q_3DRENDERSHARED_PRIVATE_EXPORT AlphaCoverage : public GenericState<AlphaCoverage, AlphaCoverageStateMask>
103{
104};
105
106class Q_3DRENDERSHARED_PRIVATE_EXPORT PointSize : public GenericState<PointSize, PointSizeMask, bool, GLfloat>
107{
108public:
109 void updateProperties(const QRenderState *node) override;
110};
111
112class Q_3DRENDERSHARED_PRIVATE_EXPORT PolygonOffset : public GenericState<PolygonOffset, PolygonOffsetStateMask, GLfloat, GLfloat>
113{
114public:
115
116 void updateProperties(const QRenderState *node) override;
117};
118
119class Q_3DRENDERSHARED_PRIVATE_EXPORT ColorMask : public GenericState<ColorMask, ColorStateMask, GLboolean, GLboolean, GLboolean, GLboolean>
120{
121public:
122 void updateProperties(const QRenderState *node) override;
123};
124
125class Q_3DRENDERSHARED_PRIVATE_EXPORT ClipPlane : public GenericState<ClipPlane, ClipPlaneMask, int, QVector3D, float>
126{
127public:
128 void updateProperties(const QRenderState *node) override;
129};
130
131class Q_3DRENDERSHARED_PRIVATE_EXPORT SeamlessCubemap : public GenericState<SeamlessCubemap, SeamlessCubemapMask>
132{
133};
134
135class Q_3DRENDERSHARED_PRIVATE_EXPORT StencilOp : public GenericState<StencilOp, StencilOpMask, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum>
136{
137public:
138 void updateProperties(const QRenderState *node) override;
139};
140
141class Q_3DRENDERSHARED_PRIVATE_EXPORT StencilMask : public GenericState<StencilMask, StencilWriteStateMask, uint, uint>
142{
143public:
144 void updateProperties(const QRenderState *node) override;
145};
146
147class Q_3DRENDERSHARED_PRIVATE_EXPORT LineWidth : public GenericState<LineWidth, LineWidthMask, GLfloat, bool>
148{
149public:
150 void updateProperties(const QRenderState *node) override;
151};
152
153} // namespace Render
154} // namespace Qt3DRender
155
156QT_END_NAMESPACE
157
158#endif // QT3DRENDER_RENDER_RENDERSTATES_H
159

source code of qt3d/src/render/renderstates/renderstates_p.h