diff options
Diffstat (limited to 'src/quick3d/imports/render/qt3dquick3drenderplugin.cpp')
-rw-r--r-- | src/quick3d/imports/render/qt3dquick3drenderplugin.cpp | 155 |
1 files changed, 85 insertions, 70 deletions
diff --git a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp index c6831dbce..f81b1fa53 100644 --- a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp +++ b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp @@ -39,94 +39,99 @@ ****************************************************************************/ #include "qt3dquick3drenderplugin.h" -#include <Qt3DRender/qsceneloader.h> -#include <Qt3DRender/qmesh.h> -#include <Qt3DRender/qrenderpass.h> -#include <Qt3DRender/qshaderprogram.h> -#include <Qt3DRender/qviewport.h> -#include <Qt3DRender/qrenderpassfilter.h> -#include <Qt3DRender/qtechniquefilter.h> -#include <Qt3DRender/qrendertargetselector.h> -#include <Qt3DRender/qrendersurfaceselector.h> -#include <Qt3DRender/qtexture.h> -#include <Qt3DRender/qtechnique.h> +#include <Qt3DRender/qabstractlight.h> +#include <Qt3DRender/qalphacoverage.h> +#include <Qt3DRender/qalphatest.h> +#include <Qt3DRender/qattribute.h> +#include <Qt3DRender/qblendequation.h> +#include <Qt3DRender/qblendequationarguments.h> +#include <Qt3DRender/qbuffer.h> +#include <Qt3DRender/qbuffercapture.h> +#include <Qt3DRender/qcamera.h> +#include <Qt3DRender/qcameralens.h> #include <Qt3DRender/qcameraselector.h> +#include <Qt3DRender/qclearbuffers.h> +#include <Qt3DRender/qclipplane.h> +#include <Qt3DRender/qcolormask.h> +#include <Qt3DRender/qcomputecommand.h> +#include <Qt3DRender/qcullface.h> +#include <Qt3DRender/qdepthtest.h> +#include <Qt3DRender/qdirectionallight.h> +#include <Qt3DRender/qdispatchcompute.h> +#include <Qt3DRender/qdithering.h> #include <Qt3DRender/qeffect.h> -#include <Qt3DRender/qparameter.h> +#include <Qt3DRender/qenvironmentlight.h> #include <Qt3DRender/qfilterkey.h> +#include <Qt3DRender/qfrontface.h> +#include <Qt3DRender/qfrustumculling.h> +#include <Qt3DRender/qgeometry.h> +#include <Qt3DRender/qgeometryrenderer.h> +#include <Qt3DRender/qgraphicsapifilter.h> #include <Qt3DRender/qlayer.h> #include <Qt3DRender/qlevelofdetail.h> +#include <Qt3DRender/qlevelofdetailboundingsphere.h> #include <Qt3DRender/qlevelofdetailswitch.h> -#include <Qt3DRender/qboundingsphere.h> -#include <Qt3DRender/qabstractlight.h> -#include <Qt3DRender/qspotlight.h> -#include <Qt3DRender/qdirectionallight.h> -#include <Qt3DRender/qpointlight.h> -#include <Qt3DRender/qgraphicsapifilter.h> -#include <Qt3DRender/qrenderstate.h> -#include <Qt3DRender/qblendequationarguments.h> -#include <Qt3DRender/qblendequation.h> -#include <Qt3DRender/qalphatest.h> -#include <Qt3DRender/qdepthtest.h> -#include <Qt3DRender/qnodepthmask.h> -#include <Qt3DRender/qcullface.h> -#include <Qt3DRender/qfrontface.h> -#include <Qt3DRender/qstenciltest.h> -#include <Qt3DRender/qstenciltestarguments.h> -#include <Qt3DRender/qscissortest.h> -#include <Qt3DRender/qdithering.h> -#include <Qt3DRender/qrendertargetoutput.h> -#include <Qt3DRender/qclearbuffers.h> -#include <Qt3DRender/qalphacoverage.h> +#include <Qt3DRender/qmemorybarrier.h> +#include <Qt3DRender/qmesh.h> #include <Qt3DRender/qmultisampleantialiasing.h> +#include <Qt3DRender/qnodepthmask.h> +#include <Qt3DRender/qnodraw.h> +#include <Qt3DRender/qobjectpicker.h> +#include <Qt3DRender/qparameter.h> +#include <Qt3DRender/qpickevent.h> +#include <Qt3DRender/qpickingsettings.h> +#include <Qt3DRender/qpointlight.h> #include <Qt3DRender/qpointsize.h> #include <Qt3DRender/qpolygonoffset.h> -#include <Qt3DRender/qcolormask.h> -#include <Qt3DRender/qshaderdata.h> -#include <Qt3DRender/qnodraw.h> -#include <Qt3DRender/qclipplane.h> +#include <Qt3DRender/qrendercapture.h> +#include <Qt3DRender/qrenderpass.h> +#include <Qt3DRender/qrenderpassfilter.h> +#include <Qt3DRender/qrendersettings.h> +#include <Qt3DRender/qrenderstate.h> +#include <Qt3DRender/qrendersurfaceselector.h> +#include <Qt3DRender/qrendertargetoutput.h> +#include <Qt3DRender/qrendertargetselector.h> +#include <Qt3DRender/qsceneloader.h> +#include <Qt3DRender/qscissortest.h> #include <Qt3DRender/qseamlesscubemap.h> +#include <Qt3DRender/qshaderdata.h> +#include <Qt3DRender/qshaderprogram.h> #include <Qt3DRender/qsortpolicy.h> +#include <Qt3DRender/qspotlight.h> +#include <Qt3DRender/qstencilmask.h> #include <Qt3DRender/qstenciloperation.h> #include <Qt3DRender/qstenciloperationarguments.h> -#include <Qt3DRender/qstencilmask.h> -#include <Qt3DRender/qattribute.h> -#include <Qt3DRender/qbuffer.h> -#include <Qt3DRender/qgeometry.h> -#include <Qt3DRender/qgeometryrenderer.h> -#include <Qt3DRender/qobjectpicker.h> -#include <Qt3DRender/qpickevent.h> -#include <Qt3DRender/qfrustumculling.h> -#include <Qt3DRender/qdispatchcompute.h> -#include <Qt3DRender/qcomputecommand.h> -#include <Qt3DRender/qcameralens.h> -#include <Qt3DRender/qcamera.h> -#include <Qt3DRender/qrendersettings.h> -#include <Qt3DRender/qpickingsettings.h> -#include <Qt3DRender/qrendercapture.h> -#include <Qt3DRender/qmemorybarrier.h> +#include <Qt3DRender/qstenciltest.h> +#include <Qt3DRender/qstenciltestarguments.h> +#include <Qt3DRender/qtechnique.h> +#include <Qt3DRender/qtechniquefilter.h> +#include <Qt3DRender/qtexture.h> +#include <Qt3DRender/qviewport.h> + +#include <QtGui/qwindow.h> + +#include <Qt3DQuickRender/private/qt3dquickrender_global_p.h> +#include <Qt3DQuickRender/private/qt3dquickrender_global_p.h> +#include <Qt3DQuickRender/private/quick3dbuffer_p.h> +#include <Qt3DQuickRender/private/quick3deffect_p.h> +#include <Qt3DQuickRender/private/quick3dgeometry_p.h> #include <Qt3DQuickRender/private/quick3dlayerfilter_p.h> -#include <Qt3DQuickRender/private/quick3dtechnique_p.h> #include <Qt3DQuickRender/private/quick3dmaterial_p.h> -#include <Qt3DQuickRender/private/quick3dtechniquefilter_p.h> -#include <Qt3DQuickRender/private/quick3dviewport_p.h> +#include <Qt3DQuickRender/private/quick3dmemorybarrier_p.h> +#include <Qt3DQuickRender/private/quick3dparameter_p.h> +#include <Qt3DQuickRender/private/quick3drenderpass_p.h> #include <Qt3DQuickRender/private/quick3drenderpassfilter_p.h> #include <Qt3DQuickRender/private/quick3drendertargetoutput_p.h> -#include <Qt3DQuickRender/private/quick3deffect_p.h> +#include <Qt3DQuickRender/private/quick3drendertargetselector_p.h> #include <Qt3DQuickRender/private/quick3dscene_p.h> -#include <Qt3DQuickRender/private/quick3dtexture_p.h> -#include <Qt3DQuickRender/private/quick3drenderpass_p.h> -#include <Qt3DQuickRender/private/quick3dparameter_p.h> #include <Qt3DQuickRender/private/quick3dshaderdata_p.h> #include <Qt3DQuickRender/private/quick3dshaderdataarray_p.h> #include <Qt3DQuickRender/private/quick3dstateset_p.h> -#include <Qt3DQuickRender/private/quick3drendertargetselector_p.h> -#include <Qt3DQuickRender/private/quick3dgeometry_p.h> -#include <Qt3DQuickRender/private/quick3dbuffer_p.h> -#include <Qt3DQuickRender/private/quick3dmemorybarrier_p.h> -#include <Qt3DQuickRender/private/qt3dquickrender_global_p.h> +#include <Qt3DQuickRender/private/quick3dtechnique_p.h> +#include <Qt3DQuickRender/private/quick3dtechniquefilter_p.h> +#include <Qt3DQuickRender/private/quick3dtexture_p.h> +#include <Qt3DQuickRender/private/quick3dviewport_p.h> -#include <QtGui/qwindow.h> QT_BEGIN_NAMESPACE @@ -155,6 +160,7 @@ void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) // @uri Qt3D.Render Qt3DRender::Quick::registerExtendedType<Qt3DRender::QSceneLoader, Qt3DRender::Render::Quick::Quick3DScene>("QSceneLoader", "Qt3D.Render/SceneLoader", uri, 2, 0, "SceneLoader"); + qmlRegisterRevision<Qt3DRender::QSceneLoader, 9>(uri, 2, 9); Qt3DRender::Quick::registerExtendedType<Qt3DRender::QEffect, Qt3DRender::Render::Quick::Quick3DEffect>("QEffect", "Qt3D.Render/Effect", uri, 2, 0, "Effect"); Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTechnique, Qt3DRender::Render::Quick::Quick3DTechnique>("QTechnique", "Qt3D.Render/Technique", uri, 2, 0, "Technique"); qmlRegisterType<Qt3DRender::QFilterKey>(uri, 2, 0, "FilterKey"); @@ -164,13 +170,16 @@ void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) Qt3DRender::Quick::registerExtendedType<Qt3DRender::QMaterial, Qt3DRender::Render::Quick::Quick3DMaterial>("QMaterial", "Qt3D.Render/Material", uri, 2, 0, "Material"); Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderPass, Qt3DRender::Render::Quick::Quick3DRenderPass>("QRenderPass", "Qt3D.Render/RenderPass", uri, 2, 0, "RenderPass"); qmlRegisterType<Qt3DRender::QShaderProgram>(uri, 2, 0, "ShaderProgram"); + qmlRegisterRevision<Qt3DRender::QShaderProgram, 9>(uri, 2, 9); qmlRegisterUncreatableType<Qt3DRender::QShaderData>(uri, 2, 0, "QShaderData", "Quick3D should instantiate Quick3DShaderData only"); qmlRegisterType<Qt3DRender::Render::Quick::Quick3DShaderDataArray>(uri, 2, 0, "ShaderDataArray"); qmlRegisterType<Qt3DRender::Render::Quick::Quick3DShaderData>(uri, 2, 0, "ShaderData"); // Camera qmlRegisterType<Qt3DRender::QCamera>(uri, 2, 0, "Camera"); + qmlRegisterRevision<Qt3DRender::QCamera, 9>(uri, 2, 9); qmlRegisterType<Qt3DRender::QCameraLens>(uri, 2, 0, "CameraLens"); + qmlRegisterRevision<Qt3DRender::QCameraLens, 9>(uri, 2, 9); // Textures qmlRegisterType<Qt3DRender::QTextureWrapMode>(uri, 2, 0, "WrapMode");//, QStringLiteral("QTextureWrapMode cannot be created from QML")); @@ -193,18 +202,20 @@ void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) // Geometry qmlRegisterType<Qt3DRender::QAttribute>(uri, 2, 0, "Attribute"); qmlRegisterUncreatableType<Qt3DRender::QBuffer>(uri, 2, 0, "BufferBase", QStringLiteral("Use Quick3DBuffer in QML")); + qmlRegisterUncreatableType<Qt3DRender::QBuffer, 9>(uri, 2, 9, "BufferBase", QStringLiteral("Use Quick3DBuffer in QML")); qmlRegisterType<Qt3DRender::Render::Quick::Quick3DBuffer>(uri, 2, 0, "Buffer"); Qt3DRender::Quick::registerExtendedType<Qt3DRender::QGeometry, Qt3DRender::Render::Quick::Quick3DGeometry>("QGeometry", "Qt3D.Render/Geometry", uri, 2, 0, "Geometry"); qmlRegisterType<Qt3DRender::QGeometryRenderer>(uri, 2, 0, "GeometryRenderer"); - qmlRegisterType<Qt3DRender::QLevelOfDetail>(uri, 2, 2, "LevelOfDetail"); - qmlRegisterType<Qt3DRender::QLevelOfDetailSwitch>(uri, 2, 2, "LevelOfDetailSwitch"); - qmlRegisterType<Qt3DRender::QBoundingSphere>(uri, 2, 2, "BoundingSphere"); + qmlRegisterType<Qt3DRender::QLevelOfDetail>(uri, 2, 9, "LevelOfDetail"); + qmlRegisterType<Qt3DRender::QLevelOfDetailSwitch>(uri, 2, 9, "LevelOfDetailSwitch"); + qRegisterMetaType<Qt3DRender::QLevelOfDetailBoundingSphere>("LevelOfDetailBoundingSphere"); // Mesh qmlRegisterType<Qt3DRender::QMesh>(uri, 2, 0, "Mesh"); // Picking qmlRegisterType<Qt3DRender::QObjectPicker>(uri, 2, 0, "ObjectPicker"); + qmlRegisterRevision<Qt3DRender::QObjectPicker, 9>(uri, 2, 9); qmlRegisterUncreatableType<Qt3DRender::QPickEvent>(uri, 2, 0, "PickEvent", QStringLiteral("Events cannot be created")); // Compute Job @@ -218,6 +229,7 @@ void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) qmlRegisterUncreatableType<Qt3DRender::QAbstractLight>(uri, 2, 0, "Light", QStringLiteral("Light is an abstract base class")); qmlRegisterType<Qt3DRender::QPointLight>(uri, 2, 0, "PointLight"); qmlRegisterType<Qt3DRender::QDirectionalLight>(uri, 2, 0, "DirectionalLight"); + qmlRegisterType<Qt3DRender::QEnvironmentLight>(uri, 2, 9, "EnvironmentLight"); qmlRegisterType<Qt3DRender::QSpotLight>(uri, 2, 0, "SpotLight"); // FrameGraph @@ -225,6 +237,7 @@ void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderPassFilter, Qt3DRender::Render::Quick::Quick3DRenderPassFilter>("QRenderPassFilter", "Qt3D.Render/RenderPassFilter", uri, 2, 0, "RenderPassFilter"); Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTechniqueFilter, Qt3DRender::Render::Quick::Quick3DTechniqueFilter>("QTechniqueFilter", "Qt3D.Render/TechniqueFilter", uri, 2, 0, "TechniqueFilter"); Qt3DRender::Quick::registerExtendedType<Qt3DRender::QViewport, Qt3DRender::Render::Quick::Quick3DViewport>("QViewport", "Qt3D.Render/Viewport", uri, 2, 0, "Viewport"); + qmlRegisterRevision<Qt3DRender::QViewport, 9>(uri, 2, 9); Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderTargetSelector, Qt3DRender::Render::Quick::Quick3DRenderTargetSelector>("QRenderTargetSelector", "Qt3D.Render/RenderTargetSelector", uri, 2, 0, "RenderTargetSelector"); qmlRegisterType<Qt3DRender::QClearBuffers>(uri, 2, 0, "ClearBuffers"); qmlRegisterType<Qt3DRender::QFrameGraphNode>(uri, 2, 0, "FrameGraphNode"); @@ -233,8 +246,10 @@ void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) qmlRegisterType<Qt3DRender::QFrustumCulling>(uri, 2, 0, "FrustumCulling"); qmlRegisterType<Qt3DRender::QDispatchCompute>(uri, 2, 0, "DispatchCompute"); qmlRegisterType<Qt3DRender::QRenderCapture>(uri, 2, 1, "RenderCapture"); + qmlRegisterRevision<Qt3DRender::QRenderCapture, 9>(uri, 2, 9); qmlRegisterUncreatableType<Qt3DRender::QRenderCaptureReply>(uri, 2, 1, "RenderCaptureReply", QStringLiteral("RenderCaptureReply is only instantiated by RenderCapture")); - Qt3DRender::Quick::registerExtendedType<Qt3DRender::QMemoryBarrier, Qt3DRender::Render::Quick::Quick3DMemoryBarrier>("QMemoryBarrier", "Qt3D.Render/MemoryBarrier", uri, 2, 0, "MemoryBarrier"); + qmlRegisterType<Qt3DRender::QBufferCapture>(uri, 2, 9, "BufferCapture"); + Qt3DRender::Quick::registerExtendedType<Qt3DRender::QMemoryBarrier, Qt3DRender::Render::Quick::Quick3DMemoryBarrier>("QMemoryBarrier", "Qt3D.Render/MemoryBarrier", uri, 2, 9, "MemoryBarrier"); // RenderTarget qmlRegisterType<Qt3DRender::QRenderTargetOutput>(uri, 2, 0, "RenderTargetOutput"); |