summaryrefslogtreecommitdiffstats
path: root/src/quick3d
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-01-28 13:08:07 +0100
committerSean Harmer <sean.harmer@kdab.com>2015-02-08 11:16:22 +0000
commitba7f13b912dbbe208358e7ae925924ccba413ee1 (patch)
treea33188e471be121f118ac624e6c940a4d0e48bc2 /src/quick3d
parent8b70fbf3376687d86472ca4e4f61e27484ff94b4 (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.cpp18
-rw-r--r--src/quick3d/quick3drenderer/items/quick3dtexture.cpp65
-rw-r--r--src/quick3d/quick3drenderer/items/quick3dtexture.h81
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);
};