summaryrefslogtreecommitdiffstats
path: root/src
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
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')
-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
-rw-r--r--src/render/frontend/qabstracttextureprovider.cpp22
-rw-r--r--src/render/frontend/qabstracttextureprovider.h6
-rw-r--r--src/render/frontend/qtexture.h2
-rw-r--r--src/render/frontend/qtextureproviders.cpp251
-rw-r--r--src/render/frontend/qtextureproviders.h143
-rw-r--r--src/render/frontend/render-frontend.pri6
9 files changed, 415 insertions, 179 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);
};
diff --git a/src/render/frontend/qabstracttextureprovider.cpp b/src/render/frontend/qabstracttextureprovider.cpp
index c1616ad19..6d720906a 100644
--- a/src/render/frontend/qabstracttextureprovider.cpp
+++ b/src/render/frontend/qabstracttextureprovider.cpp
@@ -111,28 +111,6 @@ QAbstractTextureProvider::QAbstractTextureProvider(Target target, QNode *parent)
d_func()->m_target = target;
}
-QAbstractTextureProvider::QAbstractTextureProvider(QAbstractTextureProvider::Target target, QAbstractTextureProvider::TextureFormat format,
- int width, int height, int depth, bool mipMaps,
- QAbstractTextureProvider::Filter magnificationFilter, QAbstractTextureProvider::Filter minificationFilter,
- float maximumAnisotropy,
- QAbstractTextureProvider::ComparisonFunction comparisonFunction,
- QAbstractTextureProvider::ComparisonMode comparisonMode,
- QNode *parent)
- : QNode(*new QAbstractTextureProviderPrivate(this), parent)
-{
- d_func()->m_target = target;
- d_func()->m_format = format;
- d_func()->m_width = width;
- d_func()->m_height = height;
- d_func()->m_depth = depth;
- d_func()->m_autoMipMap = mipMaps;
- d_func()->m_magFilter = magnificationFilter;
- d_func()->m_minFilter = minificationFilter;
- d_func()->m_maximumAnisotropy = maximumAnisotropy;
- d_func()->m_comparisonFunction = comparisonFunction;
- d_func()->m_comparisonMode = comparisonMode;
-}
-
QAbstractTextureProvider::QAbstractTextureProvider(QAbstractTextureProviderPrivate &dd, QNode *parent)
: QNode(dd, parent)
{
diff --git a/src/render/frontend/qabstracttextureprovider.h b/src/render/frontend/qabstracttextureprovider.h
index 5d2bb4a92..85a38d6ab 100644
--- a/src/render/frontend/qabstracttextureprovider.h
+++ b/src/render/frontend/qabstracttextureprovider.h
@@ -251,12 +251,6 @@ public:
// Those will be made protected to only allow creation of a QAbstractTextureProvider through subclasses
explicit QAbstractTextureProvider(Target target, QNode *parent = 0);
- explicit QAbstractTextureProvider(Target target, TextureFormat format, int width, int height = 1, int depth = 1,
- bool mipMaps = false, Filter magnificationFilter = Nearest, Filter minificationFilter = Nearest,
- float maximumAnisotropy = 1.0f,
- ComparisonFunction comparisonFunction = CompareLessEqual,
- ComparisonMode comparisonMode = CompareNone,
- QNode *parent = 0);
~QAbstractTextureProvider();
diff --git a/src/render/frontend/qtexture.h b/src/render/frontend/qtexture.h
index 73a7005f6..6da0e53d3 100644
--- a/src/render/frontend/qtexture.h
+++ b/src/render/frontend/qtexture.h
@@ -45,7 +45,7 @@
#include <QOpenGLTexture>
#include <Qt3DRenderer/texturedata.h>
#include <Qt3DRenderer/qwrapmode.h>
-#include <Qt3DRenderer/qabstracttextureprovider.h>
+#include <Qt3DRenderer/qtextureproviders.h>
#include <Qt3DRenderer/qtextureimage.h>
#endif // QT3D_QTEXTURE_H
diff --git a/src/render/frontend/qtextureproviders.cpp b/src/render/frontend/qtextureproviders.cpp
new file mode 100644
index 000000000..ba8d61c47
--- /dev/null
+++ b/src/render/frontend/qtextureproviders.cpp
@@ -0,0 +1,251 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qtextureproviders.h"
+
+QT_BEGIN_NAMESPACE
+
+namespace Qt3D {
+
+/*!
+ \class QT3D::QTexture1D
+ \since 5.5
+ \brief A QAbstractTextureProvider with a Target1D target format.
+ */
+
+/*!
+ Constructs a new Qt3D::QTexture1D instance with \a parent as parent.
+ */
+QTexture1D::QTexture1D(QNode *parent)
+ : QAbstractTextureProvider(Target1D, parent)
+{
+}
+
+QTexture1D::~QTexture1D()
+{
+}
+
+/*!
+ \class QT3D::QTexture1DArray
+ \since 5.5
+ \brief A QAbstractTextureProvider with a Target1DArray target format.
+ */
+
+/*!
+ Constructs a new Qt3D::QTexture1DArray instance with \a parent as parent.
+ */
+QTexture1DArray::QTexture1DArray(QNode *parent)
+ : QAbstractTextureProvider(Target1DArray, parent)
+{
+}
+
+QTexture1DArray::~QTexture1DArray()
+{
+}
+
+/*!
+ \class QT3D::QTexture2D
+ \since 5.5
+ \brief A QAbstractTextureProvider with a Target2D target format.
+ */
+
+/*!
+ Constructs a new Qt3D::QTexture2D instance with \a parent as parent.
+ */
+QTexture2D::QTexture2D(QNode *parent)
+ : QAbstractTextureProvider(Target2D, parent)
+{
+}
+
+QTexture2D::~QTexture2D()
+{
+}
+
+/*!
+ \class QT3D::QTexture2DArray
+ \since 5.5
+ \brief A QAbstractTextureProvider with a Target2DArray target format.
+ */
+
+/*!
+ Constructs a new Qt3D::QTexture2DArray instance with \a parent as parent.
+ */
+QTexture2DArray::QTexture2DArray(QNode *parent)
+ : QAbstractTextureProvider(Target2DArray, parent)
+{
+}
+
+QTexture2DArray::~QTexture2DArray()
+{
+}
+
+
+/*!
+ \class QT3D::QTexture3D
+ \since 5.5
+ \brief A QAbstractTextureProvider with a Target3D target format.
+ */
+
+/*!
+ Constructs a new Qt3D::QTexture3D instance with \a parent as parent.
+ */
+QTexture3D::QTexture3D(QNode *parent)
+ : QAbstractTextureProvider(Target2D, parent)
+{
+}
+
+QTexture3D::~QTexture3D()
+{
+}
+
+/*!
+ \class QT3D::QTextureCubeMap
+ \since 5.5
+ \brief A QAbstractTextureProvider with a TargetCubeMap target format.
+ */
+
+/*!
+ Constructs a new Qt3D::QTextureCubeMap instance with \a parent as parent.
+ */
+QTextureCubeMap::QTextureCubeMap(QNode *parent)
+ : QAbstractTextureProvider(TargetCubeMap, parent)
+{
+}
+
+QTextureCubeMap::~QTextureCubeMap()
+{
+}
+
+/*!
+ \class QT3D::QTextureCubeMapArray
+ \since 5.5
+ \brief A QAbstractTextureProvider with a TargetCubeMapArray target format.
+ */
+
+/*!
+ Constructs a new Qt3D::QTextureCubeMapArray instance with \a parent as parent.
+ */
+QTextureCubeMapArray::QTextureCubeMapArray(QNode *parent)
+ : QAbstractTextureProvider(TargetCubeMapArray, parent)
+{
+}
+
+QTextureCubeMapArray::~QTextureCubeMapArray()
+{
+}
+
+/*!
+ \class QT3D::QTexture2DMultisample
+ \since 5.5
+ \brief A QAbstractTextureProvider with a Target2DMultisample target format.
+ */
+
+/*!
+ Constructs a new Qt3D::QTexture2DMultisample instance with \a parent as parent.
+ */
+QTexture2DMultisample::QTexture2DMultisample(QNode *parent)
+ : QAbstractTextureProvider(Target2DMultisample, parent)
+{
+}
+
+QTexture2DMultisample::~QTexture2DMultisample()
+{
+}
+
+/*!
+ \class QT3D::QTexture2DMultisampleArray
+ \since 5.5
+ \brief A QAbstractTextureProvider with a Target2DMultisampleArray target format.
+ */
+
+/*!
+ Constructs a new Qt3D::QTexture2DMultisampleArray instance with \a parent as parent.
+ */
+QTexture2DMultisampleArray::QTexture2DMultisampleArray(QNode *parent)
+ : QAbstractTextureProvider(Target2DMultisampleArray, parent)
+{
+}
+
+QTexture2DMultisampleArray::~QTexture2DMultisampleArray()
+{
+}
+
+/*!
+ \class QT3D::QTextureRectangle
+ \since 5.5
+ \brief A QAbstractTextureProvider with a TargetRectangle target format.
+ */
+
+/*!
+ Constructs a new Qt3D::QTextureRectangle instance with \a parent as parent.
+ */
+QTextureRectangle::QTextureRectangle(QNode *parent)
+ : QAbstractTextureProvider(TargetRectangle, parent)
+{
+}
+
+QTextureRectangle::~QTextureRectangle()
+{
+}
+
+/*!
+ \class QT3D::QTextureBuffer
+ \since 5.5
+ \brief A QAbstractTextureProvider with a TargetBuffer target format.
+ */
+
+/*!
+ Constructs a new Qt3D::QTextureBuffer instance with \a parent as parent.
+ */
+QTextureBuffer::QTextureBuffer(QNode *parent)
+ : QAbstractTextureProvider(TargetBuffer, parent)
+{
+}
+
+QTextureBuffer::~QTextureBuffer()
+{
+}
+
+} // Qt3D
+
+QT_END_NAMESPACE
+
+
diff --git a/src/render/frontend/qtextureproviders.h b/src/render/frontend/qtextureproviders.h
new file mode 100644
index 000000000..7b9541b58
--- /dev/null
+++ b/src/render/frontend/qtextureproviders.h
@@ -0,0 +1,143 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QT3D_QTEXTUREPROVIDERS_H
+#define QT3D_QTEXTUREPROVIDERS_H
+
+#include <Qt3DRenderer/qabstracttextureprovider.h>
+
+QT_BEGIN_NAMESPACE
+
+namespace Qt3D {
+
+class QT3DRENDERERSHARED_EXPORT QTexture1D : public QAbstractTextureProvider
+{
+ Q_OBJECT
+public:
+ explicit QTexture1D(Qt3D::QNode *parent = 0);
+ ~QTexture1D();
+};
+
+class QT3DRENDERERSHARED_EXPORT QTexture1DArray : public QAbstractTextureProvider
+{
+ Q_OBJECT
+public:
+ explicit QTexture1DArray(Qt3D::QNode *parent = 0);
+ ~QTexture1DArray();
+};
+
+class QT3DRENDERERSHARED_EXPORT QTexture2D : public QAbstractTextureProvider
+{
+ Q_OBJECT
+public:
+ explicit QTexture2D(Qt3D::QNode *parent = 0);
+ ~QTexture2D();
+};
+
+class QT3DRENDERERSHARED_EXPORT QTexture2DArray : public QAbstractTextureProvider
+{
+ Q_OBJECT
+public:
+ explicit QTexture2DArray(Qt3D::QNode *parent = 0);
+ ~QTexture2DArray();
+};
+
+class QT3DRENDERERSHARED_EXPORT QTexture3D : public QAbstractTextureProvider
+{
+ Q_OBJECT
+public:
+ explicit QTexture3D(Qt3D::QNode *parent = 0);
+ ~QTexture3D();
+};
+
+class QT3DRENDERERSHARED_EXPORT QTextureCubeMap : public QAbstractTextureProvider
+{
+ Q_OBJECT
+public:
+ explicit QTextureCubeMap(Qt3D::QNode *parent = 0);
+ ~QTextureCubeMap();
+};
+
+class QT3DRENDERERSHARED_EXPORT QTextureCubeMapArray : public QAbstractTextureProvider
+{
+ Q_OBJECT
+public:
+ explicit QTextureCubeMapArray(Qt3D::QNode *parent = 0);
+ ~QTextureCubeMapArray();
+};
+
+class QT3DRENDERERSHARED_EXPORT QTexture2DMultisample : public QAbstractTextureProvider
+{
+ Q_OBJECT
+public:
+ explicit QTexture2DMultisample(Qt3D::QNode *parent = 0);
+ ~QTexture2DMultisample();
+};
+
+class QT3DRENDERERSHARED_EXPORT QTexture2DMultisampleArray : public QAbstractTextureProvider
+{
+ Q_OBJECT
+public:
+ explicit QTexture2DMultisampleArray(Qt3D::QNode *parent = 0);
+ ~QTexture2DMultisampleArray();
+};
+
+class QT3DRENDERERSHARED_EXPORT QTextureRectangle : public QAbstractTextureProvider
+{
+ Q_OBJECT
+public:
+ explicit QTextureRectangle(Qt3D::QNode *parent = 0);
+ ~QTextureRectangle();
+};
+
+class QT3DRENDERERSHARED_EXPORT QTextureBuffer : public QAbstractTextureProvider
+{
+ Q_OBJECT
+public:
+ explicit QTextureBuffer(Qt3D::QNode *parent = 0);
+ ~QTextureBuffer();
+};
+
+} // Qt3D
+
+QT_END_NAMESPACE
+
+#endif // QT3D_QTEXTUREPROVIDERS_H
diff --git a/src/render/frontend/render-frontend.pri b/src/render/frontend/render-frontend.pri
index e9da27adc..34e8249bd 100644
--- a/src/render/frontend/render-frontend.pri
+++ b/src/render/frontend/render-frontend.pri
@@ -73,7 +73,8 @@ HEADERS += \
$$PWD/qwrapmode.h \
$$PWD/qabstracttextureimage.h \
$$PWD/qabstracttextureimage_p.h \
- $$PWD/qtextureimage.h
+ $$PWD/qtextureimage.h \
+ $$PWD/qtextureproviders.h
SOURCES += \
$$PWD/qmaterial.cpp \
@@ -121,4 +122,5 @@ SOURCES += \
$$PWD/qabstracttextureprovider.cpp \
$$PWD/qwrapmode.cpp \
$$PWD/qabstracttextureimage.cpp \
- $$PWD/qtextureimage.cpp
+ $$PWD/qtextureimage.cpp \
+ $$PWD/qtextureproviders.cpp