diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2015-09-18 14:13:26 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2015-10-13 12:12:52 +0000 |
commit | 9847869acceedab58db4862ebeebb74016eaaf23 (patch) | |
tree | 87bfd89663e23335c61fac03501d666cb4812eac /src | |
parent | b1810f91ee5eaa3ae9e79efde6b4a0335738c3e8 (diff) |
Move render state classes into own dir and tidy up
Change-Id: I0829c42283d6a25e9b3ec623f45739ea266718cf
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/render/backend/framegraph/statesetnode.cpp | 3 | ||||
-rw-r--r-- | src/render/backend/jobs/renderviewjobutils.cpp | 2 | ||||
-rw-r--r-- | src/render/backend/render-backend.pri | 5 | ||||
-rw-r--r-- | src/render/backend/renderer.cpp | 4 | ||||
-rw-r--r-- | src/render/backend/renderpass.cpp | 5 | ||||
-rw-r--r-- | src/render/backend/renderview.cpp | 2 | ||||
-rw-r--r-- | src/render/frontend/render-frontend.pri | 39 | ||||
-rw-r--r-- | src/render/graphicshelpers/graphicscontext.cpp | 2 | ||||
-rw-r--r-- | src/render/render.pro | 1 | ||||
-rw-r--r-- | src/render/renderstates/genericstate_p.h (renamed from src/render/backend/genericstate_p.h) | 46 | ||||
-rw-r--r-- | src/render/renderstates/qalphacoverage.cpp (renamed from src/render/frontend/qalphacoverage.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qalphacoverage.h (renamed from src/render/frontend/qalphacoverage.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qalphatest.cpp (renamed from src/render/frontend/qalphatest.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qalphatest.h (renamed from src/render/frontend/qalphatest.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qblendequation.cpp (renamed from src/render/frontend/qblendequation.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qblendequation.h (renamed from src/render/frontend/qblendequation.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qblendstate.cpp (renamed from src/render/frontend/qblendstate.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qblendstate.h (renamed from src/render/frontend/qblendstate.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qclipplane.cpp (renamed from src/render/frontend/qclipplane.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qclipplane.h (renamed from src/render/frontend/qclipplane.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qcolormask.cpp (renamed from src/render/frontend/qcolormask.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qcolormask.h (renamed from src/render/frontend/qcolormask.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qcullface.cpp (renamed from src/render/frontend/qcullface.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qcullface.h (renamed from src/render/frontend/qcullface.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qdepthmask.cpp (renamed from src/render/frontend/qdepthmask.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qdepthmask.h (renamed from src/render/frontend/qdepthmask.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qdepthtest.cpp (renamed from src/render/frontend/qdepthtest.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qdepthtest.h (renamed from src/render/frontend/qdepthtest.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qdithering.cpp (renamed from src/render/frontend/qdithering.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qdithering.h (renamed from src/render/frontend/qdithering.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qfrontface.cpp (renamed from src/render/frontend/qfrontface.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qfrontface.h (renamed from src/render/frontend/qfrontface.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qpolygonoffset.cpp (renamed from src/render/frontend/qpolygonoffset.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qpolygonoffset.h (renamed from src/render/frontend/qpolygonoffset.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qrenderstate.cpp (renamed from src/render/frontend/qrenderstate.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qrenderstate.h (renamed from src/render/frontend/qrenderstate.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qrenderstate_p.h (renamed from src/render/frontend/qrenderstate_p.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qscissortest.cpp (renamed from src/render/frontend/qscissortest.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qscissortest.h (renamed from src/render/frontend/qscissortest.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qstencilmask.cpp (renamed from src/render/frontend/qstencilmask.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qstencilmask.h (renamed from src/render/frontend/qstencilmask.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qstencilop.cpp (renamed from src/render/frontend/qstencilop.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qstencilop.h (renamed from src/render/frontend/qstencilop.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qstencilopseparate.cpp (renamed from src/render/frontend/qstencilopseparate.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qstencilopseparate.h (renamed from src/render/frontend/qstencilopseparate.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qstenciltest.cpp (renamed from src/render/frontend/qstenciltest.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qstenciltest.h (renamed from src/render/frontend/qstenciltest.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qstenciltestseparate.cpp (renamed from src/render/frontend/qstenciltestseparate.cpp) | 0 | ||||
-rw-r--r-- | src/render/renderstates/qstenciltestseparate.h (renamed from src/render/frontend/qstenciltestseparate.h) | 0 | ||||
-rw-r--r-- | src/render/renderstates/renderstates.cpp (renamed from src/render/backend/states/blendstate.cpp) | 2 | ||||
-rw-r--r-- | src/render/renderstates/renderstates.pri | 50 | ||||
-rw-r--r-- | src/render/renderstates/renderstates_p.h (renamed from src/render/backend/states/blendstate_p.h) | 7 | ||||
-rw-r--r-- | src/render/renderstates/renderstateset.cpp (renamed from src/render/backend/renderstate.cpp) | 4 | ||||
-rw-r--r-- | src/render/renderstates/renderstateset_p.h (renamed from src/render/backend/renderstate_p.h) | 37 |
54 files changed, 108 insertions, 101 deletions
diff --git a/src/render/backend/framegraph/statesetnode.cpp b/src/render/backend/framegraph/statesetnode.cpp index 0082602df..cd0d82371 100644 --- a/src/render/backend/framegraph/statesetnode.cpp +++ b/src/render/backend/framegraph/statesetnode.cpp @@ -38,7 +38,8 @@ #include <Qt3DCore/qscenepropertychange.h> #include <Qt3DRenderer/qstateset.h> -#include <Qt3DRenderer/private/renderstate_p.h> +#include <Qt3DRenderer/private/genericstate_p.h> +#include <Qt3DRenderer/private/renderstateset_p.h> QT_BEGIN_NAMESPACE diff --git a/src/render/backend/jobs/renderviewjobutils.cpp b/src/render/backend/jobs/renderviewjobutils.cpp index c439f7605..9cf472549 100644 --- a/src/render/backend/jobs/renderviewjobutils.cpp +++ b/src/render/backend/jobs/renderviewjobutils.cpp @@ -47,7 +47,7 @@ #include <Qt3DRenderer/private/managers_p.h> #include <Qt3DRenderer/private/effect_p.h> #include <Qt3DRenderer/private/renderpassfilternode_p.h> -#include <Qt3DRenderer/private/renderstate_p.h> +#include <Qt3DRenderer/private/renderstateset_p.h> #include <Qt3DRenderer/private/rendertargetselectornode_p.h> #include <Qt3DRenderer/private/renderview_p.h> #include <Qt3DRenderer/private/sortmethod_p.h> diff --git a/src/render/backend/render-backend.pri b/src/render/backend/render-backend.pri index 9ed6813e7..08d107d61 100644 --- a/src/render/backend/render-backend.pri +++ b/src/render/backend/render-backend.pri @@ -8,14 +8,11 @@ HEADERS += \ $$PWD/renderconfiguration_p.h \ $$PWD/renderer_p.h \ $$PWD/quniformvalue_p.h \ - $$PWD/states/blendstate_p.h \ - $$PWD/genericstate_p.h \ $$PWD/renderview_p.h \ $$PWD/rendercommand_p.h \ $$PWD/renderqueue_p.h \ $$PWD/parameterpack_p.h \ $$PWD/texturedatamanager_p.h \ - $$PWD/renderstate_p.h \ $$PWD/rendertarget_p.h \ $$PWD/renderattachment_p.h \ $$PWD/scenemanager_p.h \ @@ -59,13 +56,11 @@ SOURCES += \ $$PWD/renderconfiguration.cpp \ $$PWD/renderer.cpp \ $$PWD/quniformvalue.cpp \ - $$PWD/states/blendstate.cpp \ $$PWD/renderview.cpp \ $$PWD/rendercommand.cpp \ $$PWD/renderqueue.cpp \ $$PWD/parameterpack.cpp \ $$PWD/texturedatamanager.cpp \ - $$PWD/renderstate.cpp \ $$PWD/rendertarget.cpp \ $$PWD/renderattachment.cpp \ $$PWD/scenemanager.cpp \ diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp index e6c664263..5d42e7c6a 100644 --- a/src/render/backend/renderer.cpp +++ b/src/render/backend/renderer.cpp @@ -50,7 +50,7 @@ #include <Qt3DRenderer/qeffect.h> #include <Qt3DRenderer/private/renderviewjob_p.h> -#include <Qt3DRenderer/private/blendstate_p.h> +#include <Qt3DRenderer/private/renderstates_p.h> #include <Qt3DRenderer/private/cameraselectornode_p.h> #include <Qt3DRenderer/private/framegraphvisitor_p.h> #include <Qt3DRenderer/private/graphicscontext_p.h> @@ -62,7 +62,7 @@ #include <Qt3DRenderer/private/renderpassfilternode_p.h> #include <Qt3DRenderer/private/renderqueue_p.h> #include <Qt3DRenderer/private/shader_p.h> -#include <Qt3DRenderer/private/renderstate_p.h> +#include <Qt3DRenderer/private/renderstateset_p.h> #include <Qt3DRenderer/private/technique_p.h> #include <Qt3DRenderer/private/renderthread_p.h> #include <Qt3DRenderer/private/renderview_p.h> diff --git a/src/render/backend/renderpass.cpp b/src/render/backend/renderpass.cpp index 47556aeab..b64b8682d 100644 --- a/src/render/backend/renderpass.cpp +++ b/src/render/backend/renderpass.cpp @@ -42,9 +42,8 @@ #include <Qt3DRenderer/qrenderpass.h> #include <Qt3DRenderer/qparameter.h> -// TODO: Rename this include to something more descriptive -#include <Qt3DRenderer/private/blendstate_p.h> -#include <Qt3DRenderer/private/renderstate_p.h> +#include <Qt3DRenderer/private/renderstates_p.h> +#include <Qt3DRenderer/private/renderstateset_p.h> #include <Qt3DCore/qscenepropertychange.h> diff --git a/src/render/backend/renderview.cpp b/src/render/backend/renderview.cpp index e19859fb2..c730b7ce2 100644 --- a/src/render/backend/renderview.cpp +++ b/src/render/backend/renderview.cpp @@ -55,7 +55,7 @@ #include <Qt3DRenderer/private/renderpassfilternode_p.h> #include <Qt3DRenderer/private/renderpass_p.h> #include <Qt3DRenderer/private/geometryrenderer_p.h> -#include <Qt3DRenderer/private/renderstate_p.h> +#include <Qt3DRenderer/private/renderstateset_p.h> #include <Qt3DRenderer/private/techniquefilternode_p.h> #include <Qt3DRenderer/private/viewportnode_p.h> diff --git a/src/render/frontend/render-frontend.pri b/src/render/frontend/render-frontend.pri index b9737324d..56d7de7d0 100644 --- a/src/render/frontend/render-frontend.pri +++ b/src/render/frontend/render-frontend.pri @@ -41,31 +41,16 @@ HEADERS += \ $$PWD/qopenglfilter.h \ $$PWD/qplanemesh.h \ $$PWD/qcuboidmesh.h \ - $$PWD/qblendstate.h \ - $$PWD/qblendequation.h \ - $$PWD/qalphatest.h \ - $$PWD/qdepthtest.h \ - $$PWD/qdepthmask.h \ - $$PWD/qcullface.h \ - $$PWD/qfrontface.h \ - $$PWD/qstenciltest.h \ - $$PWD/qscissortest.h \ - $$PWD/qdithering.h \ - $$PWD/qrenderstate.h \ $$PWD/qrenderattachment.h \ $$PWD/qrenderattachment_p.h \ $$PWD/qrendertarget.h \ $$PWD/qrendertarget_p.h \ - $$PWD/qrenderstate_p.h \ - $$PWD/qalphacoverage.h \ $$PWD/qannotation.h \ $$PWD/qannotation_p.h \ $$PWD/qparametermapping_p.h \ $$PWD/qparametermapping.h \ $$PWD/qshaderdata.h \ $$PWD/qshaderdata_p.h \ - $$PWD/qpolygonoffset.h \ - $$PWD/qcolormask.h \ $$PWD/qabstracttextureprovider.h \ $$PWD/qabstracttextureprovider_p.h \ $$PWD/qwrapmode.h \ @@ -73,11 +58,6 @@ HEADERS += \ $$PWD/qabstracttextureimage_p.h \ $$PWD/qtextureimage.h \ $$PWD/qtextureproviders.h \ - $$PWD/qclipplane.h \ - $$PWD/qstencilop.h \ - $$PWD/qstencilopseparate.h \ - $$PWD/qstenciltestseparate.h \ - $$PWD/qstencilmask.h \ $$PWD/qgeometryrenderer.h \ $$PWD/qgeometry.h \ $$PWD/qgeometryrenderer_p.h \ @@ -111,35 +91,16 @@ SOURCES += \ $$PWD/qopenglfilter.cpp \ $$PWD/qplanemesh.cpp \ $$PWD/qcuboidmesh.cpp \ - $$PWD/qblendstate.cpp \ - $$PWD/qblendequation.cpp \ - $$PWD/qalphatest.cpp \ - $$PWD/qdepthtest.cpp \ - $$PWD/qdepthmask.cpp \ - $$PWD/qcullface.cpp \ - $$PWD/qfrontface.cpp \ - $$PWD/qstenciltest.cpp \ - $$PWD/qscissortest.cpp \ - $$PWD/qdithering.cpp \ - $$PWD/qrenderstate.cpp \ $$PWD/qrenderattachment.cpp \ $$PWD/qrendertarget.cpp \ - $$PWD/qalphacoverage.cpp \ $$PWD/qannotation.cpp \ $$PWD/qparametermapping.cpp \ $$PWD/qshaderdata.cpp \ - $$PWD/qpolygonoffset.cpp \ - $$PWD/qcolormask.cpp \ $$PWD/qabstracttextureprovider.cpp \ $$PWD/qwrapmode.cpp \ $$PWD/qabstracttextureimage.cpp \ $$PWD/qtextureimage.cpp \ $$PWD/qtextureproviders.cpp \ - $$PWD/qclipplane.cpp \ - $$PWD/qstencilop.cpp \ - $$PWD/qstencilopseparate.cpp \ - $$PWD/qstenciltestseparate.cpp \ - $$PWD/qstencilmask.cpp \ $$PWD/qgeometryrenderer.cpp \ $$PWD/qgeometry.cpp \ $$PWD/qwindow.cpp \ diff --git a/src/render/graphicshelpers/graphicscontext.cpp b/src/render/graphicshelpers/graphicscontext.cpp index 3057485af..73fd50fb8 100644 --- a/src/render/graphicshelpers/graphicscontext.cpp +++ b/src/render/graphicshelpers/graphicscontext.cpp @@ -46,7 +46,7 @@ #include <Qt3DRenderer/private/buffer_p.h> #include <Qt3DRenderer/private/attribute_p.h> #include <Qt3DRenderer/private/rendercommand_p.h> -#include <Qt3DRenderer/private/renderstate_p.h> +#include <Qt3DRenderer/private/renderstateset_p.h> #include <Qt3DRenderer/private/rendertarget_p.h> #include <Qt3DRenderer/private/graphicshelperinterface_p.h> #include <Qt3DRenderer/private/renderer_p.h> diff --git a/src/render/render.pro b/src/render/render.pro index 01a17aee6..c0479d343 100644 --- a/src/render/render.pro +++ b/src/render/render.pro @@ -14,6 +14,7 @@ load(qt_module) include (backend/render-backend.pri) include (graphicshelpers/graphicshelpers.pri) include (frontend/render-frontend.pri) +include (renderstates/renderstates.pri) include (io/render-io.pri) include (defaults/defaults.pri) diff --git a/src/render/backend/genericstate_p.h b/src/render/renderstates/genericstate_p.h index 0235b8a50..7fc5a4391 100644 --- a/src/render/backend/genericstate_p.h +++ b/src/render/renderstates/genericstate_p.h @@ -35,18 +35,52 @@ ** ****************************************************************************/ -#ifndef QT3DRENDER_RENDER_STATE_IMPLS_H -#define QT3DRENDER_RENDER_STATE_IMPLS_H +#ifndef QT3DRENDER_RENDER_GENERICSTATE_H +#define QT3DRENDER_RENDER_GENERICSTATE_H #include <QList> -#include <Qt3DRenderer/private/renderstate_p.h> - QT_BEGIN_NAMESPACE namespace Qt3DRender { + +class QRenderState; + namespace Render { +class GraphicsContext; + +enum StateMask +{ + BlendStateMask = 1 << 0, + StencilWriteStateMask = 1 << 1, + StencilTestStateMask = 1 << 2, + ScissorStateMask = 1 << 3, + DepthTestStateMask = 1 << 4, + DepthWriteStateMask = 1 << 5, + CullFaceStateMask = 1 << 6, + AlphaTestMask = 1 << 7, + FrontFaceStateMask = 1 << 8, + DitheringStateMask = 1 << 9, + AlphaCoverageStateMask = 1 << 10, + PolygonOffsetStateMask = 1 << 11, + ColorStateMask = 1 << 12, + ClipPlaneMask = 1 << 13, + StencilOpMask = 1 << 14 +}; + +typedef quint64 StateMaskSet; + +class Q_AUTOTEST_EXPORT RenderState +{ +public: + virtual ~RenderState() {} + virtual void apply(GraphicsContext* gc) const = 0; + virtual StateMaskSet mask() const = 0; + + static RenderState *getOrCreateBackendState(QRenderState *renderState); +}; + template <typename Derived, typename T> class GenericState1 : public RenderState { @@ -148,8 +182,8 @@ protected: }; } // namespace Render -} // namespace Qt3DRender of namespace +} // namespace Qt3DRender QT_END_NAMESPACE -#endif // STATE_IMPLS_H +#endif // QT3DRENDER_RENDER_GENERICSTATE_H diff --git a/src/render/frontend/qalphacoverage.cpp b/src/render/renderstates/qalphacoverage.cpp index 7a8fea6bb..7a8fea6bb 100644 --- a/src/render/frontend/qalphacoverage.cpp +++ b/src/render/renderstates/qalphacoverage.cpp diff --git a/src/render/frontend/qalphacoverage.h b/src/render/renderstates/qalphacoverage.h index 753b28919..753b28919 100644 --- a/src/render/frontend/qalphacoverage.h +++ b/src/render/renderstates/qalphacoverage.h diff --git a/src/render/frontend/qalphatest.cpp b/src/render/renderstates/qalphatest.cpp index 34071c52d..34071c52d 100644 --- a/src/render/frontend/qalphatest.cpp +++ b/src/render/renderstates/qalphatest.cpp diff --git a/src/render/frontend/qalphatest.h b/src/render/renderstates/qalphatest.h index d59340ec7..d59340ec7 100644 --- a/src/render/frontend/qalphatest.h +++ b/src/render/renderstates/qalphatest.h diff --git a/src/render/frontend/qblendequation.cpp b/src/render/renderstates/qblendequation.cpp index bee40fc67..bee40fc67 100644 --- a/src/render/frontend/qblendequation.cpp +++ b/src/render/renderstates/qblendequation.cpp diff --git a/src/render/frontend/qblendequation.h b/src/render/renderstates/qblendequation.h index 94735fdb6..94735fdb6 100644 --- a/src/render/frontend/qblendequation.h +++ b/src/render/renderstates/qblendequation.h diff --git a/src/render/frontend/qblendstate.cpp b/src/render/renderstates/qblendstate.cpp index 7f7a8d680..7f7a8d680 100644 --- a/src/render/frontend/qblendstate.cpp +++ b/src/render/renderstates/qblendstate.cpp diff --git a/src/render/frontend/qblendstate.h b/src/render/renderstates/qblendstate.h index 25072f449..25072f449 100644 --- a/src/render/frontend/qblendstate.h +++ b/src/render/renderstates/qblendstate.h diff --git a/src/render/frontend/qclipplane.cpp b/src/render/renderstates/qclipplane.cpp index d3f2fadb3..d3f2fadb3 100644 --- a/src/render/frontend/qclipplane.cpp +++ b/src/render/renderstates/qclipplane.cpp diff --git a/src/render/frontend/qclipplane.h b/src/render/renderstates/qclipplane.h index 7afa6c5e7..7afa6c5e7 100644 --- a/src/render/frontend/qclipplane.h +++ b/src/render/renderstates/qclipplane.h diff --git a/src/render/frontend/qcolormask.cpp b/src/render/renderstates/qcolormask.cpp index 9f61825ea..9f61825ea 100644 --- a/src/render/frontend/qcolormask.cpp +++ b/src/render/renderstates/qcolormask.cpp diff --git a/src/render/frontend/qcolormask.h b/src/render/renderstates/qcolormask.h index 886feebbb..886feebbb 100644 --- a/src/render/frontend/qcolormask.h +++ b/src/render/renderstates/qcolormask.h diff --git a/src/render/frontend/qcullface.cpp b/src/render/renderstates/qcullface.cpp index ce71aaa59..ce71aaa59 100644 --- a/src/render/frontend/qcullface.cpp +++ b/src/render/renderstates/qcullface.cpp diff --git a/src/render/frontend/qcullface.h b/src/render/renderstates/qcullface.h index d8832bcd6..d8832bcd6 100644 --- a/src/render/frontend/qcullface.h +++ b/src/render/renderstates/qcullface.h diff --git a/src/render/frontend/qdepthmask.cpp b/src/render/renderstates/qdepthmask.cpp index 76e5339d0..76e5339d0 100644 --- a/src/render/frontend/qdepthmask.cpp +++ b/src/render/renderstates/qdepthmask.cpp diff --git a/src/render/frontend/qdepthmask.h b/src/render/renderstates/qdepthmask.h index fdd02b4d3..fdd02b4d3 100644 --- a/src/render/frontend/qdepthmask.h +++ b/src/render/renderstates/qdepthmask.h diff --git a/src/render/frontend/qdepthtest.cpp b/src/render/renderstates/qdepthtest.cpp index 017b7ce00..017b7ce00 100644 --- a/src/render/frontend/qdepthtest.cpp +++ b/src/render/renderstates/qdepthtest.cpp diff --git a/src/render/frontend/qdepthtest.h b/src/render/renderstates/qdepthtest.h index e9b4275b6..e9b4275b6 100644 --- a/src/render/frontend/qdepthtest.h +++ b/src/render/renderstates/qdepthtest.h diff --git a/src/render/frontend/qdithering.cpp b/src/render/renderstates/qdithering.cpp index fd8ce1c2f..fd8ce1c2f 100644 --- a/src/render/frontend/qdithering.cpp +++ b/src/render/renderstates/qdithering.cpp diff --git a/src/render/frontend/qdithering.h b/src/render/renderstates/qdithering.h index 37794e372..37794e372 100644 --- a/src/render/frontend/qdithering.h +++ b/src/render/renderstates/qdithering.h diff --git a/src/render/frontend/qfrontface.cpp b/src/render/renderstates/qfrontface.cpp index 4ec5043a4..4ec5043a4 100644 --- a/src/render/frontend/qfrontface.cpp +++ b/src/render/renderstates/qfrontface.cpp diff --git a/src/render/frontend/qfrontface.h b/src/render/renderstates/qfrontface.h index 0a2c8cac9..0a2c8cac9 100644 --- a/src/render/frontend/qfrontface.h +++ b/src/render/renderstates/qfrontface.h diff --git a/src/render/frontend/qpolygonoffset.cpp b/src/render/renderstates/qpolygonoffset.cpp index 27c9cde4f..27c9cde4f 100644 --- a/src/render/frontend/qpolygonoffset.cpp +++ b/src/render/renderstates/qpolygonoffset.cpp diff --git a/src/render/frontend/qpolygonoffset.h b/src/render/renderstates/qpolygonoffset.h index 9aff94a1f..9aff94a1f 100644 --- a/src/render/frontend/qpolygonoffset.h +++ b/src/render/renderstates/qpolygonoffset.h diff --git a/src/render/frontend/qrenderstate.cpp b/src/render/renderstates/qrenderstate.cpp index 831962ca4..831962ca4 100644 --- a/src/render/frontend/qrenderstate.cpp +++ b/src/render/renderstates/qrenderstate.cpp diff --git a/src/render/frontend/qrenderstate.h b/src/render/renderstates/qrenderstate.h index 6f730a432..6f730a432 100644 --- a/src/render/frontend/qrenderstate.h +++ b/src/render/renderstates/qrenderstate.h diff --git a/src/render/frontend/qrenderstate_p.h b/src/render/renderstates/qrenderstate_p.h index 21bdd276a..21bdd276a 100644 --- a/src/render/frontend/qrenderstate_p.h +++ b/src/render/renderstates/qrenderstate_p.h diff --git a/src/render/frontend/qscissortest.cpp b/src/render/renderstates/qscissortest.cpp index cc2624f41..cc2624f41 100644 --- a/src/render/frontend/qscissortest.cpp +++ b/src/render/renderstates/qscissortest.cpp diff --git a/src/render/frontend/qscissortest.h b/src/render/renderstates/qscissortest.h index a607bcd72..a607bcd72 100644 --- a/src/render/frontend/qscissortest.h +++ b/src/render/renderstates/qscissortest.h diff --git a/src/render/frontend/qstencilmask.cpp b/src/render/renderstates/qstencilmask.cpp index 44098296a..44098296a 100644 --- a/src/render/frontend/qstencilmask.cpp +++ b/src/render/renderstates/qstencilmask.cpp diff --git a/src/render/frontend/qstencilmask.h b/src/render/renderstates/qstencilmask.h index 6e11cff68..6e11cff68 100644 --- a/src/render/frontend/qstencilmask.h +++ b/src/render/renderstates/qstencilmask.h diff --git a/src/render/frontend/qstencilop.cpp b/src/render/renderstates/qstencilop.cpp index 67a571202..67a571202 100644 --- a/src/render/frontend/qstencilop.cpp +++ b/src/render/renderstates/qstencilop.cpp diff --git a/src/render/frontend/qstencilop.h b/src/render/renderstates/qstencilop.h index bc212af48..bc212af48 100644 --- a/src/render/frontend/qstencilop.h +++ b/src/render/renderstates/qstencilop.h diff --git a/src/render/frontend/qstencilopseparate.cpp b/src/render/renderstates/qstencilopseparate.cpp index ec2c4e40c..ec2c4e40c 100644 --- a/src/render/frontend/qstencilopseparate.cpp +++ b/src/render/renderstates/qstencilopseparate.cpp diff --git a/src/render/frontend/qstencilopseparate.h b/src/render/renderstates/qstencilopseparate.h index 44561131c..44561131c 100644 --- a/src/render/frontend/qstencilopseparate.h +++ b/src/render/renderstates/qstencilopseparate.h diff --git a/src/render/frontend/qstenciltest.cpp b/src/render/renderstates/qstenciltest.cpp index 2533d71a9..2533d71a9 100644 --- a/src/render/frontend/qstenciltest.cpp +++ b/src/render/renderstates/qstenciltest.cpp diff --git a/src/render/frontend/qstenciltest.h b/src/render/renderstates/qstenciltest.h index 51469f69c..51469f69c 100644 --- a/src/render/frontend/qstenciltest.h +++ b/src/render/renderstates/qstenciltest.h diff --git a/src/render/frontend/qstenciltestseparate.cpp b/src/render/renderstates/qstenciltestseparate.cpp index 87b9fc798..87b9fc798 100644 --- a/src/render/frontend/qstenciltestseparate.cpp +++ b/src/render/renderstates/qstenciltestseparate.cpp diff --git a/src/render/frontend/qstenciltestseparate.h b/src/render/renderstates/qstenciltestseparate.h index 5689a1cfb..5689a1cfb 100644 --- a/src/render/frontend/qstenciltestseparate.h +++ b/src/render/renderstates/qstenciltestseparate.h diff --git a/src/render/backend/states/blendstate.cpp b/src/render/renderstates/renderstates.cpp index ca27ae852..a7e398035 100644 --- a/src/render/backend/states/blendstate.cpp +++ b/src/render/renderstates/renderstates.cpp @@ -35,7 +35,7 @@ ** ****************************************************************************/ -#include "blendstate_p.h" +#include "renderstates_p.h" #include <Qt3DRenderer/private/graphicscontext_p.h> diff --git a/src/render/renderstates/renderstates.pri b/src/render/renderstates/renderstates.pri new file mode 100644 index 000000000..dc5684230 --- /dev/null +++ b/src/render/renderstates/renderstates.pri @@ -0,0 +1,50 @@ +INCLUDEPATH += $$PWD + +HEADERS += \ + $$PWD/genericstate_p.h \ + $$PWD/qalphacoverage.h \ + $$PWD/qalphatest.h \ + $$PWD/qblendequation.h \ + $$PWD/qblendstate.h \ + $$PWD/qclipplane.h \ + $$PWD/qcolormask.h \ + $$PWD/qcullface.h \ + $$PWD/qdepthmask.h \ + $$PWD/qdepthtest.h \ + $$PWD/qdithering.h \ + $$PWD/qfrontface.h \ + $$PWD/qpolygonoffset.h \ + $$PWD/qrenderstate.h \ + $$PWD/qrenderstate_p.h \ + $$PWD/qscissortest.h \ + $$PWD/qstencilmask.h \ + $$PWD/qstencilop.h \ + $$PWD/qstencilopseparate.h \ + $$PWD/qstenciltest.h \ + $$PWD/qstenciltestseparate.h \ + $$PWD/renderstates_p.h \ + $$PWD/renderstateset_p.h + + +SOURCES += \ + $$PWD/qalphacoverage.cpp \ + $$PWD/qalphatest.cpp \ + $$PWD/qblendequation.cpp \ + $$PWD/qblendstate.cpp \ + $$PWD/qclipplane.cpp \ + $$PWD/qcolormask.cpp \ + $$PWD/qcullface.cpp \ + $$PWD/qdepthmask.cpp \ + $$PWD/qdepthtest.cpp \ + $$PWD/qdithering.cpp \ + $$PWD/qfrontface.cpp \ + $$PWD/qpolygonoffset.cpp \ + $$PWD/qrenderstate.cpp \ + $$PWD/qscissortest.cpp \ + $$PWD/qstencilmask.cpp \ + $$PWD/qstencilop.cpp \ + $$PWD/qstencilopseparate.cpp \ + $$PWD/qstenciltest.cpp \ + $$PWD/qstenciltestseparate.cpp \ + $$PWD/renderstates.cpp \ + $$PWD/renderstateset.cpp diff --git a/src/render/backend/states/blendstate_p.h b/src/render/renderstates/renderstates_p.h index 221650ebd..2b0baafef 100644 --- a/src/render/backend/states/blendstate_p.h +++ b/src/render/renderstates/renderstates_p.h @@ -35,10 +35,9 @@ ** ****************************************************************************/ -#ifndef BLENDSTATE_H -#define BLENDSTATE_H +#ifndef QT3DRENDER_RENDER_RENDERSTATES_H +#define QT3DRENDER_RENDER_RENDERSTATES_H -#include <Qt3DRenderer/private/renderstate_p.h> #include <Qt3DRenderer/private/genericstate_p.h> #include <QOpenGLContext> @@ -280,4 +279,4 @@ private: QT_END_NAMESPACE -#endif // BLENDSTATE_H +#endif // QT3DRENDER_RENDER_RENDERSTATES_H diff --git a/src/render/backend/renderstate.cpp b/src/render/renderstates/renderstateset.cpp index 5f0d79977..3da5e37ef 100644 --- a/src/render/backend/renderstate.cpp +++ b/src/render/renderstates/renderstateset.cpp @@ -35,7 +35,7 @@ ** ****************************************************************************/ -#include "renderstate_p.h" +#include "renderstateset_p.h" #include <bitset> @@ -43,7 +43,7 @@ #include <QOpenGLContext> #include <Qt3DRenderer/private/graphicscontext_p.h> -#include <Qt3DRenderer/private/blendstate_p.h> +#include <Qt3DRenderer/private/renderstates_p.h> #include <Qt3DRenderer/qalphacoverage.h> #include <Qt3DRenderer/qalphatest.h> diff --git a/src/render/backend/renderstate_p.h b/src/render/renderstates/renderstateset_p.h index 702b9886c..7a2f54000 100644 --- a/src/render/backend/renderstate_p.h +++ b/src/render/renderstates/renderstateset_p.h @@ -38,6 +38,7 @@ #ifndef QT3DRENDER_RENDER_RENDERSTATE_H #define QT3DRENDER_RENDER_RENDERSTATE_H +#include <Qt3DRenderer/private/genericstate_p.h> #include <QVector> QT_BEGIN_NAMESPACE @@ -49,40 +50,7 @@ class QRenderState; namespace Render { class GraphicsContext; - -enum StateMask -{ - BlendStateMask = 1 << 0, - StencilWriteStateMask = 1 << 1, - StencilTestStateMask = 1 << 2, - ScissorStateMask = 1 << 3, - DepthTestStateMask = 1 << 4, - DepthWriteStateMask = 1 << 5, - CullFaceStateMask = 1 << 6, - AlphaTestMask = 1 << 7, - FrontFaceStateMask = 1 << 8, - DitheringStateMask = 1 << 9, - AlphaCoverageStateMask = 1 << 10, - PolygonOffsetStateMask = 1 << 11, - ColorStateMask = 1 << 12, - ClipPlaneMask = 1 << 13, - StencilOpMask = 1 << 14 -}; - -typedef quint64 StateMaskSet; - -class Q_AUTOTEST_EXPORT RenderState -{ -public: - virtual ~RenderState() {} - - virtual void apply(GraphicsContext* gc) const = 0; - - virtual StateMaskSet mask() const = 0; - - static RenderState *getOrCreateBackendState(QRenderState *renderState); -protected: -}; +class RenderState; class RenderStateSet { @@ -120,7 +88,6 @@ private: RenderStateSet* m_cachedPrevious; QVector<RenderState*> m_cachedDeltaStates; - }; } // namespace Render |