summaryrefslogtreecommitdiffstats
path: root/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick3d/imports/render/qt3dquick3drenderplugin.cpp')
-rw-r--r--src/quick3d/imports/render/qt3dquick3drenderplugin.cpp155
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");