diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2015-01-23 16:22:00 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2015-08-07 00:11:31 +0000 |
commit | c2f6f37699296557c5d79ae750e0ce91647de2ee (patch) | |
tree | 6c140186656c46d5e8584d48772f70e78d04806c /src/quick3d/imports/render/qt3dquick3drendererplugin.cpp | |
parent | ce69c98f6954ef2c8806bc44a457a58e4202d751 (diff) |
New Buffer API Frontend Classes
- Switch QAbstractAttribute and QAbstractBuffer to QNode subclasses
- Get rid of all shared pointer when dealing with these (needed to expose to
QML and use the QObject ownership)
- Introduce QGeometryRender, QGeometry, QAttributeProvider,
QAttributeAggregator.
A QMesh component now is:
a QGeometryRenderer which specifies its QGeometry.
The QGeometry refererences n attributes. Each attribute references a QAbstractBuffer.
Change-Id: I49a10c11a605e5fe7c180af86a404f622e763f48
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/quick3d/imports/render/qt3dquick3drendererplugin.cpp')
-rw-r--r-- | src/quick3d/imports/render/qt3dquick3drendererplugin.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/quick3d/imports/render/qt3dquick3drendererplugin.cpp b/src/quick3d/imports/render/qt3dquick3drendererplugin.cpp index d9c2dff3a..bb3fd8bd2 100644 --- a/src/quick3d/imports/render/qt3dquick3drendererplugin.cpp +++ b/src/quick3d/imports/render/qt3dquick3drendererplugin.cpp @@ -91,6 +91,10 @@ #include <Qt3DRenderer/qstencilop.h> #include <Qt3DRenderer/qstencilopseparate.h> #include <Qt3DRenderer/qstencilmask.h> +#include <Qt3DRenderer/qattribute.h> +#include <Qt3DRenderer/qbuffer.h> +#include <Qt3DRenderer/qgeometry.h> +#include <Qt3DRenderer/qgeometryrenderer.h> #include <Qt3DQuickRenderer/quick3dtechnique.h> #include <Qt3DQuickRenderer/quick3dmaterial.h> #include <Qt3DQuickRenderer/quick3dtechniquefilter.h> @@ -108,6 +112,7 @@ #include <Qt3DQuickRenderer/quick3dshaderdataarray.h> #include <Qt3DQuickRenderer/quick3dstateset.h> #include <Qt3DQuickRenderer/quick3drendertargetselector.h> +#include <Qt3DQuickRenderer/quick3dgeometry.h> static void initResources() { @@ -190,6 +195,14 @@ void Qt3DQuick3DRendererPlugin::registerTypes(const char *uri) qmlRegisterUncreatableType<Qt3D::QAbstractTextureImage>(uri, 2, 0, "QAbstractTextureImage", QStringLiteral("QAbstractTextureImage is abstract")); qmlRegisterType<Qt3D::QTextureImage>(uri, 2, 0, "TextureImage"); + // Geometry + qmlRegisterUncreatableType<Qt3D::QAbstractAttribute>(uri, 2, 0, "QAbstractAttribute", QStringLiteral("QAbstractAttribute is abstract")); + qmlRegisterUncreatableType<Qt3D::QAbstractBuffer>(uri, 2, 0, "QAbstractBuffer", QStringLiteral("QAbstractBuffer is abstract")); + qmlRegisterType<Qt3D::QAttribute>(uri, 2, 0, "Attribute"); + qmlRegisterType<Qt3D::QBuffer>(uri, 2, 0, "Buffer"); + qmlRegisterExtendedType<Qt3D::QGeometry, Qt3D::Render::Quick::Quick3DGeometry>(uri, 2, 0, "Geometry"); + qmlRegisterType<Qt3D::QGeometryRenderer>(uri, 2, 0, "GeometryRenderer"); + // Meshes qmlRegisterUncreatableType<Qt3D::QAbstractMesh>(uri, 2, 0, "QAbstractMesh", QStringLiteral("QAbstractMesh is abstract")); qmlRegisterType<Qt3D::QMesh>(uri, 2, 0, "Mesh"); |