1 | /**************************************************************************** |
2 | ** |
3 | ** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB). |
4 | ** Copyright (C) 2016 The Qt Company Ltd and/or its subsidiary(-ies). |
5 | ** Contact: https://www.qt.io/licensing/ |
6 | ** |
7 | ** This file is part of the Qt3D module of the Qt Toolkit. |
8 | ** |
9 | ** $QT_BEGIN_LICENSE:LGPL$ |
10 | ** Commercial License Usage |
11 | ** Licensees holding valid commercial Qt licenses may use this file in |
12 | ** accordance with the commercial license agreement provided with the |
13 | ** Software or, alternatively, in accordance with the terms contained in |
14 | ** a written agreement between you and The Qt Company. For licensing terms |
15 | ** and conditions see https://www.qt.io/terms-conditions. For further |
16 | ** information use the contact form at https://www.qt.io/contact-us. |
17 | ** |
18 | ** GNU Lesser General Public License Usage |
19 | ** Alternatively, this file may be used under the terms of the GNU Lesser |
20 | ** General Public License version 3 as published by the Free Software |
21 | ** Foundation and appearing in the file LICENSE.LGPL3 included in the |
22 | ** packaging of this file. Please review the following information to |
23 | ** ensure the GNU Lesser General Public License version 3 requirements |
24 | ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. |
25 | ** |
26 | ** GNU General Public License Usage |
27 | ** Alternatively, this file may be used under the terms of the GNU |
28 | ** General Public License version 2.0 or (at your option) the GNU General |
29 | ** Public license version 3 or any later version approved by the KDE Free |
30 | ** Qt Foundation. The licenses are as published by the Free Software |
31 | ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 |
32 | ** included in the packaging of this file. Please review the following |
33 | ** information to ensure the GNU General Public License requirements will |
34 | ** be met: https://www.gnu.org/licenses/gpl-2.0.html and |
35 | ** https://www.gnu.org/licenses/gpl-3.0.html. |
36 | ** |
37 | ** $QT_END_LICENSE$ |
38 | ** |
39 | ****************************************************************************/ |
40 | |
41 | #include "qt3dquick3drenderplugin.h" |
42 | #include <Qt3DRender/qabstractlight.h> |
43 | #include <Qt3DRender/qalphacoverage.h> |
44 | #include <Qt3DRender/qalphatest.h> |
45 | #include <Qt3DRender/qattribute.h> |
46 | #include <Qt3DRender/qblendequation.h> |
47 | #include <Qt3DRender/qblendequationarguments.h> |
48 | #include <Qt3DRender/qbuffer.h> |
49 | #include <Qt3DRender/qbuffercapture.h> |
50 | #include <Qt3DRender/qcamera.h> |
51 | #include <Qt3DRender/qcameralens.h> |
52 | #include <Qt3DRender/qcameraselector.h> |
53 | #include <Qt3DRender/qclearbuffers.h> |
54 | #include <Qt3DRender/qclipplane.h> |
55 | #include <Qt3DRender/qcolormask.h> |
56 | #include <Qt3DRender/qcomputecommand.h> |
57 | #include <Qt3DRender/qcullface.h> |
58 | #include <Qt3DRender/qdepthrange.h> |
59 | #include <Qt3DRender/qdepthtest.h> |
60 | #include <Qt3DRender/qdirectionallight.h> |
61 | #include <Qt3DRender/qdispatchcompute.h> |
62 | #include <Qt3DRender/qdithering.h> |
63 | #include <Qt3DRender/qeffect.h> |
64 | #include <Qt3DRender/qenvironmentlight.h> |
65 | #include <Qt3DRender/qfilterkey.h> |
66 | #include <Qt3DRender/qfrontface.h> |
67 | #include <Qt3DRender/qfrustumculling.h> |
68 | #include <Qt3DRender/qgeometry.h> |
69 | #include <Qt3DRender/qgeometryrenderer.h> |
70 | #include <Qt3DRender/qgraphicsapifilter.h> |
71 | #include <Qt3DRender/qlayer.h> |
72 | #include <Qt3DRender/qlevelofdetail.h> |
73 | #include <Qt3DRender/qlevelofdetailboundingsphere.h> |
74 | #include <Qt3DRender/qlevelofdetailswitch.h> |
75 | #include <Qt3DRender/qlinewidth.h> |
76 | #include <Qt3DRender/qmemorybarrier.h> |
77 | #include <Qt3DRender/qmesh.h> |
78 | #include <Qt3DRender/qmultisampleantialiasing.h> |
79 | #include <Qt3DRender/qnodepthmask.h> |
80 | #include <Qt3DRender/qnodraw.h> |
81 | #include <Qt3DRender/qobjectpicker.h> |
82 | #include <Qt3DRender/qraycaster.h> |
83 | #include <Qt3DRender/qparameter.h> |
84 | #include <Qt3DRender/qpickevent.h> |
85 | #include <Qt3DRender/qpickingsettings.h> |
86 | #include <Qt3DRender/qpointlight.h> |
87 | #include <Qt3DRender/qpointsize.h> |
88 | #include <Qt3DRender/qpolygonoffset.h> |
89 | #include <Qt3DRender/qrendercapture.h> |
90 | #include <Qt3DRender/qrenderpass.h> |
91 | #include <Qt3DRender/qrenderpassfilter.h> |
92 | #include <Qt3DRender/qrendersettings.h> |
93 | #include <Qt3DRender/qrenderstate.h> |
94 | #include <Qt3DRender/qrendersurfaceselector.h> |
95 | #include <Qt3DRender/qrendertargetoutput.h> |
96 | #include <Qt3DRender/qrendertargetselector.h> |
97 | #include <Qt3DRender/qsceneloader.h> |
98 | #include <Qt3DRender/qscissortest.h> |
99 | #include <Qt3DRender/qseamlesscubemap.h> |
100 | #include <Qt3DRender/qshaderdata.h> |
101 | #include <Qt3DRender/qshaderprogram.h> |
102 | #include <Qt3DRender/qshaderprogrambuilder.h> |
103 | #include <Qt3DRender/qsortpolicy.h> |
104 | #include <Qt3DRender/qspotlight.h> |
105 | #include <Qt3DRender/qstencilmask.h> |
106 | #include <Qt3DRender/qstenciloperation.h> |
107 | #include <Qt3DRender/qstenciloperationarguments.h> |
108 | #include <Qt3DRender/qstenciltest.h> |
109 | #include <Qt3DRender/qstenciltestarguments.h> |
110 | #include <Qt3DRender/qtechnique.h> |
111 | #include <Qt3DRender/qtechniquefilter.h> |
112 | #include <Qt3DRender/qtexture.h> |
113 | #include <Qt3DRender/qviewport.h> |
114 | #include <Qt3DRender/qproximityfilter.h> |
115 | #include <Qt3DRender/qblitframebuffer.h> |
116 | #include <Qt3DRender/qsetfence.h> |
117 | #include <Qt3DRender/qwaitfence.h> |
118 | #include <Qt3DRender/qrastermode.h> |
119 | #include <Qt3DRender/qnopicking.h> |
120 | #include <Qt3DRender/qshaderimage.h> |
121 | #include <Qt3DRender/qsubtreeenabler.h> |
122 | #include <Qt3DRender/qrendercapabilities.h> |
123 | |
124 | #include <QtGui/qwindow.h> |
125 | |
126 | #include <Qt3DQuickRender/private/qt3dquickrender_global_p.h> |
127 | #include <Qt3DQuickRender/private/qt3dquickrender_global_p.h> |
128 | #include <Qt3DQuickRender/private/quick3dbuffer_p.h> |
129 | #include <Qt3DQuickRender/private/quick3deffect_p.h> |
130 | #include <Qt3DQuickRender/private/quick3dgeometry_p.h> |
131 | #include <Qt3DQuickRender/private/quick3dlayerfilter_p.h> |
132 | #include <Qt3DQuickRender/private/quick3dmaterial_p.h> |
133 | #include <Qt3DQuickRender/private/quick3dmemorybarrier_p.h> |
134 | #include <Qt3DQuickRender/private/quick3dparameter_p.h> |
135 | #include <Qt3DQuickRender/private/quick3drenderpass_p.h> |
136 | #include <Qt3DQuickRender/private/quick3drenderpassfilter_p.h> |
137 | #include <Qt3DQuickRender/private/quick3drendertargetoutput_p.h> |
138 | #include <Qt3DQuickRender/private/quick3drendertargetselector_p.h> |
139 | #include <Qt3DQuickRender/private/quick3dscene_p.h> |
140 | #include <Qt3DQuickRender/private/quick3dshaderdata_p.h> |
141 | #include <Qt3DQuickRender/private/quick3dshaderdataarray_p.h> |
142 | #include <Qt3DQuickRender/private/quick3dstateset_p.h> |
143 | #include <Qt3DQuickRender/private/quick3dtechnique_p.h> |
144 | #include <Qt3DQuickRender/private/quick3dtechniquefilter_p.h> |
145 | #include <Qt3DQuickRender/private/quick3dtexture_p.h> |
146 | #include <Qt3DQuickRender/private/quick3dviewport_p.h> |
147 | #include <Qt3DQuickRender/private/quick3draycaster_p.h> |
148 | #include <Qt3DQuickRender/private/quick3dscreenraycaster_p.h> |
149 | |
150 | QT_BEGIN_NAMESPACE |
151 | |
152 | QVariantList Quick3DShaderDataArrayToVariantListConverter(Qt3DRender::Render::Quick::Quick3DShaderDataArray *array) |
153 | { |
154 | const QVector<Qt3DRender::QShaderData *> arrayValues = array->values(); |
155 | QVariantList values; |
156 | values.reserve(alloc: arrayValues.size()); |
157 | for (Qt3DRender::QShaderData *data : arrayValues) |
158 | values.append(t: QVariant::fromValue(value: data)); |
159 | return values; |
160 | } |
161 | |
162 | void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) |
163 | { |
164 | Qt3DRender::Quick::Quick3DRender_initialize(); |
165 | |
166 | qmlRegisterUncreatableType<QWindow>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Window" , reason: "Only for assigning window surface property" ); |
167 | |
168 | // Converters |
169 | QMetaType::registerConverter<Qt3DRender::Render::Quick::Quick3DShaderDataArray*, QVariantList>(function: Quick3DShaderDataArrayToVariantListConverter); |
170 | |
171 | // Renderer setttings |
172 | qmlRegisterType<Qt3DRender::QRenderSettings>(uri, versionMajor: 2, versionMinor: 0, qmlName: "RenderSettings" ); |
173 | qmlRegisterType<Qt3DRender::QRenderSettings, 15>(uri, versionMajor: 2, versionMinor: 15, qmlName: "RenderSettings" ); |
174 | qmlRegisterType<Qt3DRender::QPickingSettings>(uri, versionMajor: 2, versionMinor: 0, qmlName: "PickingSettings" ); |
175 | qmlRegisterUncreatableType<Qt3DRender::QRenderCapabilities>(uri, versionMajor: 2, versionMinor: 15, qmlName: "RenderCapabilities" , reason: "Only available as a property of RenderSettings" ); |
176 | |
177 | // @uri Qt3D.Render |
178 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QSceneLoader, Qt3DRender::Render::Quick::Quick3DScene>(className: "QSceneLoader" , quickName: "Qt3D.Render/SceneLoader" , uri, major: 2, minor: 0, name: "SceneLoader" ); |
179 | qmlRegisterType<Qt3DRender::QSceneLoader, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "SceneLoader" ); |
180 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QEffect, Qt3DRender::Render::Quick::Quick3DEffect>(className: "QEffect" , quickName: "Qt3D.Render/Effect" , uri, major: 2, minor: 0, name: "Effect" ); |
181 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTechnique, Qt3DRender::Render::Quick::Quick3DTechnique>(className: "QTechnique" , quickName: "Qt3D.Render/Technique" , uri, major: 2, minor: 0, name: "Technique" ); |
182 | qmlRegisterType<Qt3DRender::QFilterKey>(uri, versionMajor: 2, versionMinor: 0, qmlName: "FilterKey" ); |
183 | qmlRegisterType<Qt3DRender::QGraphicsApiFilter>(uri, versionMajor: 2, versionMinor: 0, qmlName: "GraphicsApiFilter" ); |
184 | qmlRegisterUncreatableType<Qt3DRender::QParameter>(uri, versionMajor: 2, versionMinor: 0, qmlName: "QParameter" , reason: "Quick3D should instantiate Quick3DParameter only" ); |
185 | qmlRegisterType<Qt3DRender::Render::Quick::Quick3DParameter>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Parameter" ); |
186 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QMaterial, Qt3DRender::Render::Quick::Quick3DMaterial>(className: "QMaterial" , quickName: "Qt3D.Render/Material" , uri, major: 2, minor: 0, name: "Material" ); |
187 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderPass, Qt3DRender::Render::Quick::Quick3DRenderPass>(className: "QRenderPass" , quickName: "Qt3D.Render/RenderPass" , uri, major: 2, minor: 0, name: "RenderPass" ); |
188 | qmlRegisterType<Qt3DRender::QShaderProgram>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ShaderProgram" ); |
189 | qmlRegisterType<Qt3DRender::QShaderProgram, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "ShaderProgram" ); |
190 | qmlRegisterType<Qt3DRender::QShaderProgram, 15>(uri, versionMajor: 2, versionMinor: 15, qmlName: "ShaderProgram" ); |
191 | qmlRegisterType<Qt3DRender::QShaderProgramBuilder>(uri, versionMajor: 2, versionMinor: 10, qmlName: "ShaderProgramBuilder" ); |
192 | qmlRegisterType<Qt3DRender::QShaderProgramBuilder, 13>(uri, versionMajor: 2, versionMinor: 13, qmlName: "ShaderProgramBuilder" ); |
193 | qmlRegisterUncreatableType<Qt3DRender::QShaderData>(uri, versionMajor: 2, versionMinor: 0, qmlName: "QShaderData" , reason: "Quick3D should instantiate Quick3DShaderData only" ); |
194 | qmlRegisterType<Qt3DRender::Render::Quick::Quick3DShaderDataArray>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ShaderDataArray" ); |
195 | qmlRegisterType<Qt3DRender::Render::Quick::Quick3DShaderData>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ShaderData" ); |
196 | |
197 | // Camera |
198 | qmlRegisterType<Qt3DRender::QCamera>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Camera" ); |
199 | qmlRegisterType<Qt3DRender::QCamera, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "Camera" ); |
200 | qmlRegisterType<Qt3DRender::QCamera, 14>(uri, versionMajor: 2, versionMinor: 14, qmlName: "Camera" ); |
201 | qmlRegisterType<Qt3DRender::QCameraLens>(uri, versionMajor: 2, versionMinor: 0, qmlName: "CameraLens" ); |
202 | qmlRegisterType<Qt3DRender::QCameraLens, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "CameraLens" ); |
203 | |
204 | // Textures |
205 | qmlRegisterType<Qt3DRender::QTextureWrapMode>(uri, versionMajor: 2, versionMinor: 0, qmlName: "WrapMode" );//, QStringLiteral("QTextureWrapMode cannot be created from QML")); |
206 | qmlRegisterUncreatableType<Qt3DRender::QAbstractTexture>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Texture" , QStringLiteral("Texture should be created from one of the subclasses" )); |
207 | qmlRegisterUncreatableType<Qt3DRender::QAbstractTexture, 13>(uri, versionMajor: 2, versionMinor: 13, qmlName: "Texture" , QStringLiteral("Texture should be created from one of the subclasses" )); |
208 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture1D, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture1D" , quickName: "Qt3D.Render/Texture1D" , uri, major: 2, minor: 0, name: "Texture1D" ); |
209 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture1DArray, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture1DArray" , quickName: "Qt3D.Render/Texture1DArray" , uri, major: 2, minor: 0, name: "Texture1DArray" ); |
210 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture2D, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture2D" , quickName: "Qt3D.Render/Texture2D" , uri, major: 2, minor: 0, name: "Texture2D" ); |
211 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture2DArray, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture2DArray" , quickName: "Qt3D.Render/Texture2DArray" , uri, major: 2, minor: 0, name: "Texture2DArray" ); |
212 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture3D, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture3D" , quickName: "Qt3D.Render/Texture3D" , uri, major: 2, minor: 0, name: "Texture3D" ); |
213 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTextureCubeMap, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTextureCubeMap" , quickName: "Qt3D.Render/TextureCubeMap" , uri, major: 2, minor: 0, name: "TextureCubeMap" ); |
214 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTextureCubeMapArray, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTextureCubeMapArray" , quickName: "Qt3D.Render/TextureCubeMapArray" , uri, major: 2, minor: 0, name: "TextureCubeMapArray" ); |
215 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture2DMultisample, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture2DMultisample" , quickName: "Qt3D.Render/Texture2DMultisample" , uri, major: 2, minor: 0, name: "Texture2DMultisample" ); |
216 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTexture2DMultisampleArray, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTexture2DMultisampleArray" , quickName: "Qt3D.Render/Texture2DMultisampleArray" , uri, major: 2, minor: 0, name: "Texture2DMultisampleArray" ); |
217 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTextureRectangle, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTextureRectangle" , quickName: "Qt3D.Render/TextureRectangle" , uri, major: 2, minor: 0, name: "TextureRectangle" ); |
218 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTextureBuffer, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTextureBuffer" , quickName: "Qt3D.Render/TextureBuffer" , uri, major: 2, minor: 0, name: "TextureBuffer" ); |
219 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTextureLoader, Qt3DRender::Render::Quick::Quick3DTextureExtension>(className: "QTextureLoader" , quickName: "Qt3D.Render/TextureLoader" , uri, major: 2, minor: 0, name: "TextureLoader" ); |
220 | qmlRegisterUncreatableType<Qt3DRender::QAbstractTextureImage>(uri, versionMajor: 2, versionMinor: 0, qmlName: "QAbstractTextureImage" , QStringLiteral("QAbstractTextureImage is abstract" )); |
221 | qmlRegisterType<Qt3DRender::QTextureImage>(uri, versionMajor: 2, versionMinor: 0, qmlName: "TextureImage" ); |
222 | qmlRegisterType<Qt3DRender::QSharedGLTexture>(uri, versionMajor: 2, versionMinor: 13, qmlName: "SharedGLTexture" ); |
223 | qmlRegisterType<Qt3DRender::QShaderImage>(uri, versionMajor: 2, versionMinor: 14, qmlName: "ShaderImage" ); |
224 | |
225 | // Geometry |
226 | qmlRegisterType<Qt3DRender::QAttribute>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Attribute" ); |
227 | qmlRegisterType<Qt3DRender::QAttribute, 10>(uri, versionMajor: 2, versionMinor: 10, qmlName: "Attribute" ); |
228 | qmlRegisterType<Qt3DRender::QAttribute, 11>(uri, versionMajor: 2, versionMinor: 11, qmlName: "Attribute" ); |
229 | qmlRegisterUncreatableType<Qt3DRender::QBuffer>(uri, versionMajor: 2, versionMinor: 0, qmlName: "BufferBase" , QStringLiteral("Use Quick3DBuffer in QML" )); |
230 | qmlRegisterUncreatableType<Qt3DRender::QBuffer, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "BufferBase" , QStringLiteral("Use Quick3DBuffer in QML" )); |
231 | qmlRegisterType<Qt3DRender::Render::Quick::Quick3DBuffer>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Buffer" ); |
232 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QGeometry, Qt3DRender::Render::Quick::Quick3DGeometry>(className: "QGeometry" , quickName: "Qt3D.Render/Geometry" , uri, major: 2, minor: 0, name: "Geometry" ); |
233 | qmlRegisterType<Qt3DRender::QGeometryRenderer>(uri, versionMajor: 2, versionMinor: 0, qmlName: "GeometryRenderer" ); |
234 | qmlRegisterType<Qt3DRender::QLevelOfDetail>(uri, versionMajor: 2, versionMinor: 9, qmlName: "LevelOfDetail" ); |
235 | qmlRegisterType<Qt3DRender::QLevelOfDetailSwitch>(uri, versionMajor: 2, versionMinor: 9, qmlName: "LevelOfDetailSwitch" ); |
236 | qRegisterMetaType<Qt3DRender::QLevelOfDetailBoundingSphere>(typeName: "LevelOfDetailBoundingSphere" ); |
237 | |
238 | // Mesh |
239 | qmlRegisterType<Qt3DRender::QMesh>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Mesh" ); |
240 | |
241 | // Picking |
242 | qmlRegisterType<Qt3DRender::QObjectPicker>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ObjectPicker" ); |
243 | qmlRegisterType<Qt3DRender::QObjectPicker, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "ObjectPicker" ); |
244 | qmlRegisterType<Qt3DRender::QObjectPicker, 13>(uri, versionMajor: 2, versionMinor: 13, qmlName: "ObjectPicker" ); |
245 | qmlRegisterUncreatableType<Qt3DRender::QPickEvent>(uri, versionMajor: 2, versionMinor: 0, qmlName: "PickEvent" , QStringLiteral("Events cannot be created" )); |
246 | qmlRegisterUncreatableType<Qt3DRender::QPickEvent, 14>(uri, versionMajor: 2, versionMinor: 14, qmlName: "PickEvent" , QStringLiteral("Events cannot be created" )); |
247 | qmlRegisterType<Qt3DRender::Render::Quick::Quick3DRayCaster>(uri, versionMajor: 2, versionMinor: 11, qmlName: "RayCaster" ); |
248 | qmlRegisterType<Qt3DRender::Render::Quick::Quick3DScreenRayCaster>(uri, versionMajor: 2, versionMinor: 11, qmlName: "ScreenRayCaster" ); |
249 | |
250 | // Compute Job |
251 | qmlRegisterType<Qt3DRender::QComputeCommand>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ComputeCommand" ); |
252 | qmlRegisterType<Qt3DRender::QComputeCommand, 13>(uri, versionMajor: 2, versionMinor: 13, qmlName: "ComputeCommand" ); |
253 | |
254 | // Layers |
255 | qmlRegisterType<Qt3DRender::QLayer>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Layer" ); |
256 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QLayerFilter, Qt3DRender::Render::Quick::Quick3DLayerFilter>(className: "QLayerFilter" , quickName: "Qt3D.Render/LayerFilter" , uri, major: 2, minor: 0, name: "LayerFilter" ); |
257 | |
258 | // Lights |
259 | qmlRegisterUncreatableType<Qt3DRender::QAbstractLight>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Light" , QStringLiteral("Light is an abstract base class" )); |
260 | qmlRegisterType<Qt3DRender::QPointLight>(uri, versionMajor: 2, versionMinor: 0, qmlName: "PointLight" ); |
261 | qmlRegisterType<Qt3DRender::QDirectionalLight>(uri, versionMajor: 2, versionMinor: 0, qmlName: "DirectionalLight" ); |
262 | qmlRegisterType<Qt3DRender::QEnvironmentLight>(uri, versionMajor: 2, versionMinor: 9, qmlName: "EnvironmentLight" ); |
263 | qmlRegisterType<Qt3DRender::QSpotLight>(uri, versionMajor: 2, versionMinor: 0, qmlName: "SpotLight" ); |
264 | |
265 | // FrameGraph |
266 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QCameraSelector, Qt3DCore::Quick::Quick3DNode>(className: "QCameraSelector" , quickName: "Qt3D.Render/CameraSelector" , uri, major: 2, minor: 0, name: "CameraSelector" ); |
267 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderPassFilter, Qt3DRender::Render::Quick::Quick3DRenderPassFilter>(className: "QRenderPassFilter" , quickName: "Qt3D.Render/RenderPassFilter" , uri, major: 2, minor: 0, name: "RenderPassFilter" ); |
268 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QTechniqueFilter, Qt3DRender::Render::Quick::Quick3DTechniqueFilter>(className: "QTechniqueFilter" , quickName: "Qt3D.Render/TechniqueFilter" , uri, major: 2, minor: 0, name: "TechniqueFilter" ); |
269 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QViewport, Qt3DRender::Render::Quick::Quick3DViewport>(className: "QViewport" , quickName: "Qt3D.Render/Viewport" , uri, major: 2, minor: 0, name: "Viewport" ); |
270 | qmlRegisterType<Qt3DRender::QViewport, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "Viewport" ); |
271 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderTargetSelector, Qt3DRender::Render::Quick::Quick3DRenderTargetSelector>(className: "QRenderTargetSelector" , quickName: "Qt3D.Render/RenderTargetSelector" , uri, major: 2, minor: 0, name: "RenderTargetSelector" ); |
272 | qmlRegisterType<Qt3DRender::QClearBuffers>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ClearBuffers" ); |
273 | qmlRegisterType<Qt3DRender::QFrameGraphNode>(uri, versionMajor: 2, versionMinor: 0, qmlName: "FrameGraphNode" ); |
274 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderStateSet, Qt3DRender::Render::Quick::Quick3DStateSet>(className: "QRenderStateSet" , quickName: "Qt3D.Render/RenderStateSet" , uri, major: 2, minor: 0, name: "RenderStateSet" ); |
275 | qmlRegisterType<Qt3DRender::QNoDraw>(uri, versionMajor: 2, versionMinor: 0, qmlName: "NoDraw" ); |
276 | qmlRegisterType<Qt3DRender::QFrustumCulling>(uri, versionMajor: 2, versionMinor: 0, qmlName: "FrustumCulling" ); |
277 | qmlRegisterType<Qt3DRender::QDispatchCompute>(uri, versionMajor: 2, versionMinor: 0, qmlName: "DispatchCompute" ); |
278 | qmlRegisterType<Qt3DRender::QRenderCapture>(uri, versionMajor: 2, versionMinor: 1, qmlName: "RenderCapture" ); |
279 | qmlRegisterType<Qt3DRender::QRenderCapture, 9>(uri, versionMajor: 2, versionMinor: 9, qmlName: "RenderCapture" ); |
280 | qmlRegisterUncreatableType<Qt3DRender::QRenderCaptureReply>(uri, versionMajor: 2, versionMinor: 1, qmlName: "RenderCaptureReply" , QStringLiteral("RenderCaptureReply is only instantiated by RenderCapture" )); |
281 | qmlRegisterType<Qt3DRender::QBufferCapture>(uri, versionMajor: 2, versionMinor: 9, qmlName: "BufferCapture" ); |
282 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QMemoryBarrier, Qt3DRender::Render::Quick::Quick3DMemoryBarrier>(className: "QMemoryBarrier" , quickName: "Qt3D.Render/MemoryBarrier" , uri, major: 2, minor: 9, name: "MemoryBarrier" ); |
283 | qmlRegisterType<Qt3DRender::QProximityFilter>(uri, versionMajor: 2, versionMinor: 10, qmlName: "ProximityFilter" ); |
284 | qmlRegisterType<Qt3DRender::QBlitFramebuffer>(uri, versionMajor: 2, versionMinor: 10, qmlName: "BlitFramebuffer" ); |
285 | qmlRegisterType<Qt3DRender::QSetFence>(uri, versionMajor: 2, versionMinor: 13, qmlName: "SetFence" ); |
286 | qmlRegisterType<Qt3DRender::QWaitFence>(uri, versionMajor: 2, versionMinor: 13, qmlName: "WaitFence" ); |
287 | qmlRegisterType<Qt3DRender::QNoPicking>(uri, versionMajor: 2, versionMinor: 14, qmlName: "NoPicking" ); |
288 | qmlRegisterType<Qt3DRender::QSubtreeEnabler>(uri, versionMajor: 2, versionMinor: 14, qmlName: "SubtreeEnabler" ); |
289 | |
290 | // RenderTarget |
291 | qmlRegisterType<Qt3DRender::QRenderTargetOutput>(uri, versionMajor: 2, versionMinor: 0, qmlName: "RenderTargetOutput" ); |
292 | Qt3DRender::Quick::registerExtendedType<Qt3DRender::QRenderTarget, Qt3DRender::Render::Quick::Quick3DRenderTargetOutput>(className: "QRenderTarget" , quickName: "Qt3D.Render/RenderTarget" , uri, major: 2, minor: 0, name: "RenderTarget" ); |
293 | |
294 | // Render surface selector |
295 | qmlRegisterType<Qt3DRender::QRenderSurfaceSelector>(uri, versionMajor: 2, versionMinor: 0, qmlName: "RenderSurfaceSelector" ); |
296 | |
297 | // Sorting |
298 | qmlRegisterType<Qt3DRender::QSortPolicy>(uri, versionMajor: 2, versionMinor: 0, qmlName: "SortPolicy" ); |
299 | |
300 | // RenderStates |
301 | qmlRegisterUncreatableType<Qt3DRender::QRenderState>(uri, versionMajor: 2, versionMinor: 0, qmlName: "RenderState" , QStringLiteral("QRenderState is a base class" )); |
302 | qmlRegisterType<Qt3DRender::QBlendEquationArguments>(uri, versionMajor: 2, versionMinor: 0, qmlName: "BlendEquationArguments" ); |
303 | qmlRegisterType<Qt3DRender::QBlendEquation>(uri, versionMajor: 2, versionMinor: 0, qmlName: "BlendEquation" ); |
304 | qmlRegisterType<Qt3DRender::QAlphaTest>(uri, versionMajor: 2, versionMinor: 0, qmlName: "AlphaTest" ); |
305 | qmlRegisterType<Qt3DRender::QDepthRange>(uri, versionMajor: 2, versionMinor: 14, qmlName: "DepthRange" ); |
306 | qmlRegisterType<Qt3DRender::QDepthTest>(uri, versionMajor: 2, versionMinor: 0, qmlName: "DepthTest" ); |
307 | qmlRegisterType<Qt3DRender::QMultiSampleAntiAliasing>(uri, versionMajor: 2, versionMinor: 0, qmlName: "MultiSampleAntiAliasing" ); |
308 | qmlRegisterType<Qt3DRender::QNoDepthMask>(uri, versionMajor: 2, versionMinor: 0, qmlName: "NoDepthMask" ); |
309 | qmlRegisterType<Qt3DRender::QCullFace>(uri, versionMajor: 2, versionMinor: 0, qmlName: "CullFace" ); |
310 | qmlRegisterType<Qt3DRender::QFrontFace>(uri, versionMajor: 2, versionMinor: 0, qmlName: "FrontFace" ); |
311 | qmlRegisterUncreatableType<Qt3DRender::QStencilTestArguments>(uri, versionMajor: 2, versionMinor: 0, qmlName: "StencilTestArguments" , QStringLiteral("QStencilTestArguments cannot be instantiated on its own" )); |
312 | qmlRegisterType<Qt3DRender::QStencilTest>(uri, versionMajor: 2, versionMinor: 0, qmlName: "StencilTest" ); |
313 | qmlRegisterType<Qt3DRender::QScissorTest>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ScissorTest" ); |
314 | qmlRegisterType<Qt3DRender::QDithering>(uri, versionMajor: 2, versionMinor: 0, qmlName: "Dithering" ); |
315 | qmlRegisterType<Qt3DRender::QAlphaCoverage>(uri, versionMajor: 2, versionMinor: 0, qmlName: "AlphaCoverage" ); |
316 | qmlRegisterType<Qt3DRender::QPointSize>(uri, versionMajor: 2, versionMinor: 0, qmlName: "PointSize" ); |
317 | qmlRegisterType<Qt3DRender::QPolygonOffset>(uri, versionMajor: 2, versionMinor: 0, qmlName: "PolygonOffset" ); |
318 | qmlRegisterType<Qt3DRender::QColorMask>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ColorMask" ); |
319 | qmlRegisterType<Qt3DRender::QClipPlane>(uri, versionMajor: 2, versionMinor: 0, qmlName: "ClipPlane" ); |
320 | qmlRegisterUncreatableType<Qt3DRender::QStencilOperationArguments>(uri, versionMajor: 2, versionMinor: 0, qmlName: "StencilOperationArguments" , QStringLiteral("StencilOperationArguments cannot be instanciated on its own" )); |
321 | qmlRegisterType<Qt3DRender::QSeamlessCubemap>(uri, versionMajor: 2, versionMinor: 0, qmlName: "SeamlessCubemap" ); |
322 | qmlRegisterType<Qt3DRender::QStencilOperation>(uri, versionMajor: 2, versionMinor: 0, qmlName: "StencilOperation" ); |
323 | qmlRegisterType<Qt3DRender::QStencilMask>(uri, versionMajor: 2, versionMinor: 0, qmlName: "StencilMask" ); |
324 | qmlRegisterType<Qt3DRender::QLineWidth>(uri, versionMajor: 2, versionMinor: 10, qmlName: "LineWidth" ); |
325 | qmlRegisterType<Qt3DRender::QRasterMode>(uri, versionMajor: 2, versionMinor: 13, qmlName: "RasterMode" ); |
326 | |
327 | // Auto-increment the import to stay in sync with ALL future Qt minor versions |
328 | qmlRegisterModule(uri, versionMajor: 2, QT_VERSION_MINOR); |
329 | } |
330 | |
331 | QT_END_NAMESPACE |
332 | |
333 | |
334 | |