diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-01-28 13:08:07 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2015-02-08 11:16:22 +0000 |
commit | ba7f13b912dbbe208358e7ae925924ccba413ee1 (patch) | |
tree | a33188e471be121f118ac624e6c940a4d0e48bc2 /src/quick3d | |
parent | 8b70fbf3376687d86472ca4e4f61e27484ff94b4 (diff) |
QTextureProviders added
the Quick3D textures were removed to use the providers directly instead.
Change-Id: Ifa5f28aa1ce8b6e5cc921ac76e6fbd80c5ea3112
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/quick3d')
-rw-r--r-- | src/quick3d/imports/render/qt3dquick3drenderplugin.cpp | 18 | ||||
-rw-r--r-- | src/quick3d/quick3drenderer/items/quick3dtexture.cpp | 65 | ||||
-rw-r--r-- | src/quick3d/quick3drenderer/items/quick3dtexture.h | 81 |
3 files changed, 16 insertions, 148 deletions
diff --git a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp index 0e6624c31..b3abe5e42 100644 --- a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp +++ b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp @@ -181,15 +181,15 @@ void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) // Textures qmlRegisterType<Qt3D::QTextureWrapMode>(uri, 2, 0, "WrapMode");//, QStringLiteral("QTextureWrapMode cannot be created from QML")); qmlRegisterUncreatableType<Qt3D::QAbstractTextureProvider>(uri, 2, 0, "Texture", QStringLiteral("Texture should be created from one of the subclasses")); - qmlRegisterType<Qt3D::Render::Quick::Quick3DTexture1D>(uri, 2, 0, "Texture1D"); - qmlRegisterType<Qt3D::Render::Quick::Quick3DTexture1DArray>(uri, 2, 0, "Texture1DArray"); - qmlRegisterExtendedType<Qt3D::Render::Quick::Quick3DTexture2D, Qt3D::Render::Quick::Quick3DTexture2DExtension>(uri, 2, 0, "Texture2D"); - qmlRegisterType<Qt3D::Render::Quick::Quick3DTexture2DArray>(uri, 2, 0, "Texture2DArray"); - qmlRegisterType<Qt3D::Render::Quick::Quick3DTexture3D>(uri, 2, 0, "Texture3D"); - qmlRegisterExtendedType<Qt3D::Render::Quick::Quick3DTextureCubeMap, Qt3D::Render::Quick::Quick3DTextureCubeMapExtension>(uri, 2, 0, "TextureCubeMap"); - qmlRegisterType<Qt3D::Render::Quick::Quick3DTextureCubeMapArray>(uri, 2, 0, "TextureCubeMapArray"); - qmlRegisterType<Qt3D::Render::Quick::Quick3DTexture2DMultisample>(uri, 2, 0, "Texture2DMultisample"); - qmlRegisterType<Qt3D::Render::Quick::Quick3DTexture2DMultisampleArray>(uri, 2, 0, "Texture2DMultisampleArray"); + qmlRegisterType<Qt3D::QTexture1D>(uri, 2, 0, "Texture1D"); + qmlRegisterType<Qt3D::QTexture1DArray>(uri, 2, 0, "Texture1DArray"); + qmlRegisterExtendedType<Qt3D::QTexture2D, Qt3D::Render::Quick::Quick3DTexture2DExtension>(uri, 2, 0, "Texture2D"); + qmlRegisterType<Qt3D::QTexture2DArray>(uri, 2, 0, "Texture2DArray"); + qmlRegisterType<Qt3D::QTexture3D>(uri, 2, 0, "Texture3D"); + qmlRegisterExtendedType<Qt3D::QTextureCubeMap, Qt3D::Render::Quick::Quick3DTextureCubeMapExtension>(uri, 2, 0, "TextureCubeMap"); + qmlRegisterType<Qt3D::QTextureCubeMapArray>(uri, 2, 0, "TextureCubeMapArray"); + qmlRegisterType<Qt3D::QTexture2DMultisample>(uri, 2, 0, "Texture2DMultisample"); + qmlRegisterType<Qt3D::QTexture2DMultisampleArray>(uri, 2, 0, "Texture2DMultisampleArray"); // Meshes qmlRegisterUncreatableType<Qt3D::QAbstractMesh>(uri, 2, 0, "QAbstractMesh", QStringLiteral("QAbstractMesh is abstract")); diff --git a/src/quick3d/quick3drenderer/items/quick3dtexture.cpp b/src/quick3d/quick3drenderer/items/quick3dtexture.cpp index a93bde00c..afe84ddfb 100644 --- a/src/quick3d/quick3drenderer/items/quick3dtexture.cpp +++ b/src/quick3d/quick3drenderer/items/quick3dtexture.cpp @@ -50,61 +50,6 @@ namespace Render { namespace Quick { -Quick3DTexture1D::Quick3DTexture1D(QNode *parent) - : QAbstractTextureProvider(Target1D, parent) -{ -} - -Quick3DTexture1DArray::Quick3DTexture1DArray(QNode *parent) - : QAbstractTextureProvider(Target1DArray, parent) -{ -} - -Quick3DTexture2D::Quick3DTexture2D(QNode *parent) - : QAbstractTextureProvider(Target2D, parent) -{ -} - -Quick3DTexture2DArray::Quick3DTexture2DArray(QNode *parent) - : QAbstractTextureProvider(Target2DArray, parent) -{ -} - -Quick3DTexture3D::Quick3DTexture3D(QNode *parent) - : QAbstractTextureProvider(Target3D, parent) -{ -} - -Quick3DTextureCubeMap::Quick3DTextureCubeMap(QNode *parent) - : QAbstractTextureProvider(TargetCubeMap, parent) -{ -} - -Quick3DTextureCubeMapArray::Quick3DTextureCubeMapArray(QNode *parent) - : QAbstractTextureProvider(TargetCubeMapArray, parent) -{ -} - -Quick3DTexture2DMultisample::Quick3DTexture2DMultisample(QNode *parent) - : QAbstractTextureProvider(Target2DMultisample, parent) -{ -} - -Quick3DTexture2DMultisampleArray::Quick3DTexture2DMultisampleArray(QNode *parent) - : QAbstractTextureProvider(Target2DMultisampleArray, parent) -{ -} - -Quick3DTextureRectangle::Quick3DTextureRectangle(QNode *parent) - : QAbstractTextureProvider(TargetRectangle, parent) -{ -} - -Quick3DTextureBuffer::Quick3DTextureBuffer(QNode *parent) - : QAbstractTextureProvider(TargetBuffer, parent) -{ -} - // TO DO: This needs to be reworked to handle more than just 2D images Quick3DTexture2DExtension::Quick3DTexture2DExtension(QObject *parent) : QObject(parent) @@ -262,7 +207,9 @@ void Quick3DTextureCubeMapExtension::loadFace(const QUrl &faceUrl, QAbstractText if (faceUrl.isLocalFile() || faceUrl.scheme() == QStringLiteral("qrc")) { QString source = faceUrl.toString().replace(QStringLiteral("qrc"), QStringLiteral("")); QImage img; - parentTexture()->setStatus(QAbstractTextureProvider::Loading); + // Status will be set by backend + +// parentTexture()->setStatus(QAbstractTextureProvider::Loading); if (img.load(source)) { TexImageDataPtr dataPtr(new TexImageData(0, 0)); @@ -278,14 +225,14 @@ void Quick3DTextureCubeMapExtension::loadFace(const QUrl &faceUrl, QAbstractText parentTexture()->setFormat(format); dataPtr->setImage(img); parentTexture()->addImageData(dataPtr); - parentTexture()->setStatus(QAbstractTextureProvider::Loaded); +// parentTexture()->setStatus(QAbstractTextureProvider::Loaded); } else { qWarning() << "Failed to load image : " << source; - parentTexture()->setStatus(QAbstractTextureProvider::Error); +// parentTexture()->setStatus(QAbstractTextureProvider::Error); } } else { - parentTexture()->setStatus(QAbstractTextureProvider::Error); +// parentTexture()->setStatus(QAbstractTextureProvider::Error); qWarning() << "implement loading from remote URLs"; } } diff --git a/src/quick3d/quick3drenderer/items/quick3dtexture.h b/src/quick3d/quick3drenderer/items/quick3dtexture.h index ef055692b..8aa1c3cf1 100644 --- a/src/quick3d/quick3drenderer/items/quick3dtexture.h +++ b/src/quick3d/quick3drenderer/items/quick3dtexture.h @@ -56,85 +56,6 @@ namespace Render { namespace Quick { -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTexture1D : public QAbstractTextureProvider -{ - Q_OBJECT -public: - explicit Quick3DTexture1D(QNode *parent = 0); -}; - -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTexture1DArray : public QAbstractTextureProvider -{ - Q_OBJECT -public: - explicit Quick3DTexture1DArray(QNode *parent = 0); -}; - -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTexture2D : public QAbstractTextureProvider -{ - Q_OBJECT -public: - explicit Quick3DTexture2D(QNode *parent = 0); -}; - -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTexture2DArray : public QAbstractTextureProvider -{ - Q_OBJECT -public: - explicit Quick3DTexture2DArray(QNode *parent = 0); -}; - -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTexture3D : public QAbstractTextureProvider -{ - Q_OBJECT -public: - explicit Quick3DTexture3D(QNode *parent = 0); -}; - -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTextureCubeMap : public QAbstractTextureProvider -{ - Q_OBJECT -public: - explicit Quick3DTextureCubeMap(QNode *parent = 0); - - friend class Quick3DTextureCubeMapExtension; -}; - -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTextureCubeMapArray : public QAbstractTextureProvider -{ - Q_OBJECT -public: - explicit Quick3DTextureCubeMapArray(QNode *parent = 0); -}; - -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTexture2DMultisample : public QAbstractTextureProvider -{ - Q_OBJECT -public: - explicit Quick3DTexture2DMultisample(QNode *parent = 0); -}; - -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTexture2DMultisampleArray : public QAbstractTextureProvider -{ - Q_OBJECT -public: - explicit Quick3DTexture2DMultisampleArray(QNode *parent = 0); -}; - -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTextureRectangle : public QAbstractTextureProvider -{ - Q_OBJECT -public: - explicit Quick3DTextureRectangle(QNode *parent = 0); -}; - -class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTextureBuffer : public QAbstractTextureProvider -{ - Q_OBJECT -public: - explicit Quick3DTextureBuffer(QNode *parent = 0); -}; - class QT3DQUICKRENDERERSHARED_EXPORT Quick3DTexture2DExtension : public QObject { Q_OBJECT @@ -201,7 +122,7 @@ private: QUrl m_negativeZ; QUrl m_source; - inline Quick3DTextureCubeMap *parentTexture() { return qobject_cast<Quick3DTextureCubeMap *>(parent()); } + inline QTextureCubeMap *parentTexture() { return qobject_cast<QTextureCubeMap *>(parent()); } void loadFace(const QUrl &faceUrl, QAbstractTextureProvider::CubeMapFace face); }; |