summaryrefslogtreecommitdiffstats
path: root/examples/qt3d/tank/quadplane.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/qt3d/tank/quadplane.cpp')
-rw-r--r--examples/qt3d/tank/quadplane.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/examples/qt3d/tank/quadplane.cpp b/examples/qt3d/tank/quadplane.cpp
index 16b416da1..16935c912 100644
--- a/examples/qt3d/tank/quadplane.cpp
+++ b/examples/qt3d/tank/quadplane.cpp
@@ -70,6 +70,7 @@ QGLMaterial *qCreateFloor()
QuadPlane::QuadPlane(QObject *parent, QSizeF size, int level)
: QGLSceneNode(parent)
+ , m_texture(0)
{
setObjectName("QuadPlane");
if (level > 8)
@@ -102,9 +103,18 @@ QuadPlane::QuadPlane(QObject *parent, QSizeF size, int level)
}
QGLSceneNode *n = builder.finalizedSceneNode();
addNode(n);
- n->setMaterial(qCreateFloor());
+ QGLMaterial *mat = qCreateFloor();
+ m_texture = mat->texture();
+ n->setMaterial(mat);
QGraphicsRotation3D *rot = new QGraphicsRotation3D(n);
rot->setAxis(QVector3D(1, 0, 0));
rot->setAngle(90.0f);
n->addTransform(rot);
}
+
+QuadPlane::~QuadPlane()
+{
+ if (m_texture)
+ m_texture->cleanupResources();
+}
+