summaryrefslogtreecommitdiffstats
path: root/examples/qt3d/tank/tank.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/qt3d/tank/tank.cpp')
-rw-r--r--examples/qt3d/tank/tank.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/examples/qt3d/tank/tank.cpp b/examples/qt3d/tank/tank.cpp
index b4e055652..f10daee42 100644
--- a/examples/qt3d/tank/tank.cpp
+++ b/examples/qt3d/tank/tank.cpp
@@ -87,8 +87,9 @@ static QGLMaterial *qCreateFluid()
return mat;
}
-Tank::Tank(QObject *parent) :
- QGLSceneNode(parent)
+Tank::Tank(QObject *parent)
+ : QGLSceneNode(parent)
+ , m_texture(0)
{
QSequentialAnimationGroup *seq = new QSequentialAnimationGroup(this);
QGraphicsScale3D *scale = new QGraphicsScale3D(this);
@@ -110,7 +111,16 @@ Tank::Tank(QObject *parent) :
seq->start();
addNode(tankObject());
- setMaterial(qCreateFluid());
+
+ QGLMaterial *mat = qCreateFluid();
+ m_texture = mat->texture();
+ setMaterial(mat);
+}
+
+Tank::~Tank()
+{
+ if (m_texture)
+ m_texture->cleanupResources();
}
QGLSceneNode *Tank::tankObject()