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 | #include "qt3dquick3drenderplugin.h" |
6 | #include <Qt3DRender/qabstractlight.h> |
7 | #include <Qt3DRender/qalphacoverage.h> |
8 | #include <Qt3DRender/qalphatest.h> |
9 | #include <Qt3DRender/qblendequation.h> |
10 | #include <Qt3DRender/qblendequationarguments.h> |
11 | #include <Qt3DRender/qbuffercapture.h> |
12 | #include <Qt3DRender/qcamera.h> |
13 | #include <Qt3DRender/qcameralens.h> |
14 | #include <Qt3DRender/qcameraselector.h> |
15 | #include <Qt3DRender/qclearbuffers.h> |
16 | #include <Qt3DRender/qclipplane.h> |
17 | #include <Qt3DRender/qcolormask.h> |
18 | #include <Qt3DRender/qcomputecommand.h> |
19 | #include <Qt3DRender/qcullface.h> |
20 | #include <Qt3DRender/qdepthrange.h> |
21 | #include <Qt3DRender/qdepthtest.h> |
22 | #include <Qt3DRender/qdirectionallight.h> |
23 | #include <Qt3DRender/qdispatchcompute.h> |
24 | #include <Qt3DRender/qdithering.h> |
25 | #include <Qt3DRender/qeffect.h> |
26 | #include <Qt3DRender/qenvironmentlight.h> |
27 | #include <Qt3DRender/qfilterkey.h> |
28 | #include <Qt3DRender/qfrontface.h> |
29 | #include <Qt3DRender/qfrustumculling.h> |
30 | #include <Qt3DRender/qgeometryrenderer.h> |
31 | #include <Qt3DRender/qgraphicsapifilter.h> |
32 | #include <Qt3DRender/qlayer.h> |
33 | #include <Qt3DRender/qlevelofdetail.h> |
34 | #include <Qt3DRender/qlevelofdetailboundingsphere.h> |
35 | #include <Qt3DRender/qlevelofdetailswitch.h> |
36 | #include <Qt3DRender/qlinewidth.h> |
37 | #include <Qt3DRender/qmemorybarrier.h> |
38 | #include <Qt3DRender/qmesh.h> |
39 | #include <Qt3DRender/qmultisampleantialiasing.h> |
40 | #include <Qt3DRender/qnodepthmask.h> |
41 | #include <Qt3DRender/qnodraw.h> |
42 | #include <Qt3DRender/qobjectpicker.h> |
43 | #include <Qt3DRender/qpickingproxy.h> |
44 | #include <Qt3DRender/qraycaster.h> |
45 | #include <Qt3DRender/qparameter.h> |
46 | #include <Qt3DRender/qpickevent.h> |
47 | #include <Qt3DRender/qpickingsettings.h> |
48 | #include <Qt3DRender/qpointlight.h> |
49 | #include <Qt3DRender/qpointsize.h> |
50 | #include <Qt3DRender/qpolygonoffset.h> |
51 | #include <Qt3DRender/qrendercapture.h> |
52 | #include <Qt3DRender/qrenderpass.h> |
53 | #include <Qt3DRender/qrenderpassfilter.h> |
54 | #include <Qt3DRender/qrendersettings.h> |
55 | #include <Qt3DRender/qrenderstate.h> |
56 | #include <Qt3DRender/qrendersurfaceselector.h> |
57 | #include <Qt3DRender/qrendertargetoutput.h> |
58 | #include <Qt3DRender/qrendertargetselector.h> |
59 | #include <Qt3DRender/qsceneloader.h> |
60 | #include <Qt3DRender/qscissortest.h> |
61 | #include <Qt3DRender/qseamlesscubemap.h> |
62 | #include <Qt3DRender/qshaderdata.h> |
63 | #include <Qt3DRender/qshaderprogram.h> |
64 | #include <Qt3DRender/qshaderprogrambuilder.h> |
65 | #include <Qt3DRender/qsortpolicy.h> |
66 | #include <Qt3DRender/qspotlight.h> |
67 | #include <Qt3DRender/qstencilmask.h> |
68 | #include <Qt3DRender/qstenciloperation.h> |
69 | #include <Qt3DRender/qstenciloperationarguments.h> |
70 | #include <Qt3DRender/qstenciltest.h> |
71 | #include <Qt3DRender/qstenciltestarguments.h> |
72 | #include <Qt3DRender/qtechnique.h> |
73 | #include <Qt3DRender/qtechniquefilter.h> |
74 | #include <Qt3DRender/qtexture.h> |
75 | #include <Qt3DRender/qviewport.h> |
76 | #include <Qt3DRender/qproximityfilter.h> |
77 | #include <Qt3DRender/qblitframebuffer.h> |
78 | #include <Qt3DRender/qsetfence.h> |
79 | #include <Qt3DRender/qwaitfence.h> |
80 | #include <Qt3DRender/qrastermode.h> |
81 | #include <Qt3DRender/qnopicking.h> |
82 | #include <Qt3DRender/qshaderimage.h> |
83 | #include <Qt3DRender/qsubtreeenabler.h> |
84 | #include <Qt3DRender/qrendercapabilities.h> |
85 | #include <Qt3DRender/qdebugoverlay.h> |
86 | |
87 | #include <QtGui/qwindow.h> |
88 | |
89 | #include <Qt3DQuickRender/private/qt3dquickrender_global_p.h> |
90 | #include <Qt3DQuickRender/private/qt3dquickrender_global_p.h> |
91 | #include <Qt3DQuickRender/private/quick3deffect_p.h> |
92 | #include <Qt3DQuickRender/private/quick3dlayerfilter_p.h> |
93 | #include <Qt3DQuickRender/private/quick3dmaterial_p.h> |
94 | #include <Qt3DQuickRender/private/quick3dmemorybarrier_p.h> |
95 | #include <Qt3DQuickRender/private/quick3dparameter_p.h> |
96 | #include <Qt3DQuickRender/private/quick3drenderpass_p.h> |
97 | #include <Qt3DQuickRender/private/quick3drenderpassfilter_p.h> |
98 | #include <Qt3DQuickRender/private/quick3drendertargetoutput_p.h> |
99 | #include <Qt3DQuickRender/private/quick3dscene_p.h> |
100 | #include <Qt3DQuickRender/private/quick3dshaderdata_p.h> |
101 | #include <Qt3DQuickRender/private/quick3dshaderdataarray_p.h> |
102 | #include <Qt3DQuickRender/private/quick3dstateset_p.h> |
103 | #include <Qt3DQuickRender/private/quick3dtechnique_p.h> |
104 | #include <Qt3DQuickRender/private/quick3dtechniquefilter_p.h> |
105 | #include <Qt3DQuickRender/private/quick3dtexture_p.h> |
106 | #include <Qt3DQuickRender/private/quick3dviewport_p.h> |
107 | #include <Qt3DQuickRender/private/quick3draycaster_p.h> |
108 | #include <Qt3DQuickRender/private/quick3dscreenraycaster_p.h> |
109 | |
110 | QT_BEGIN_NAMESPACE |
111 | |
112 | QVariantList Quick3DShaderDataArrayToVariantListConverter(Qt3DRender::Render::Quick::Quick3DShaderDataArray *array) |
113 | { |
114 | const QList<Qt3DRender::QShaderData *> arrayValues = array->values(); |
115 | QVariantList values; |
116 | values.reserve(asize: arrayValues.size()); |
117 | for (Qt3DRender::QShaderData *data : arrayValues) |
118 | values.append(t: QVariant::fromValue(value: data)); |
119 | return values; |
120 | } |
121 | |
122 | void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) |
123 | { |
124 | Qt3DRender::Quick::Quick3DRender_initialize(); |
125 | |
126 | // Converters |
127 | QMetaType::registerConverter<Qt3DRender::Render::Quick::Quick3DShaderDataArray*, QVariantList>(function: Quick3DShaderDataArrayToVariantListConverter); |
128 | |
129 | // Renderer setttings |
130 | qmlRegisterType<Qt3DRender::QRenderSettings>(uri, versionMajor: 2, versionMinor: 0, qmlName: "RenderSettings" ); |
131 | qmlRegisterType<Qt3DRender::QRenderSettings, 15>(uri, versionMajor: 2, versionMinor: 15, qmlName: "RenderSettings" ); |
132 | qmlRegisterType<Qt3DRender::QPickingSettings>(uri, versionMajor: 2, versionMinor: 0, qmlName: "PickingSettings" ); |
133 | qmlRegisterUncreatableType<Qt3DRender::QRenderCapabilities>(uri, versionMajor: 2, versionMinor: 15, qmlName: "RenderCapabilities" , reason: "Only available as a property of RenderSettings" ); |
134 | |
135 | // @uri Qt3D.Render |
136 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QSceneLoader, Qt3DRender::Render::Quick::Quick3DScene>(className: "QSceneLoader" , quickName: "Qt3D.Render/SceneLoader" , uri, major: 2, minor: 0, name: "SceneLoader" ); |
137 | qmlRegisterType<Qt3DRender::QSceneLoader, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "SceneLoader" ); |
138 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QEffect, Qt3DRender::Render::Quick::Quick3DEffect>(className: "QEffect" , quickName: "Qt3D.Render/Effect" , uri, major: 2, minor: 0, name: "Effect" ); |
139 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTechnique, Qt3DRender::Render::Quick::Quick3DTechnique>(className: "QTechnique" , quickName: "Qt3D.Render/Technique" , uri, major: 2, minor: 0, name: "Technique" ); |
140 | qmlRegisterType<Qt3DRender::QFilterKey>(uri, versionMajor: 2, versionMinor: 0, qmlName: "FilterKey" ); |
141 | qmlRegisterType<Qt3DRender::QGraphicsApiFilter>(uri, versionMajor: 2, versionMinor: 0, qmlName: "GraphicsApiFilter" ); |
142 | qmlRegisterUncreatableType<Qt3DRender::QParameter>(uri, versionMajor: 2, versionMinor: 0, qmlName: "QParameter" , reason: "Quick3D should instantiate Quick3DParameter only" ); |
143 | qmlRegisterType<Qt3DRender::Render::Quick::Quick3DParameter>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Parameter" ); |
144 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QMaterial, Qt3DRender::Render::Quick::Quick3DMaterial>(className: "QMaterial" , quickName: "Qt3D.Render/Material" , uri, major: 2, minor: 0, name: "Material" ); |
145 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderPass, Qt3DRender::Render::Quick::Quick3DRenderPass>(className: "QRenderPass" , quickName: "Qt3D.Render/RenderPass" , uri, major: 2, minor: 0, name: "RenderPass" ); |
146 | qmlRegisterType<Qt3DRender::QShaderProgram>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ShaderProgram" ); |
147 | qmlRegisterType<Qt3DRender::QShaderProgram, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "ShaderProgram" ); |
148 | qmlRegisterType<Qt3DRender::QShaderProgram, 15>(uri, versionMajor: 2, versionMinor: 15, qmlName: "ShaderProgram" ); |
149 | qmlRegisterType<Qt3DRender::QShaderProgramBuilder>(uri, versionMajor: 2, versionMinor: 10, qmlName: "ShaderProgramBuilder" ); |
150 | qmlRegisterType<Qt3DRender::QShaderProgramBuilder, 13>(uri, versionMajor: 2, versionMinor: 13, qmlName: "ShaderProgramBuilder" ); |
151 | qmlRegisterUncreatableType<Qt3DRender::QShaderData>(uri, versionMajor: 2, versionMinor: 0, qmlName: "QShaderData" , reason: "Quick3D should instantiate Quick3DShaderData only" ); |
152 | qmlRegisterType<Qt3DRender::Render::Quick::Quick3DShaderDataArray>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ShaderDataArray" ); |
153 | qmlRegisterType<Qt3DRender::Render::Quick::Quick3DShaderData>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ShaderData" ); |
154 | |
155 | // Camera |
156 | qmlRegisterType<Qt3DRender::QCamera>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Camera" ); |
157 | qmlRegisterType<Qt3DRender::QCamera, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "Camera" ); |
158 | qmlRegisterType<Qt3DRender::QCamera, 14>(uri, versionMajor: 2, versionMinor: 14, qmlName: "Camera" ); |
159 | qmlRegisterType<Qt3DRender::QCameraLens>(uri, versionMajor: 2, versionMinor: 0, qmlName: "CameraLens" ); |
160 | qmlRegisterType<Qt3DRender::QCameraLens, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "CameraLens" ); |
161 | |
162 | // Textures |
163 | qmlRegisterType<Qt3DRender::QTextureWrapMode>(uri, versionMajor: 2, versionMinor: 0, qmlName: "WrapMode" );//, QStringLiteral("QTextureWrapMode cannot be created from QML")); |
164 | qmlRegisterUncreatableType<Qt3DRender::QAbstractTexture>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Texture" , QStringLiteral("Texture should be created from one of the subclasses" )); |
165 | qmlRegisterUncreatableType<Qt3DRender::QAbstractTexture, 13>(uri, versionMajor: 2, versionMinor: 13, qmlName: "Texture" , QStringLiteral("Texture should be created from one of the subclasses" )); |
166 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture1D, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture1D" , quickName: "Qt3D.Render/Texture1D" , uri, major: 2, minor: 0, name: "Texture1D" ); |
167 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture1DArray, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture1DArray" , quickName: "Qt3D.Render/Texture1DArray" , uri, major: 2, minor: 0, name: "Texture1DArray" ); |
168 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture2D, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture2D" , quickName: "Qt3D.Render/Texture2D" , uri, major: 2, minor: 0, name: "Texture2D" ); |
169 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture2DArray, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture2DArray" , quickName: "Qt3D.Render/Texture2DArray" , uri, major: 2, minor: 0, name: "Texture2DArray" ); |
170 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture3D, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture3D" , quickName: "Qt3D.Render/Texture3D" , uri, major: 2, minor: 0, name: "Texture3D" ); |
171 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTextureCubeMap, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTextureCubeMap" , quickName: "Qt3D.Render/TextureCubeMap" , uri, major: 2, minor: 0, name: "TextureCubeMap" ); |
172 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTextureCubeMapArray, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTextureCubeMapArray" , quickName: "Qt3D.Render/TextureCubeMapArray" , uri, major: 2, minor: 0, name: "TextureCubeMapArray" ); |
173 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture2DMultisample, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture2DMultisample" , quickName: "Qt3D.Render/Texture2DMultisample" , uri, major: 2, minor: 0, name: "Texture2DMultisample" ); |
174 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture2DMultisampleArray, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture2DMultisampleArray" , quickName: "Qt3D.Render/Texture2DMultisampleArray" , uri, major: 2, minor: 0, name: "Texture2DMultisampleArray" ); |
175 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTextureRectangle, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTextureRectangle" , quickName: "Qt3D.Render/TextureRectangle" , uri, major: 2, minor: 0, name: "TextureRectangle" ); |
176 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTextureBuffer, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTextureBuffer" , quickName: "Qt3D.Render/TextureBuffer" , uri, major: 2, minor: 0, name: "TextureBuffer" ); |
177 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTextureLoader, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTextureLoader" , quickName: "Qt3D.Render/TextureLoader" , uri, major: 2, minor: 0, name: "TextureLoader" ); |
178 | qmlRegisterUncreatableType<Qt3DRender::QAbstractTextureImage>(uri, versionMajor: 2, versionMinor: 0, qmlName: "QAbstractTextureImage" , QStringLiteral("QAbstractTextureImage is abstract" )); |
179 | qmlRegisterType<Qt3DRender::QTextureImage>(uri, versionMajor: 2, versionMinor: 0, qmlName: "TextureImage" ); |
180 | qmlRegisterType<Qt3DRender::QSharedGLTexture>(uri, versionMajor: 2, versionMinor: 13, qmlName: "SharedGLTexture" ); |
181 | qmlRegisterType<Qt3DRender::QShaderImage>(uri, versionMajor: 2, versionMinor: 14, qmlName: "ShaderImage" ); |
182 | |
183 | // Geometry |
184 | qmlRegisterType<Qt3DRender::QGeometryRenderer>(uri, versionMajor: 2, versionMinor: 0, qmlName: "GeometryRenderer" ); |
185 | qmlRegisterType<Qt3DRender::QGeometryRenderer, 16>(uri, versionMajor: 2, versionMinor: 16, qmlName: "GeometryRenderer" ); |
186 | qmlRegisterType<Qt3DRender::QLevelOfDetail>(uri, versionMajor: 2, versionMinor: 9, qmlName: "LevelOfDetail" ); |
187 | qmlRegisterType<Qt3DRender::QLevelOfDetailSwitch>(uri, versionMajor: 2, versionMinor: 9, qmlName: "LevelOfDetailSwitch" ); |
188 | qRegisterMetaType<Qt3DRender::QLevelOfDetailBoundingSphere>(typeName: "LevelOfDetailBoundingSphere" ); |
189 | |
190 | // Mesh |
191 | qmlRegisterType<Qt3DRender::QMesh>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Mesh" ); |
192 | |
193 | // Picking |
194 | qmlRegisterType<Qt3DRender::QObjectPicker>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ObjectPicker" ); |
195 | qmlRegisterType<Qt3DRender::QObjectPicker, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "ObjectPicker" ); |
196 | qmlRegisterType<Qt3DRender::QObjectPicker, 13>(uri, versionMajor: 2, versionMinor: 13, qmlName: "ObjectPicker" ); |
197 | qmlRegisterUncreatableType<Qt3DRender::QPickEvent>(uri, versionMajor: 2, versionMinor: 0, qmlName: "PickEvent" , QStringLiteral("Events cannot be created" )); |
198 | qmlRegisterUncreatableType<Qt3DRender::QPickEvent, 14>(uri, versionMajor: 2, versionMinor: 14, qmlName: "PickEvent" , QStringLiteral("Events cannot be created" )); |
199 | qmlRegisterType<Qt3DRender::Render::Quick::Quick3DRayCaster>(uri, versionMajor: 2, versionMinor: 11, qmlName: "RayCaster" ); |
200 | qmlRegisterType<Qt3DRender::Render::Quick::Quick3DScreenRayCaster>(uri, versionMajor: 2, versionMinor: 11, qmlName: "ScreenRayCaster" ); |
201 | qmlRegisterType<Qt3DRender::QPickingProxy>(uri, versionMajor: 2, versionMinor: 16, qmlName: "PickingProxy" ); |
202 | |
203 | // Compute Job |
204 | qmlRegisterType<Qt3DRender::QComputeCommand>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ComputeCommand" ); |
205 | qmlRegisterType<Qt3DRender::QComputeCommand, 13>(uri, versionMajor: 2, versionMinor: 13, qmlName: "ComputeCommand" ); |
206 | |
207 | // Layers |
208 | qmlRegisterType<Qt3DRender::QLayer>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Layer" ); |
209 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QLayerFilter, Qt3DRender::Render::Quick::Quick3DLayerFilter>(className: "QLayerFilter" , quickName: "Qt3D.Render/LayerFilter" , uri, major: 2, minor: 0, name: "LayerFilter" ); |
210 | |
211 | // Lights |
212 | qmlRegisterUncreatableType<Qt3DRender::QAbstractLight>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Light" , QStringLiteral("Light is an abstract base class" )); |
213 | qmlRegisterType<Qt3DRender::QPointLight>(uri, versionMajor: 2, versionMinor: 0, qmlName: "PointLight" ); |
214 | qmlRegisterType<Qt3DRender::QDirectionalLight>(uri, versionMajor: 2, versionMinor: 0, qmlName: "DirectionalLight" ); |
215 | qmlRegisterType<Qt3DRender::QEnvironmentLight>(uri, versionMajor: 2, versionMinor: 9, qmlName: "EnvironmentLight" ); |
216 | qmlRegisterType<Qt3DRender::QSpotLight>(uri, versionMajor: 2, versionMinor: 0, qmlName: "SpotLight" ); |
217 | |
218 | // FrameGraph |
219 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QCameraSelector, Qt3DCore::Quick::Quick3DNode>(className: "QCameraSelector" , quickName: "Qt3D.Render/CameraSelector" , uri, major: 2, minor: 0, name: "CameraSelector" ); |
220 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderPassFilter, Qt3DRender::Render::Quick::Quick3DRenderPassFilter>(className: "QRenderPassFilter" , quickName: "Qt3D.Render/RenderPassFilter" , uri, major: 2, minor: 0, name: "RenderPassFilter" ); |
221 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTechniqueFilter, Qt3DRender::Render::Quick::Quick3DTechniqueFilter>(className: "QTechniqueFilter" , quickName: "Qt3D.Render/TechniqueFilter" , uri, major: 2, minor: 0, name: "TechniqueFilter" ); |
222 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QViewport, Qt3DRender::Render::Quick::Quick3DViewport>(className: "QViewport" , quickName: "Qt3D.Render/Viewport" , uri, major: 2, minor: 0, name: "Viewport" ); |
223 | qmlRegisterType<Qt3DRender::QViewport, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "Viewport" ); |
224 | qmlRegisterType<Qt3DRender::QRenderTargetSelector>(uri, versionMajor: 2, versionMinor: 0, qmlName: "RenderTargetSelector" ); |
225 | qmlRegisterType<Qt3DRender::QClearBuffers>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ClearBuffers" ); |
226 | qmlRegisterType<Qt3DRender::QFrameGraphNode>(uri, versionMajor: 2, versionMinor: 0, qmlName: "FrameGraphNode" ); |
227 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderStateSet, Qt3DRender::Render::Quick::Quick3DStateSet>(className: "QRenderStateSet" , quickName: "Qt3D.Render/RenderStateSet" , uri, major: 2, minor: 0, name: "RenderStateSet" ); |
228 | qmlRegisterType<Qt3DRender::QNoDraw>(uri, versionMajor: 2, versionMinor: 0, qmlName: "NoDraw" ); |
229 | qmlRegisterType<Qt3DRender::QFrustumCulling>(uri, versionMajor: 2, versionMinor: 0, qmlName: "FrustumCulling" ); |
230 | qmlRegisterType<Qt3DRender::QDispatchCompute>(uri, versionMajor: 2, versionMinor: 0, qmlName: "DispatchCompute" ); |
231 | qmlRegisterType<Qt3DRender::QRenderCapture>(uri, versionMajor: 2, versionMinor: 1, qmlName: "RenderCapture" ); |
232 | qmlRegisterType<Qt3DRender::QRenderCapture, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "RenderCapture" ); |
233 | qmlRegisterUncreatableType<Qt3DRender::QRenderCaptureReply>(uri, versionMajor: 2, versionMinor: 1, qmlName: "RenderCaptureReply" , QStringLiteral("RenderCaptureReply is only instantiated by RenderCapture" )); |
234 | qmlRegisterType<Qt3DRender::QBufferCapture>(uri, versionMajor: 2, versionMinor: 9, qmlName: "BufferCapture" ); |
235 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QMemoryBarrier, Qt3DRender::Render::Quick::Quick3DMemoryBarrier>(className: "QMemoryBarrier" , quickName: "Qt3D.Render/MemoryBarrier" , uri, major: 2, minor: 9, name: "MemoryBarrier" ); |
236 | qmlRegisterType<Qt3DRender::QProximityFilter>(uri, versionMajor: 2, versionMinor: 10, qmlName: "ProximityFilter" ); |
237 | qmlRegisterType<Qt3DRender::QBlitFramebuffer>(uri, versionMajor: 2, versionMinor: 10, qmlName: "BlitFramebuffer" ); |
238 | qmlRegisterType<Qt3DRender::QSetFence>(uri, versionMajor: 2, versionMinor: 13, qmlName: "SetFence" ); |
239 | qmlRegisterType<Qt3DRender::QWaitFence>(uri, versionMajor: 2, versionMinor: 13, qmlName: "WaitFence" ); |
240 | qmlRegisterType<Qt3DRender::QNoPicking>(uri, versionMajor: 2, versionMinor: 14, qmlName: "NoPicking" ); |
241 | qmlRegisterType<Qt3DRender::QSubtreeEnabler>(uri, versionMajor: 2, versionMinor: 14, qmlName: "SubtreeEnabler" ); |
242 | qmlRegisterType<Qt3DRender::QDebugOverlay>(uri, versionMajor: 2, versionMinor: 16, qmlName: "DebugOverlay" ); |
243 | |
244 | // RenderTarget |
245 | qmlRegisterType<Qt3DRender::QRenderTargetOutput>(uri, versionMajor: 2, versionMinor: 0, qmlName: "RenderTargetOutput" ); |
246 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderTarget, Qt3DRender::Render::Quick::Quick3DRenderTargetOutput>(className: "QRenderTarget" , quickName: "Qt3D.Render/RenderTarget" , uri, major: 2, minor: 0, name: "RenderTarget" ); |
247 | |
248 | // Render surface selector |
249 | qmlRegisterType<Qt3DRender::QRenderSurfaceSelector>(uri, versionMajor: 2, versionMinor: 0, qmlName: "RenderSurfaceSelector" ); |
250 | |
251 | // Sorting |
252 | qmlRegisterType<Qt3DRender::QSortPolicy>(uri, versionMajor: 2, versionMinor: 0, qmlName: "SortPolicy" ); |
253 | |
254 | // RenderStates |
255 | qmlRegisterUncreatableType<Qt3DRender::QRenderState>(uri, versionMajor: 2, versionMinor: 0, qmlName: "RenderState" , QStringLiteral("QRenderState is a base class" )); |
256 | qmlRegisterType<Qt3DRender::QBlendEquationArguments>(uri, versionMajor: 2, versionMinor: 0, qmlName: "BlendEquationArguments" ); |
257 | qmlRegisterType<Qt3DRender::QBlendEquation>(uri, versionMajor: 2, versionMinor: 0, qmlName: "BlendEquation" ); |
258 | qmlRegisterType<Qt3DRender::QAlphaTest>(uri, versionMajor: 2, versionMinor: 0, qmlName: "AlphaTest" ); |
259 | qmlRegisterType<Qt3DRender::QDepthRange>(uri, versionMajor: 2, versionMinor: 14, qmlName: "DepthRange" ); |
260 | qmlRegisterType<Qt3DRender::QDepthTest>(uri, versionMajor: 2, versionMinor: 0, qmlName: "DepthTest" ); |
261 | qmlRegisterType<Qt3DRender::QMultiSampleAntiAliasing>(uri, versionMajor: 2, versionMinor: 0, qmlName: "MultiSampleAntiAliasing" ); |
262 | qmlRegisterType<Qt3DRender::QNoDepthMask>(uri, versionMajor: 2, versionMinor: 0, qmlName: "NoDepthMask" ); |
263 | qmlRegisterType<Qt3DRender::QCullFace>(uri, versionMajor: 2, versionMinor: 0, qmlName: "CullFace" ); |
264 | qmlRegisterType<Qt3DRender::QFrontFace>(uri, versionMajor: 2, versionMinor: 0, qmlName: "FrontFace" ); |
265 | qmlRegisterUncreatableType<Qt3DRender::QStencilTestArguments>(uri, versionMajor: 2, versionMinor: 0, qmlName: "StencilTestArguments" , QStringLiteral("QStencilTestArguments cannot be instantiated on its own" )); |
266 | qmlRegisterType<Qt3DRender::QStencilTest>(uri, versionMajor: 2, versionMinor: 0, qmlName: "StencilTest" ); |
267 | qmlRegisterType<Qt3DRender::QScissorTest>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ScissorTest" ); |
268 | qmlRegisterType<Qt3DRender::QDithering>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Dithering" ); |
269 | qmlRegisterType<Qt3DRender::QAlphaCoverage>(uri, versionMajor: 2, versionMinor: 0, qmlName: "AlphaCoverage" ); |
270 | qmlRegisterType<Qt3DRender::QPointSize>(uri, versionMajor: 2, versionMinor: 0, qmlName: "PointSize" ); |
271 | qmlRegisterType<Qt3DRender::QPolygonOffset>(uri, versionMajor: 2, versionMinor: 0, qmlName: "PolygonOffset" ); |
272 | qmlRegisterType<Qt3DRender::QColorMask>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ColorMask" ); |
273 | qmlRegisterType<Qt3DRender::QClipPlane>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ClipPlane" ); |
274 | qmlRegisterUncreatableType<Qt3DRender::QStencilOperationArguments>(uri, versionMajor: 2, versionMinor: 0, qmlName: "StencilOperationArguments" , QStringLiteral("StencilOperationArguments cannot be instanciated on its own" )); |
275 | qmlRegisterType<Qt3DRender::QSeamlessCubemap>(uri, versionMajor: 2, versionMinor: 0, qmlName: "SeamlessCubemap" ); |
276 | qmlRegisterType<Qt3DRender::QStencilOperation>(uri, versionMajor: 2, versionMinor: 0, qmlName: "StencilOperation" ); |
277 | qmlRegisterType<Qt3DRender::QStencilMask>(uri, versionMajor: 2, versionMinor: 0, qmlName: "StencilMask" ); |
278 | qmlRegisterType<Qt3DRender::QLineWidth>(uri, versionMajor: 2, versionMinor: 10, qmlName: "LineWidth" ); |
279 | qmlRegisterType<Qt3DRender::QRasterMode>(uri, versionMajor: 2, versionMinor: 13, qmlName: "RasterMode" ); |
280 | |
281 | // The minor version used to be the current Qt 5 minor. For compatibility it is the last |
282 | // Qt 5 release. |
283 | qmlRegisterModule(uri, versionMajor: 2, versionMinor: 15); |
284 | } |
285 | |
286 | QT_END_NAMESPACE |
287 | |
288 | #include "moc_qt3dquick3drenderplugin.cpp" |
289 | |
290 | |
291 | |