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 <Qt3DQuickRender/private/qt3dquickrender_global_p.h>
6#include <Qt3DQuickRender/private/qt3dquickrendernodefactory_p.h>
7#include <Qt3DQuickRender/private/quick3dshaderdata_p.h>
8#include <Qt3DQuickRender/private/quick3dshaderdataarray_p.h>
9
10QT_BEGIN_NAMESPACE
11
12namespace Qt3DRender {
13namespace Quick {
14
15static QVariantList Quick3DShaderDataArrayToVariantListConverter(Qt3DRender::Render::Quick::Quick3DShaderDataArray *array)
16{
17 const QList<Qt3DRender::QShaderData *> arrayValues = array->values();
18 QVariantList values;
19 values.reserve(asize: arrayValues.size());
20 for (Qt3DRender::QShaderData *data : arrayValues)
21 values.append(t: QVariant::fromValue(value: data));
22 return values;
23}
24
25void Quick3DRender_initialize()
26{
27 Qt3DCore::QAbstractNodeFactory::registerNodeFactory(factory: QuickRenderNodeFactory::instance());
28
29 // Converters
30 QMetaType::registerConverter<Qt3DRender::Render::Quick::Quick3DShaderDataArray*, QVariantList>(function: Quick3DShaderDataArrayToVariantListConverter);
31
32 // register types in the QuickRenderNodeFactory
33 Qt3DRender::Quick::Quick3DRender_registerType(className: "QSceneLoader", quickName: "Qt3D.Render/SceneLoader", major: 2, minor: 0);
34 Qt3DRender::Quick::Quick3DRender_registerType(className: "QEffect", quickName: "Qt3D.Render/Effect", major: 2, minor: 0);
35 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTechnique", quickName: "Qt3D.Render/Technique", major: 2, minor: 0);
36 Qt3DRender::Quick::Quick3DRender_registerType(className: "QMaterial", quickName: "Qt3D.Render/Material", major: 2, minor: 0);
37 Qt3DRender::Quick::Quick3DRender_registerType(className: "QRenderPass", quickName: "Qt3D.Render/RenderPass", major: 2, minor: 0);
38 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTexture1D", quickName: "Qt3D.Render/Texture1D", major: 2, minor: 0);
39 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTexture1DArray", quickName: "Qt3D.Render/Texture1DArray", major: 2, minor: 0);
40 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTexture2D", quickName: "Qt3D.Render/Texture2D", major: 2, minor: 0);
41 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTexture2DArray", quickName: "Qt3D.Render/Texture2DArray", major: 2, minor: 0);
42 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTexture3D", quickName: "Qt3D.Render/Texture3D", major: 2, minor: 0);
43 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTextureCubeMap", quickName: "Qt3D.Render/TextureCubeMap", major: 2, minor: 0);
44 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTextureCubeMapArray", quickName: "Qt3D.Render/TextureCubeMapArray", major: 2, minor: 0);
45 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTexture2DMultisample", quickName: "Qt3D.Render/Texture2DMultisample", major: 2, minor: 0);
46 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTexture2DMultisampleArray", quickName: "Qt3D.Render/Texture2DMultisampleArray", major: 2, minor: 0);
47 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTextureRectangle", quickName: "Qt3D.Render/TextureRectangle", major: 2, minor: 0);
48 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTextureBuffer", quickName: "Qt3D.Render/TextureBuffer", major: 2, minor: 0);
49 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTextureLoader", quickName: "Qt3D.Render/TextureLoader", major: 2, minor: 0);
50 Qt3DRender::Quick::Quick3DRender_registerType(className: "QLayerFilter", quickName: "Qt3D.Render/LayerFilter", major: 2, minor: 0);
51 Qt3DRender::Quick::Quick3DRender_registerType(className: "QCameraSelector", quickName: "Qt3D.Render/CameraSelector", major: 2, minor: 0);
52 Qt3DRender::Quick::Quick3DRender_registerType(className: "QRenderPassFilter", quickName: "Qt3D.Render/RenderPassFilter", major: 2, minor: 0);
53 Qt3DRender::Quick::Quick3DRender_registerType(className: "QTechniqueFilter", quickName: "Qt3D.Render/TechniqueFilter", major: 2, minor: 0);
54 Qt3DRender::Quick::Quick3DRender_registerType(className: "QViewport", quickName: "Qt3D.Render/Viewport", major: 2, minor: 0);
55 Qt3DRender::Quick::Quick3DRender_registerType(className: "QRenderStateSet", quickName: "Qt3D.Render/RenderStateSet", major: 2, minor: 0);
56 Qt3DRender::Quick::Quick3DRender_registerType(className: "QMemoryBarrier", quickName: "Qt3D.Render/MemoryBarrier", major: 2, minor: 9);
57 Qt3DRender::Quick::Quick3DRender_registerType(className: "QRenderTarget", quickName: "Qt3D.Render/RenderTarget", major: 2, minor: 0);
58}
59
60void Quick3DRender_registerType(const char *className, const char *quickName, int major, int minor)
61{
62 QuickRenderNodeFactory::instance()->registerType(className, quickName, major, minor);
63}
64
65
66Q_CONSTRUCTOR_FUNCTION(Quick3DRender_initialize)
67
68} // namespace Quick
69} // namespace Qt3DRender
70
71QT_END_NAMESPACE
72

Provided by KDAB

Privacy Policy
Learn to use CMake with our Intro Training
Find out more

source code of qt3d/src/quick3d/quick3drender/qt3dquickrender_global.cpp