diff options
Diffstat (limited to 'examples/qt3d/tank/tank.cpp')
-rw-r--r-- | examples/qt3d/tank/tank.cpp | 16 |
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() |