// Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB). // Copyright (C) 2016 The Qt Company Ltd and/or its subsidiary(-ies). // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #include #include #include #include QT_BEGIN_NAMESPACE namespace Qt3DRender { namespace Quick { static QVariantList Quick3DShaderDataArrayToVariantListConverter(Qt3DRender::Render::Quick::Quick3DShaderDataArray *array) { const QList arrayValues = array->values(); QVariantList values; values.reserve(arrayValues.size()); for (Qt3DRender::QShaderData *data : arrayValues) values.append(QVariant::fromValue(data)); return values; } void Quick3DRender_initialize() { Qt3DCore::QAbstractNodeFactory::registerNodeFactory(QuickRenderNodeFactory::instance()); // Converters QMetaType::registerConverter(Quick3DShaderDataArrayToVariantListConverter); // register types in the QuickRenderNodeFactory Qt3DRender::Quick::Quick3DRender_registerType("QSceneLoader", "Qt3D.Render/SceneLoader", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QEffect", "Qt3D.Render/Effect", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTechnique", "Qt3D.Render/Technique", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QMaterial", "Qt3D.Render/Material", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QRenderPass", "Qt3D.Render/RenderPass", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTexture1D", "Qt3D.Render/Texture1D", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTexture1DArray", "Qt3D.Render/Texture1DArray", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTexture2D", "Qt3D.Render/Texture2D", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTexture2DArray", "Qt3D.Render/Texture2DArray", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTexture3D", "Qt3D.Render/Texture3D", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTextureCubeMap", "Qt3D.Render/TextureCubeMap", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTextureCubeMapArray", "Qt3D.Render/TextureCubeMapArray", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTexture2DMultisample", "Qt3D.Render/Texture2DMultisample", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTexture2DMultisampleArray", "Qt3D.Render/Texture2DMultisampleArray", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTextureRectangle", "Qt3D.Render/TextureRectangle", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTextureBuffer", "Qt3D.Render/TextureBuffer", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTextureLoader", "Qt3D.Render/TextureLoader", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QLayerFilter", "Qt3D.Render/LayerFilter", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QCameraSelector", "Qt3D.Render/CameraSelector", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QRenderPassFilter", "Qt3D.Render/RenderPassFilter", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QTechniqueFilter", "Qt3D.Render/TechniqueFilter", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QViewport", "Qt3D.Render/Viewport", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QRenderStateSet", "Qt3D.Render/RenderStateSet", 2, 0); Qt3DRender::Quick::Quick3DRender_registerType("QMemoryBarrier", "Qt3D.Render/MemoryBarrier", 2, 9); Qt3DRender::Quick::Quick3DRender_registerType("QRenderTarget", "Qt3D.Render/RenderTarget", 2, 0); } void Quick3DRender_registerType(const char *className, const char *quickName, int major, int minor) { QuickRenderNodeFactory::instance()->registerType(className, quickName, major, minor); } Q_CONSTRUCTOR_FUNCTION(Quick3DRender_initialize) } // namespace Quick } // namespace Qt3DRender QT_END_NAMESPACE